常用的命令使用方法:

  1.echo

        echo - display a line of text

        

        经过man手册帮助后获得更精准的命令操作方法

        将字符串输出到显示设备上

        

       常用选项:

          -n:不换行 ,如图;

          -e:使用“\”所引导的转义序列生效

            \n: 换行  

            \t:水平制表符

            \v:垂直制表符

             

    与echo命令相似的是printf,不受-e的限制(下图中,只有-e命令生效后,下面的\\、\a等命令     才可以生效 ),可以直接\n执行换行命令,在echo下的其他命令与之相似,可以直接使用,不受

    -e限制

   

    

    PS: 要区别字符与变量名的区别,一般加{}来区分字符和变量名

    

    

     2.cd

       内部命令,使用help获取更详细的帮助

       Change the shell working directory.

       切换工作目录

       

       cd: cd [-L|[-P [-e]]] [dir]   中括号内表示可以省略的部分;

       cd /PATH/TO/SOMEDIR(最后参数为目录,否则会报错,因为我们切换的是目录而不是文件)

                            : 将工作目录切换至参数所代表的目录;

       直接使用cd    :将工作目录切换至当前登录用户的家目录,相当于cd ~;

       cd- :将工作目录切换至此前最后一次的工作目录;

            

          shell提供了两个变量:

              PWD

              OLDPWD

              

     注意:在shell中获取变量值的方法;变量名严格区分大小写;

                    echo ${VAR_NAME}

                     {变量:赋值的内存空间}                                          

       cd~:将工作目录切换到指定用户的家目录当中

                  

                 从而回到家目录。

 

     3.pwd

       打印当前工作目录的名字

        

     4.ls

       ls - list directory contents

       注意:目录的内容是文件名

        

       ls [OPTIONS]... [FILE]...

          中括号选项可省略

        在Linux文件系统中,所有以“.”最为文件名的起始字符的文件,都是隐藏文件;

   ls命令查看目录显示按字符表排序,竖列显示,长选项和短选项是一样的;

   常用选项:

           -a,--all:显示所有文件,包括隐藏文件                           ;

           -A,--almost-all:显示除了“.”和“..”之外的所有文件,包括隐藏文件                                       ;

           --color[=WHEN]:以不同的颜色来显示文件名

           -d,-directory:显示目录本身,而不是目录中的文件名而不是

                                                             而不是像上图所示显示etc目录下的所有文件;

           -h,--human-readable:在显示文件的大小的时候,显示更为易读的形式

                                                     ;

                                                   通常与-l选项一同使用,例如                                                    会在文件后加一些符号;

             

           -l:使用长列表格式显示文件的详细属性

                

      格式解释为:

               -rw-------. 1 root root 1876 9月  17 17:48 anaconda-ks.cfg

                                -:代表文件类型;

                rw--------:文件的权限位设置;

                               .:表示该文件是否具有特殊属性或扩展属性;

                              1:表示文件被硬链接的次数;

        root(第一个):文件的属主(所有者);

        root(第二个):文件的属组;

                        1876:文件的大小,在没有使用-h之前,单位是字节;

           9月  17 17:48:文件的时间戳之一,表示最后一次修改的时间;

       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:递归显示,如果目标目录中有子目录,则递归显示子目录的内容,依次递归下去

注意在服务器中严禁使用如下命令,,会遍历根目录下的所有子目录

,对于服务器的CPU和内存是严重的消耗,

           -Z,--context:显示文件的SELinux的安全上下文标签;

     5.mkdir

       mkdir - make directories,创建新目录;

       mkdir [OPTIONS]... DIRECTORY...

         -p,--parents:在创建父目录的时候,如果其父目录不存在,则优先创建;

         -v,--verbose:为每个被创建的目录显示一条信息

        

  6.rm

        (rmdir命令只能删除空目录,用处不大,现在一般没人用)

       rm - remove files or directories

       移除文件或者目录

       rm [options"]file...

        -f,--force:暴力,强制删除,默认无法删除目录;

        -r,-R,--recursive:递归删除目录中及目录中的内容

           ;

   注意 如果使用下图的命令是十分危险的

             

         将会删除根目录下的所有文件,系统将不可使用,在虚拟机中使用此命令应提前做好快照;

         而在真正的服务器上不要做出此次命令,后果无法想象,极其危险。

 

     7.touch

       

       改变文件的时间戳(timestamps),还具有创建文件的功能

       

          常用选项:

             -c,--no--create:不创建任何文件;

             在默认情况下,如果改变了一个不存在的文件的时间戳,那会创建这个文件,加上-c选项后则不              会创建新的文件,如下图:

             

             -a:仅修改文件的访问时间戳;

             -m:仅修改文件的修改时间戳;

             -t STAMP(时间戳):使用特定的时间戳来替换文件的时间戳;

                       

                    stamp格式为:[[CC]YY]MMDDhhmm[.ss]  ,尽量使用历史的时间来替换否则可能出错

                                            额外的,如果没有指定-c选项,touch命令可以创建出被指定为参数且不存                                             在的文件;---创建文件的功能

     8.stat

         stat - display file or file system status,显示文件挥着文件系统的状态

         

         常用选项:

          -c,--format=FORMAT:以指定的格式显示文件的指定状态属性

          

     9.nano

       文本模式下的全屏编辑工具

       nano - Nano's ANOther editor, an enhanced free Pico clone,复制的文本编辑器,类似于                  windows系统中的记事本

       

       命令格式:

         nano [OPTIONS] [[+LINE,COLUMN] FILE]...

         nano +2,3 a.txt   {命令执行后}

     命令执行后,光标停留在二行三列的位置,即定位光标位置;

        

       ^:脱字符,表示键盘上的Ctrl键;

       ^+o:保存文件;

       ^+x:退出文本编辑工具;

     10.cat

        cat - concatenate files and print on the standard output,连接文件并在标准输出显示(输出           到显示器上的都叫标准输出),在显示界面查看

        格式: cat [OPTION]... [FILE]...

        

   还可以连接两个文件:

   

   

        常用命令:

           -b, --number-nonblank:对非空白行进行编号输出;

            在a.txt中加入空白行如下:

            

                【空白行:不包括任何字符】

            

           执行对非空白行进行编号输出命令后如上图;

                 

           -n, --number:number all output lines,对于所有行编号输出;

            

           -s, --squeeze-blank:suppress repeated empty output lines,将多行空白行合并为一行空白                                               行,折叠或者合并连续的空白行;

            

           -E, --show-ends:display $ at end of each line,在行尾以$结尾显示(包括空白行);

            

            

        tac:tac - concatenate and print files in reverse

        命令格式:

            tac [OPTION]... [FILE]...

            倒序显示,与cat命令相反

        

    注意:cat或者tac命令,如果没有给出参数,则所有的内容需要通过标准输入(从键盘输入)

                    完成,而后使用Ctrl+C或者Ctrl+D退出即可。   

                        如果只输入命令cat,则如下图,输出你写入的内容:

                                 

                                Ctrl+c退出命令模式;

     11.head

        head - output the first part of files,显示出文件的最起始的那一部分

        命令格式:

           head [OPTION]... [FILE]...

           显示文件的前十行

             常用选项:

               -c, --bytes=[-]K:print the first K bytes of each file; with the leading '-', print all but the last K bytes of each file

                                          以字节为单位显示相应长度的内容;

               -n, --lines=[-]K:print the first K lines instead of the first 10; with the leading '-', print all but the last K lines of each file  

                                          以行为单位显示相应长度的内容;

                 可以使用 -# 方式替换 -n #  ;

          

          { 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.

           K以字节为单位显示相应长度的内容时代表字节,1b代表512字节,1kb代表1000*512字节;

           K以行为单位显示相应长度的内容时,1b代表512行;}

                  

        注意:如果不使用任何的选项,则默认显示指定文件内容的前10行,如果不足10行,则显示全部内                   容(屏幕上显示的一行不回车输入(挤)到屏幕显示的下一行代表这里的1行)

                

     12.tail

        tail - output the last part of files,输出文件的最终部分

        命令格式:

           tail [OPTION]... [FILE]...

           常用选项(与head一致):

              -c, --bytes=[-]K:print the first K bytes of each file; with the leading '-', print all but the                                           last K bytes of each file

                                 以字节为单位显示相应长度的内容; 

                  

               -n, --lines=[-]K:print the first K lines instead of the first 10; with the leading '-', print                                             all but the last K lines of each file  

                                 以行为单位显示相应长度的内容;

             可以使用 -# 方式替换 -n #   ;

                  

                  

          { 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.

           K以字节为单位显示相应长度的内容时代表字节,1b代表512字节,1kb代表1000*512字节;

           K以行为单位显示相应长度的内容时,1b代表512行;}

               -f, --follow[={name|descriptor}]:用来监控文件末尾的变化;

               

                  

        注意:如果不使用任何的选项,则默认显示指定文件内容的前10行,如果不足10行,则显示全部内                   容(屏幕上显示的一行不回车输入(挤)到屏幕显示的下一行代表这里的1行)

 

    13.more

         more - file perusal filter for crt viewing,分页显示文档内容,还可以做过滤选项

         格式:

          more [options] file [...]

          

             

               --More--(1%)表示已经显示出多少内容

          交互式编辑方法:

             可以使用“/”或者“?”根据后续给出的字符串组合进行查找过滤;

             可以使用“n”来查找下一个匹配项;

             使用“q”退出more模式;

             使用enter键,可以向下翻一行;

             使用space键,可以向下走一页;

     14.less

         less - opposite of more,more的进阶版

         格式:

          less [options] file [...]

     交互式编辑方法:

              上下空格翻行,B或者F翻页,比more更加方便;

             可以使用“/”或者“?”根据后续给出的字符串组合进行查找过滤;

             可以使用“n”或者“N”来查找下一个匹配项;

             使用“q”退出more模式;

             使用enter键,可以向下翻一行;

             使用space键,可以向下走一页;

      日期和时间相关命令:

     15.date

        操作系统时间,简称系统时间;使用软件模拟的时钟来记录的时间;

        date - print or set the system date and time,显示或者设置系统日期和时间

        2017年 10月 14日 星期六 11:35:29 CST

        其中CST 代表标准时间

       

        命令格式:

           date [OPTION]... [+FORMAT]

           date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

          常用选项:

            -s, --set=STRING:设置系统时间为指定的时间;

              两种格式:

                1)MMDDhhmm[[CC]YY][.ss]

                2)"CCYY-MM-DD HH:MM:SS"或者"CCYY/MM/DD HH:MM:SS"

              

      FORMAT:

                %F:表示完整的年月日格式,即:YY-MM-DD

                      

                %T:表示完整的时分秒格式,即:HH:MM:SS

                %Y:表示完整年份

                %m:月份

                %d:日期

                %H:小时

                %M:分钟

                %S:秒钟

                %s:时间戳,1970年1月1日作为Unix元年;从1970-01-01 00:00:00到当前系统时间所经历的                      秒数; 此时间戳是由32位二进制表示的,所以其表示的最大范围0~4292967295

                      

                     附上计算方式:

                       

      

      查看多个属性的时候用双引号括起来:

               

 

     16.clock/hwclock

         hwclock - query or set the hardware clock (RTC)

         格式:

          hwclock [function] [option...]

          命令选项:

             -s, --hctosys:根据硬件时钟设置系统时间;

             -w, --systohc:根据系统时间设置系统时间;(不推荐)

             

  17.cal

        日历

        直接cal输出显示当月日历:

        cal -y 2017   :显示年份日历

         

     与关机,重启,注销有关的命令(详见本人博客--Linux系统的命令提示符及命令格式说明):

       关机:halt,poweroff,shutdown -h TIME,init 0;

       重启:reboot,shutdown -r TIME,init 6;

       注销:exit,logout,

     18.cp

        cp - copy files and directories,复制文件和目录;

        格式:

          cp [OPTION]... [-T] SOURCE DEST  :单源复制

          cp [OPTION]... SOURCE... DIRECTORY  :多源复制

         注意事项:

           1)cp命令至少要接两个数;

           2)最后一个参数,通常是此次复制的目标;

           3)如果在复制时给出的目标是目录,则直接将文件复制到指定的目录中,保留原文件名;如果在复制非目录文件时,给出的目标为非目录文件时, 则此次操作复制并改名,如下图:

              ;

           

     常用选项:

              -R, -r, --recursive:递归地复制目录文件:

               ;

              

              -d    same as --no-dereference --preserve=links:复制的源文件是符号链接文件时,-d选项可以保留该符号的链接文件作为此次的源文件被复制,而不会复制该符号链接文件所指向的那个文件:

                      其中浅蓝色代表符号链接文件

         

           不使用-d选项,则复制的是目标的源文件

                                                                    ;

              -p     same as --preserve=mode,ownership,timestamps:复制的源文件中的权限位、所有权及时间戳属性会保留下来;

              -a, --archive    same as -dR --preserve=all :相当于-dpr三个选项的组合,复制的源文件中的权限位、所有权及时间戳属性都会保留下来;

              -f, --force:如果目标文件存在,则强制复制替换存在的文件并且不提示,想要使该选项生效,执行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:移动文件时,如果源文件与目标文件重名,则不移动;