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:移动文件时,如果源文件与目标位置中的文件重名,则不移动;

        

  2.         20.alias

  3.                 alias - 定义或显示别名。

  4.                 格式:alias [-p] [名称[=值] ... ]

  5.                 注意:如果alias命令不带任何选项和参数,则表示显示所有已经定义并生效的别名设置;


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


  7.             unalias

  8.                 unalias - 从别名定义列表中删除每一个"名字"。

  9.                 格式:unalias [-a] 名称 [名称 ...]


  10.             注意:

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


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


  13.                 注意:

  14.                     在对于此文件中的命令别名进行编辑并保存之后,在当前已经运行的bash中并不会立即生效,需要重新加载此文件才能使配置生效,以下两种操作皆可实现:

  15.                         1.重启bash:注销之后再次登录即可;

  16.                         2.执行文件中定义的命令:使用source命令,或者.命令;

  17.                             eg:~]# source .bashrc


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

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




  20.         21.wc

  21.             wc - print newline, word, and byte counts for each file - 为每个文件打印新行、单词和字节数

  22.             格式:wc [OPTION]... [FILE]...

  23.             常用选项:

  24.                 -c, --bytes:仅显示文件中的字节数;

  25.                 -m, --chars:仅显示文件中的有效字符的数量;

  26.                 -l, --lines:仅显示文件的行数;包括空白行;