zoukankan      html  css  js  c++  java
  • linux 常用命令


    基础指令

    ls命令

    ls [选项]【路径】
    ls -l	 详细地显示文件/文件夹(缩写为ll)
    ls -la	显示包括隐藏文件的文件/文件夹
    ls -lh 路径	显示指定路径下所有文件/文件夹,文档大小以可读性较高的形式显示
    

    pwd命令

    语法: #pwd

    显示当前所在的路径

    mkdir rmdir 创建、删除目录

    语法:#mkdir 目录名

    touch 创建文件

    语法:#touch 文件路径

    cp 复制

    语法:#cp 被复制的文件路径 文件要复制到的路径(可更改文件名称)

    mv 移动 剪切

    语法:#mv 原文件路径 要移动到的目标路径(可更改文件名称)

    rm 删除命令

    语法:#rm 选项 要删除的文件路径
    作用:带询问的删除文件(不能删除非空目录)
    选项:
    rm -f 强制(force)删除,不带询问的删除
    rm -r 递归删除(用于删除目录)
    rm -rf 合并上述两个功能

    ‘ * ’ 通配符

    vi vim编辑器

    文件编辑器

    vi既可以查看文件也可以编辑文件。 三种模式:命令行、插入、底行模式。
    切换到命令行模式:按Esc键;
    切换到插入模式:按 i 、a、o键;
        i 在当前位置生前插入
        I 在当前行首插入
        a 在当前位置后插入
        A 在当前行尾插入
        o 在当前行之后插入一行
        O 在当前行之前插入一行
    
    切换到底行模式:按 :(冒号)
    
    打开文件:vim file
    退出:esc  :q
    修改文件:输入i进入插入模式
    保存并退出:esc:wq
    
    不保存退出:esc:q!
    
    ------------------------------删除---------------------------------
    dd	删除游标所在的那一整行(常用)
    ndd	n为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用)
    dG	删除光标所在到最后一行的所有数据
    d$	删除游标所在处,到该行的最后一个字符
    
    ------------------------------移动光标---------------------------------
    0 	或功能键[Home]	这是数字『 0 』:移动到这一行的最前面字符处 (常用)
    $ 	或功能键[End]	移动到这一行的最后面字符处(常用)
    gg	移动到这个档案的第一行,相当于 1G 啊! (常用)
    G	移动到这个档案的最后一行(常用)
    
    
    ------------------------------查找和替换---------------------------------
    /word	向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
    ?word	向光标之上寻找一个字符串名称为 word 的字符串。
    
    :1,$s/word1/word2/g 或 
    :%s/word1/word2/g	从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
    
    

    > 输出重定向

    语法:#正常执行指令 > / >> 文件路径

    例:#ls -la > 1.txt 将#ls -la指令显示的内容,输出到1.txt文件中

    ( > ) 覆盖输出到文件中

    ( >> ) 追加输出到文件中

    cat 指令

    作用1:直接打开一个文件

    语法:#cat 文件路径

    作用2:合并多个文件

    语法:#cat 文件1 文件2 ... > 合并后的文件路径

    tar 指令

    tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。
    

    常用参数:

    -c:创建一个新tar文件

    -v:显示运行过程的信息

    -f:指定文件名

    -z:调用gzip压缩命令进行压缩

    -t:查看压缩文件的内容

    -x:解开tar文件

    打包:
    	tar –cvf xxx.tar ./*
    打包并且压缩:
    	tar –zcvf xxx.tar.gz ./* 
    
    解压 
         tar –xvf xxx.tar
         tar -xvf xxx.tar.gz -C /usr/aaa
    
    

    进阶指令

    df 查看磁盘空间

    语法:#df -h -h表示以可读性较高的形式显示

    free 查看内存使用情况

    语法:#free -m -m表示以MB为单位显示(可使用 -k )

    head 指令 : 查看文件的前n行

    head 语法:#head -n 文件路径 (查看文件的前n行,若n不指定,默认为10行)

    tail 指令:查看文件的后n行

    • 语法1:#tail -n 文件路径 (查看文件的后n行,若n不指定,默认为10行)

      tail -10 /etc/passwd 查看后10行数据

    • 语法2:#tail -f 文件路径(查看指定文件的动态变化,用于查看日志,q键退出

      tail -f catalina.log 动态查看日志(***********)

    less 查阅指令

    作用:查看文件,以较少内容输出,以按下辅助功(数字+回车、空格键、方向键)能键查看更多

    语法:#less 查看的文件路径

    q退出

    wc 统计文件内容信息

    统计的信息包括 行数、单词数、字节数
    语法:#wc  -lwc  需要统计的文件路径
    	-l	表示lines,行数
    	-w	表示words,单词数
    	-c	表示character,字符数
    

    date 日期指令

    作用:操作时间和日期(读取、设置)

    • 语法1:#date
    • 语法2:#date +%F(输出形式:2019-12-10)
    • 语法2:#date “+%F %T”(输出形式:2019-12-10 15:45:33
    • 等同于语法2:#date “+%Y%m%d %H%M%S”(输出形式:2019-12-10 15:45:33)

    %F:表示完整的年月日

    %T:表示完整的时分秒

    %Y:表示四位的年份

    %y:表示两位的年份

    %m:表示月份

    %d:表示日期

    %H:表示小时

    %M:表示分钟

    %S:表示秒

    cal 日历指令

    • 语法1:#cal 等价于#cal -1 输出当月日历
    • 语法2:#cal -3 输出上个月、本月、下个月的日历语法3:#cal -y 指定年份输出指定年份的日历

    管道 |(重要)

    **管道符 | **

    grep 过滤

    管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入

    示例
    #ls --help | more  分页查询帮助信息
    
    #ps –ef | grep java  查询名称中包含java的进程
    
    #cat 路径 | less
    
    

    高级指令

    hostname 指令

    作用:操作服务器的主机名

    语法1:#hostname		输出完整的主机名
    语法2:#hostname -f	输出当前主机名中的FQDN(全限定域名)
    

    id 指令

    作用:查看用户的基本信息(用户id,用户组id,附加组id ...)

    语法:#hostname [用户名]

    用户信息在文件:/etc/passwd

    用户组信息在文件:/etc/group

    who 指令

    作用:显示当前登录的用户名,一般用于shell脚本

    语法:#who 或者 #whoami

    ps -ef 查看服务器指令

    指令:ps [选项]

    作用:用于查看服务器的进程信息

    选项含义:

    -e:列出全部进程
    
    -f :显示全部的列
    
    案例:在ps的结果中过滤出想要查看的进程
    #ps -ef | grep 进程名称
    

    top 指令

    作用:动态显示服务器进程所占的资源

    语法:#top

    q键退出

    在运行top时,可按快捷键友好显示

    M:表示将结果按照内存(MEM)降序排列

    P:表示将结果按照CPU使用率降序排列

    1:当服务器有多个CUP时使用“1”快捷键切换展示各个CPU的详细信息

    du -sh 显示目录大小

    显示目录的真实大小

    语法:#du -sh 目录路径

    选项含义:

    • -s :只显示汇总大小
    • -h:以较高可读性的形式进行显示

    find 查找

    作用:搜索文件

    语法:#find 路径范围 选项 选项的值

    选项含义:

    • -name:按照文档名称进行搜索(支持模糊搜索)
    • -type:按照文档的类型进行搜索
      • 文档类型:“-”表示文件(在使用find时要使用f来替换),“d”表示文件夹
    案例1:搜索httpd.conf
    	#find / -name httpd.conf
    拓展:统计搜索后的数量
    	#find / -name httpd.conf | wc -l
    
    案例2:搜索etc目录下的所有conf后缀的文件
    	#find /etc -name *.conf
    	
    案例3:搜索/etc/sane.d/目录下的所有文件
    	#find /etc/sane.d/ -type f
    

    service 服务指令(重点)

    作用:用于控制一些软件的服务启动/停止/重启

    语法:#service 服务名 start / stop / restart

    kill 指令

    作用:杀死某一进程 (用于僵尸进程或者处于某些原因需要关闭进程的时候)

    • 语法1:#kill 进程名称PID ( 需配合ps一起使用)
    • 语法2:#killall 进程名称PID

    ifconfig 网络指令

    语法: #ifconfig 查看网络IP

    重启/关机命令

    - #shutdown -h now 	关闭系统(1) 
    - #init 0 		   关闭系统(2) 
    - #telinit 0 		关闭系统(3) 
    - #halt			关闭系统(4) 
    - #poweroff		关闭系统(5) 
    - #shutdown -r now 	重启(1) 
    - #reboot 			重启(2) 
    - #shutdown -h hours:minutes  定时关机 
    - #shutdown -c 或 Ctrl+c 	取消按预定时间关闭系统
    - #logout 			注销
    

    uptime 指令

    作用:输出计算机的持续在线时间(从开机到现在的时间)

    语法:#uptime

    uname 指令

    作用:获取操作系统的详细信息

    语法:#uname -a

    netstat -tnlp 指令

    作用:查看网络连接状态

    语法:#natstat -tnlp

    选项含义:

    • -t :表示只列出tcp协议的连接
    • -n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示
    • -l:表示过滤出“state(状态)”列中值为listen(监听)的连接
    • -p:表示显示发起连接的进程PID和进程名称

    man 查看命令

    作用:查看某个命令的描述和用法

    语法:#man 命令

    运行级别

    init 命令

    语法:#init [1-6]

    init的一个进程号为1的进程,存在一个与之对应的配置文件:/etc/inittab(系统运行级别配置文件)

    内容如下:

    0 —关机级别(不要将默认运行级别设置成这个值)

    1—单用户模式

    2—多用户模式(相当于3,但是没有网络)

    3—多用户模式(完整的)

    4—没有被使用的模式

    5—X11,完整的图形化界面模式

    6—表示重启级别(不要将默认运行级别设置成这个值)

    默认为3

    用户和用户组

    用户管理

    相关配置文件

    /etc/passwd 存储用户的关键信息

    /etc/group 存储用户组的关键信息

    /etc/shadow 存储用户的密码信息

    1、添加用户

    常用语法:#useradd 【选项】 用户名

    常用选项:
    	* -g:指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
    	* -G:指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
    	* -u:表示uid,用户唯一标识,系统会默认从500之后按顺序分配uid,若不想用系统分配的,可以通过该选项自定义
    	* -c:添加注释
    

    案例 :#useradd zhangsan

    1、系统会默认创建一个同名的家目录

    2、系统会默认创建一个同名的用户组

    2、修改用户

    语法:#usermod 【选项】 用户名

    常用选项:
    	* -g:指定用户的用户主组,选项的值可以是用户组的id,也可以是组名
    	* -G:指定用户的用户附加组,选项的值可以是用户组的id,也可以是组名
    	* -u:表示uid,用户唯一标识,系统会默认从500之后按顺序分配uid,若不想用系统分配的,可以通过该选项自定义
    	* -l:修改用户名
    

    3、设置/更改密码

    linux不允许没有密码的用户登录到系统,新创建而没有密码的用户都处于锁定状态,需要设置密码到才能登录计算机。

    语法:#passwd 用户名

    4、切换用户

    语法:#su 【用户名】

    不指定用户名则表示切换到root用户

    su --> switch user

    5、删除用户

    语法:#userdel -r 用户名

    选项含义:-r :表示删除用户的同时,删除其家目录

    小提示:已经在登录的用户不能被删除

    解决办法:简单粗暴,kill命令干掉用户对应的全部进程

    用户组管理

    每个用户都都有一个用户组,系统可以对一个用户组中的所欲用户进行集中管理。不同linux系统对用户组的规定有所不同,如Linux下的用户属于与他同名的用户组,这个用户组在创建用户时同时创建。

    用户组的管理涉及用户组的添加、删除和修改。组的添加、删除和修改实际上就是对/etc/group文件的更新。

    group文件的结构:

    用户组名:密码:用户组ID:组内用户

    1、用户组添加

    语法:#groupadd 【选项】 用户组名

    选项含义:-g:表示自己设置一个自定义的用户组ID数字,若不指定则默认从500开始递增

    2、用户组修改

    语法:#groupmod 【选项】 用户组名

    常用选项含义:

    • -g:表示自己设置一个自定义的用户组ID数字
    • -n:设置新的用户组名

    3、用户组删除

    语法:#groupdel 用户组名

    注意:当需要删除一个用户组,但该用户组是某个用户的主组时,不允许删除。应先移除组内所有用户

    网络设置

    网卡配置文件位置:/etc/sysconfig/network-scripts/

    • 重启网卡操作1:#service network restart

    并不是所有linux都有service命令来快速操作服务,但都有一个共性的目录:/etc/init.d/,这目录中存放着对服务的快捷方式

    • 重启网卡操作2:#/etc/init.d/network restart
    其他操作:
    ifconfig 查看IP
    
    ifconfig eth0 显示一个以太网卡的配置 
    
    ifup eth0 启用一个 'eth0' 网络设备 
    
    ifdown eth0 禁用一个 'eth0' 网络设备 
    

    软连接(#ln -s)

    如果经常需要操作一个文件,但是这个文件的目录层次很深,可以在浅的目录中创建一个软连接,方便以后操作。

    语法:#ln -s 深目录的文件路径 浅路径文件路径 连接名称

    SSH服务(重点)

    ssh(secure shell,安全外壳协议),该协议2个常用的作用:远程连接协议,远程文件传输协议。

    协议默认使用端口号:22

    配置文件位置:/etc/ssh/ssh_config

    端口号范围:0-65535

    服务的启动/停止/重启

    • 语法1:#service sshd start / stop / restart
    • 语法2:#/etc/init.d/sshd start / stop / restart

    文件权限

    三种权限:

    r(read) w(write) x(execute)
    4 2 1

    u:user,文件拥有者

    g:group,文件所在用户组

    o:others,文件其他用户

    a:all,所有用户,相当于ugo

    可用 +/- 添加/取消权限

    r:读权限,可用数字 4 表示

    w:写权限,可用数字 2 表示

    x:执行权限,可用数字 1 表示

    s:管理员权限

    1、更改文件的 rwx 权限

    语法1:#chmod 权限 文档路径

    例:

    chmod 755 a.txt 将a.txt权限改为755 ( -rwxr-xr-x )

    chmod o+r a.txt 增加其他用户对 a.txt 的读权限

    chmod u=rwx,g=rx,o=rx a.txt

    2、更改文件的所属的用户和组

    语法:#chown 【选项】 用户名:用户组名 文档路径

    例:chown zhangsan:admin a.txt 将a.txt文件更改为admin组的zhangsan用户所属

    常用选项:

    -R:变更目录时同时变更目录中的所有的子目录及文件的所属用户和组

    例:chwon -R lisi:admin dir 将dir目录以及里面的所有目录和文件都更改为admin组的lisi用户所属

    语法案例:

    chmod 变更文件或目录的权限。
    chmod 755 a.txt 
    chmod u=rwx,g=rx,o=rx a.txt
    chmod 777 a.txt chown 变更文件或目录改文件所属用户和组
    chown zs:admin a.txt	:变更当前的目录或文件的所属用户和组
    chown -R lisi:admin dir	:变更目录中的所有的子目录及文件的所属用户和组
    
    
  • 相关阅读:
    getopt( )和 getopt_long( )
    关于跳跃表 转
    进程控制块的存放和当前进程的确定
    BUAA_OO_2020_Unit1 Summary
    熟悉常用的Linux操作
    编译原理
    词法分析
    组合数据类型练习
    实验一 词法分析实验
    简化版C语言文法
  • 原文地址:https://www.cnblogs.com/luler/p/14542788.html
Copyright © 2011-2022 走看看