Linux系统常用命令及其使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统常用命令及其使用方法相关的知识,希望对你有一定的参考价值。

1.echo (printf)
        echo - display a line of text - 显示一行文本

        常用选项:
            -n:不换行;
            -e:使 "\"生效;(eg:\n:换行,\t:水平制表符)
        文本颜色标识方法:
            \033:代表Ctrl键
            [:控制字符和颜色代码之间的分隔符;
            所有颜色代码都需要使用m结尾;

    颜色代码:
        0:关闭颜色显示属性,恢复为黑白色;
        1:加粗显示文本字符;
        4:为文本字符添加下划线;
        5:是文本字符闪烁;
        7:将文本字符的背景颜色和前景颜色交换;
        8:将文本字符的背景颜色设置为与前景色相同;

        30-39:设置文本字符的前景色,38,39为保留,暂时未被使用;
        40-49:设置文本字符的背景色,48,49为保留,暂时未被使用;
    eg:~]# echo -e  "\033[1;31mboom\033[0m"

    2.cd
        Change the shell working directory - 切换工作目录

        cd /PATH/TO/SOMEDIR:将工作目录切换至参数所代表的目录;
        cd:将工作目录切换至当前登录用户的家目录;相当于cd ~;
        cd -:将工作目录切换至此前最后一次的工作目录;
        cd ~USERNAME:将工作目录切换至指定用户的家目录中;

    3.pwd
        Print the name of the current working directory - 输出当前工作目录
            shell提供了两个变量:PWD,OLDPWD
                PWD:当前工作目录
                OLDPWD:上一级工作目录
    4.ls
        ls - list directory contents - ;列表文件内容
        目录的内容即是文件名;

        常用选项:
            -a, --all:显示所有文件,包括隐藏文件;(在Linux的文件系统中,所有以"."作为文件名的起始字符的文件,都是隐藏文件)
            -A, --almost-all:显示除了"."和".."之外的所有文件,包括隐藏文件;
            --color[=WHEN]:以不同的颜色来显示查询结果;
            -h, --human-readable:在显示文件的大小的时候,显示为更加易读的格式;通常与-l选项一同使用;
            -l:使用长列表格式显示文件的详细属性;
                -rw-------.  1 root root    1458 12月 23 2016 anaconda-ks.cfg
                -:表示文件类型;
                rw-------:文件的权限位设置;
                .:表示该文件是否具有特殊属性或扩展属性;
                1:表示该文件被硬链接的次数;
                root:文件的属主(所有者)
                root:文件的属组
                1458:表示文件的大小,在没有使用-h选项时,其单位为字节;
                12月 23 2016:文件的时间戳之一,表示最后一次被修改的时间;
                anaconda-ks.cfg:文件名
                对于设备文件:
                    ~]# ls -l /dev/sr0
                    brw-rw----. 1 root cdrom 11, 0 9月  24 10:50 /dev/sr0
                    11, 0:major, minor
                    major:主设备号,用于标识设备类型,进而确定需要加载何种驱动程序;
                    minor:次设备号,用于标识同一种设备类型中的不同的设备;
                    设备号默认使用8位二进制表示,所以默认的设备号的范围是0-255;
            -r, --reverse:倒序输出结果
            -R, --recursive:递归显示,如果目标目录中有子目录,则递归显示子目录的内容,依次递归下去;
            -Z, --context:显示文件的SELinux安全上下文标签;

    5.mkdir
        mkdir - make directories - 创建新目录
        常用选项:
            -p, --parents:在创建目录的时候,如果其父目录不存在,则优先创建之;
            -v, --verbose:为每个被创建的目录显示一条信息;

    6.rm
        rm - remove files or directories - 删除文件或目录
        常用选项:
            -f, --force:暴力,强制删除;不弹出询问信息;
            -r, -R, --recursive:递归删除目录及目录中的内容;



    7.touch
        touch - change file timestamps - 修改文件的时间戳
        常用选项:
            -c, --no-create:不创建任何文件;
            -a:仅修改文件的访问时间戳;
            -m:仅修改文件的修改时间戳;
            -t STAMP:使用指定的STAMP替换文件的时间戳;
                STAMP的格式为:[[CC]YY]MMDDhhmm[.ss]
        如果没有指定-c选项的话,touch命令可用作创建文件;


    8.stat
        stat - display file or file system status - 显示文件或文件系统的状态
        常用选项:
            -c, --format=FORMAT:以指定的格式显示文件的指定状态属性;
                FORMAT:
                    %b         文件的总数据块
                    %d        文件系统中空闲文件节点数
                    %f        文件系统中的空闲块
                    %i        文件的inode号
                    %l        文件名的最大长度
                    %n      文件名
                    %s         文件大小
                
                

    9.nano:文本模式下的全屏编辑工具;
        nano界面下:
            ^:脱字符,表示键盘上的Ctrl按键;
            ^+o:保存文档内容;
            ^+x:退出编辑界面;

    10.cat
        cat - concatenate files and print on the standard output - 连接文件并在标准输出显示
            常用选项:
                -b, --number-nonblank:对非空白行进行编号输出;
                -n, --number:对所有行编号输出;
                -s, --squeeze-blank:合并连续的空白行;
                -E, --show-ends:在行尾以$字符显示;

        tac - concatenate and print files in reverse - 基于cat命令反向输出结果

        注意:cat或tac命令,如果没有给出参数,则所有的内容需要通过标准输入(从键盘键入)完成;而后可以使用"^+c"或者"^+d"退出即可;

    11.head
        head - output the first part of files - 输出文件的起始部分;
            常用选项:
                -c, --bytes=[-]K:以字节为单位显示相应长度的内容;
                -n, --lines=[-]K:以行为单位显示相应长度的内容;
                -#  :显示前#行

                K may have a multiplier suffix:b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
                如果不使用任何选项,则默认显示指定文件内容的前10行;

    12.tail
        tail - output the last part of files - 输出文件的最终部分;
            常用选项:
                -c, --bytes=[-]K:以字节为单位显示相应长度的内容;
                -n, --lines=[-]K:以行为单位显示相应长度的内容;可以使用-#K方式替换-n #K;
                -f, --follow[={name|descriptor}]:监控文件末尾的变化;
                    eg: ~]# tail -f /etc/a.txt   占用标准输出持续监控该文件的变化

    13.more
        more - file perusal filter for crt viewing - 分页显示文档内容,过滤;

        交互式编辑方法:
            可以使用"/"根据后续给出的字符串组合进行查找过滤;
            可以使用"n"找到下一个匹配项;
            使用"q"退出more模式;
            使用Enter,可以向下翻一行;
            使用Space,可以向下翻一页;

    14.less
        less - opposite of more - 与more相对应的命令

        交互式编辑方法:
            可以使用"/"或"?"根据后续给出的字符串组合进行查找过滤;
            可以使用"n"或"N"找到下一个匹配项;
            使用"q"退出more模式;
            使用Enter,可以向下翻一行;
            使用Space,可以向下翻一页;

    15.date
        操作系统时间,简称系统时间;使用软件模式的时钟记录的时间;
        date - print or set the system date and time - 打印或设置系统日期和时间

            常用选项:
                -s, --set STRING:设置系统时间为指定的时间;
                    两种格式:
                        1) MMDDHHmm[[CC]YY][.ss]
                        2) "CCYY-MM-DD HH:mm:ss"或"CCYY/MM/DD HH:mm:ss"
                    eg:~]# date -s 2018-4-3 +20:55:22
                FORMAT:
                    %F:表示完整的年月日格式,即:YY-mm-dd
                    %T:表示完整的时分秒格式,及:HH:MM:SS
                    %Y:表示完整年份
                    %m:表示月份
                    %d:表示日期
                    %H:表示小时
                    %M:表示分钟
                    %S:表示秒钟
                    %s:时间戳,从1970-01-01 00:00:00到当前系统时间所经历的秒数;
                        注意:1970年1月1日作为Unix元年;
                            此时间戳是由32位二进制表示的,所以其表示的最大范围0~4294967295;

    16.clock/hwclock
        hwclock - query or set the hardware clock (RTC) - 查询或设置硬件时钟(RTC)

            常用选项:
                -s, --hctosys:根据硬件时钟设置系统时间;
                -w, --systohc:根据系统时间设置硬件时钟;(不推荐)

    17.cal - 显示一个日历
        
    
    18.cp
        cp - 复制文件和目录
        格式:cp [OPTION]... [-T] SOURCE DEST:单源复制
                cp [OPTION]... SOURCE... DIRECTORY:多源复制

          1) cp命令至少要接两个参数;
          2) 最后一个参数,通常是此次复制到的目标位置;
          3) 如果在复制时给出的目标是目录,则直接将文件复制到指定的目录中,保留原文件名;如果在复制非目录文件时,给出的目标时非目录的文件,则此次操作时复制并改名;

      常用选项:
          -R, -r, --recursive:递归地复制目录文件;
          -d     same as --no-dereference --preserve=links
              复制的源文件是符号链接文件时,-d选项可以保留该符号链接文件作为此次的源文件被复制,而不会复制该符号链接文件所指向的那个文件;
          -p     same as --preserve=mode,ownership,timestamps
              复制的源文件中的权限位、所有权及时间戳属性会保留下来;
          -a, --archive     same as -dR --preserve=all
              相当于-dpr的组合;
          -f, --force:如果目标文件已经存在,则强制复制并且不提示;想要使该选项生效,执行cp命令时,需要在cp前面加上"\",即:# \cp Source_file Destination_file

  19.mv
      mv - move (rename) files - 移动或重命名文件
          格式:
              mv [OPTION]... [-T] SOURCE DEST:单源移动
              mv [OPTION]... SOURCE... DIRECTORY:多源移动

          常用选项:
              -f, --force:移动文件并强制覆盖目标位置同名文件;不给提示;
              -n, --no-clobber:移动文件时,如果源文件与目标位置中的文件重名,则不移动;

     20.alias
            alias - 定义或显示别名。
            格式:alias [-p] [名称[=值] ... ]
            注意:如果alias命令不带任何选项和参数,则表示显示所有已经定义并生效的别名设置;

            # alias ALIAS='COMMAND [OPTION]... [ARGUMENT]...'

        unalias
            unalias - 从别名定义列表中删除每一个"名字"。
            格式:unalias [-a] 名称 [名称 ...]

        注意:
            无论使用alias命令还是使用unalias命令,其功能都会立即生效;此二命令的生命期仅为当前shell的生命期;一旦注销登录,相当于关闭了bash,则使用alias命令定义的别名或使用unalias命令删除的别名操作,会立即失效;

        对于每个用户来说,都有一个私有的bash的配置文件,就在用户的家目录中的一个隐藏文件,文件名为".bashrc",其主要功能就是用来保存命令的别名的定义;

            注意:
                在对于此文件中的命令别名进行编辑并保存之后,在当前已经运行的bash中并不会立即生效,需要重新加载此文件才能使配置生效,以下两种操作皆可实现:
                    1.重启bash:注销之后再次登录即可;
                    2.执行文件中定义的命令:使用source命令,或者.命令;
                        eg:~]# source .bashrc

                    source - 在当前 shell 中执行一个文件中的命令。
                    . - 在当前 shell 中执行一个文件中的命令。

以上是关于Linux系统常用命令及其使用方法的主要内容,如果未能解决你的问题,请参考以下文章

Linux学习笔记--常用目录及其作用

spark实验--linux系统常见命令及其文件互传

Linux常用命令磁盘和文件系统管理

Linux系统运维人员常用的150个命令

Linux常用命令及其英文全称

Linux基础知识及常用命令