Linux自学之基础命令总结

作者: 第乄元素 | 来源:发表于2017-06-19 14:27 被阅读0次

    现在的主流Linux发行版中,默认使用Bash解释器作为Shell终端,而Bash作为主流Linux系统的Shell解释器具有相当大的优势。
    1.可以使用方向键的上下键调取过去执行的命令;
    2.可以使用Tab补全功能,即手动打出前几个字母,若以此字符串进行查询只有一个命令或文件匹配,则补全此命令或文件名;若以此字符串查询有多个命令或文件,则显示查询到的命令列表或文件列表;
    3.可以使用glob通配符功能:

    *:任意个任意字符;
    ?:单个任意字符;
    [list]:匹配list中的任意字符;
    [!list]:不匹配list中的任意字符;
    [c1-c2]:匹配c1-c2中的任意单个字符,如[0-9],[a-z];
    {string1,string2,...}:匹配{}中的任意一个字符串;
    {c1..c2}:匹配c1-c2的全部字符,如{1..10};

    4.可以自定义环境变量以满足需求;
    5.强大的批处理脚本;

    帮助命令

    作为自学者,首先需要学会的就是能看懂每个命令的帮助文档,那么第一个需要掌握的Linux命令就应该是man。

    man命令

    Linux下的帮助指令,通过man命令可以查看Linux中的命令帮助,配置文件帮助和编程帮助等信息。
    语法:
    man [options...]
    常用选项:
    -a:在所有的man手册中搜索;
    -f: 等价于whatis,显示给定关键字的简短信息;
    -M:指定man手册搜索的路径;
    -#:指定从#号man手册中进行搜索;
    例如:

    man ls
    man 8 ifconfig
    man -f sleep

    区段 说明
    1 一般命令
    2 系统调用
    3 库函数,包括C标准库
    4 特殊文件和驱动程序
    5 文件格式和约定
    6 游戏和屏保
    7 杂项
    8 系统管理命令和进程

    系统相关命令

    echo命令

    在终端上显示字符串或变量提取出来的值。
    语法:
    echo [options...] [$variable|string]
    例如:

    echo "Hello Linux"
    echo $PATH

    date命令

    显示或设置Linux系统时间与日期。
    语法:
    date [options...] [+dateformat]
    常用选项:
    -d<字符串>:显示字符串所指的时间与日期;
    -s<字符串>:根据字符串设置系统时间与日期;
    --help:在线帮助;
    常用日期格式:
    %H:小时,24小时制(00-23)
    %I:小时,12小时制(01-12)
    %M:分钟,(00-59)
    %S:秒钟,(00-59)
    %p:显示am或pm
    %Y:完整年份
    %y:两位年份
    %m:月份
    %d:一个月的第几天(00-31)
    %Z:显示时区
    %B:完整月份(January-December)
    %b:缩写月份(Jan-Dec)
    %A:完整星期几(Sunday- Saturday)
    %a:缩写星期几(Sun-Sat)
    %j:一年的第几天(001-365)
    %W:一年的第几个星期(00-53)
    %w:一个星期的第几天(0代表星期天)
    %X:显示的时间格式相当于%H:%M:%S
    %F:相当于%Y:%m:%d
    %T:24小时制hh:mm:ss
    例如:

    date -d "1 day ago" +"%Y:%m:%d"(显示一天前的日期)
    date -d "2017-06-18" +"%Y/%m/%d %H:%M:%S"(日期格式转换,结果为:2017/06/18 00:00:00)
    date -s "2020-01-01 00:00:00" (设置系统全部时间)

    ps命令

    查看当前系统的进程状态。
    常用选项:
    -a:显示所有进程;
    -u:用户以及其他信息;
    -x:显示所有程序,不以终端机区分;

    Linux进程常见的状态

    R:运行,正在运行的进程;
    S:中断,可中断的睡眠进程;
    U:不可中断,不可中断的睡眠进程;
    Z:僵死,进程已终止,但父进程未询问其状态情况;
    T:停止,当进程收到SIGSTOP,SIGTIN,SIGTSTP,SIGTOU信号时,停止运行;

    kill命令

    根据指定进程号来删除执行中的程序或工作。
    常用选项:
    -l:列出所有的kill可发送的信号
    -s:指定要发送的信号
    例如:
    使用ps查询相应的进程,并使用kill结束进程

    ps | grep vim
    kill 3268

    killall命令

    根据指定进程名杀死进程,此命令可杀死跟指定进程相关的所有进程。
    常用选项:
    -i:交互式杀死进程,对每个要杀死的进程进行询问;
    -s:指定要发送的信号
    例如:

    killall vim

    poweroff命令

    用于系统关机。

    reboot命令

    用于系统重启。

    目录和文件相关命令

    pwd命令

    以绝对路径的形式显示用户当前的工作目录。

    mkdir命令

    用来创建目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。在创建目录时,应保证新建的目录与它所在目录下的文件没有重名。
    常用选项:
    -p:递归创建目录
    例如:

    mkdir -p a/b/c

    ls命令

    用来显示目标列表。Linux中最常用的命令之一。
    语法:
    ls [options...] file
    常用选项:
    -a:显示所有文件,包括隐藏文件;
    -l:以长格式显示目录下的文件列表,输出的信息从左到右代表的依次为:文件类型,权限模式,硬连接数,属主,属组,文件大小,文件最后修改时间,文件名;
    例如:

    ls -la root(以长格式显示root目录下所有文件列表)

    cd命令

    切换用户的工作目录至指定目录。cd -为Linux中最常用的命令之一。
    语法:
    cd [options...] dir
    常见选项:
    -:当前工作目录将被切换到环境变量"OLDPWD"所表示的工作目录中;
    例如:

    cd(进入当前用户的家目录)
    cd -(进入上一个工作目录)
    cd !$(将上一个命令的参数作为cd的参数使用)

    mv命令

    用来移动文件或对文件进行重命名
    语法:
    mv [options...] source target
    例如:

    mv /etc/fstab /etc/fstab.bak(将etc目录下的fstab文件进行重命名为fstab.bak)
    mv /etc/fstab /tmp(将etc目录下的fstab文件移动到tmp目录下)

    cp命令

    将指定文件复制到指定目录中。(若源文件有多个文件,则目标文件必须是目录)
    常用选项:
    -r/R:递归出来,源文件为目录时使用;
    -f:强制复制;
    -v:显示详细信息;
    例如:

    cp /etc/fstab /tmp(将fstab文件复制到tmp目录下)
    cp /etc/* /tmp/etc.bak/(将etc目录下所有文件复制到tmp的etc.bak目录下)

    tree命令

    以树状形式显示目录结构

    touch命令

    用于创建新文件或设置文件的时间戳。
    常用选项:
    -a:仅修改文件的“访问时间”(atime)
    -m:仅修改文件的“修改时间”(mtime)

    tar命令

    用于文件的打包和压缩。
    常用选项:
    -c:创建新的备份文件;
    -x:从备份文件中还原文件;
    -f:指定备份文件;
    -v:显示文件打包或还原详细过程;
    -z:使用gzip程序对文件进行压缩或解压;
    -j:使用bzip2程序对文件进行压缩或解压;
    -t:列出备份文件中的文件列表;
    例如:

    tar -cvf log.tar log.log(仅打包,不压缩)
    tar -zcvf log.tar.gz log.log(打包后使用gzip工具进行压缩)
    tar -jcvf log.tar.bz log.log (打包后使用bzip2工具进行压缩)
    tar -zxvf log.tar.gz (解压缩)
    tar -ztvf log.tar.gz(查询log.tar.gz中所包含的所有文件列表)

    其他压缩工具:
    gzip,bzip2,zip
    对应的解压缩工具:
    gunzip,bunzip2,unzip

    grep命令

    global search regular and print out the line
    强大的文本搜索工具,可以使用标准正则表达式,并把匹配的行打印出来。
    语法:
    grep [options] match_pattern file
    常用选项:
    -n:不仅显示所匹配的行,而且显示所匹配的行号;
    -v:反转查找;
    -i:忽略字符大小写;
    -o:只显示匹配到的字符;
    --color=auto:查询到的字符颜色高亮显示;
    -e:使用扩展正则表达式进行搜索;
    例如:

    grep /sbin/nologin /etc/passwd(显示默认bin为/sbin/nologin的所有用户信息)
    grep -v /sbin/nologin /etc/paswd(显示默认bin不是/sbin/nologin的所有用户信息)

    find命令

    用于在指定目录下查找文件。
    -name:匹配文件名;
    -perm:匹配权限;
    -user:匹配属主;
    -group:匹配属组;
    -atime [-n|+n]:匹配访问时间,“-”代表n天以内,“+”代表n天以前;
    -mtime [-n|+n]:匹配修改时间,“-”代表n天以内,“+”代表n天以前;
    --type :匹配文件类型;
    -exec {} ;:若find命令执行返回true,这执行该命令,{}代表find命令搜索到的所有文件,结尾;为固定形式;
    例如:

    find /home -name "*.txt"(搜索home目录下所有的txt文件)
    find . -type f -atime -7(搜索7天内被访问过的所有文件)
    find . -user root -type f(搜索属主为root的所有文件)
    find . -type f -mtime +30 -name "*.log" -exec cp {} old ;(将30天前的.log文件移动到old目录中)

    相关文章

      网友评论

        本文标题:Linux自学之基础命令总结

        本文链接:https://www.haomeiwen.com/subject/spjifxtx.html