Linux基础命令

  刚接触Linux,往往会有一个印象就是Linux操作起来比我们熟悉的windows难,其实不然,只要了解熟知了Linux的CLI界面诸多的命令的用法就能使很多在GUI界面下的操作变的无比简单;以下是Linux使用中的几个基础命令:

   1.cd:

     cd [-L|-P] [dir]  改变shell 的工作目录,默认是用户的家目录;

        cd DIR:切换到DIR目录;

        cd:   切换至当前用户的家目录;

        cd - :将工作目录切换至上一次的工作目录;两个目录之间的来回切换!

              原理: shell中的两个变量:

                     $PWD

                     $OLDPWD

        cd ~ :将工作目录切换至家目录;root用户可以切换到指定普通用户的家目录下;

                  cd ~USRNAME;

   2.pwd:

        显示PWD变量的内容,即显示当前目录;pwd [-LP]

   3.ls:

        显示目录内容(文件名)

        在Linux文件系统中,所有以“.”开始的文件称为隐藏文件;

        选项:

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

          -d :不显示目录的内容,只显示该目录名;

          -l,--long:以长格式显示文件的详细属性信息

            /*例如:drwxr-xr-x. 2 whj1 whj1 4096 Mar  4 14:15 Desktop

               d:文件类型标识

               rwxr-xr-x:文件权限

                rwx:文件的属主所具备的权限;

                r-x:文件的属组所具备的权限;

                r-x:其他用户对该文件所具备的权限;

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

               2:该文件被硬连接的次数;

               whj1:文件的属主;

               whj1:文件的数组;

               4096:文件的大小;

               Mar 4 14:15-- 文件最后一次被修改的时间;

               Desktop:文件名称(文件名不属于文件的属性信息-元数据)

               *除了文件名以外的所有信息都是文件的属性;



               设备的详细信息:


               8:主设备号(major)用于标识设备类型,进而确定要加载何种驱动程序;

               0:次设备号(minor)用于标识同一种设备类型的不同设备;


               设备号使用8位二进制表示,默认表示范围:0-255;*/

           -h:易于人读取的文件大小格式,1024进制换算;

           -F:--classify 文件类型标识(/@*|=)

           -r: 按字母顺序倒顺序输出结果

           -R:--recursive 递归显示目录及子目录的内容 (Ctrl+C 结束进程)

           -S:根据文件大小排序显示

           -1:每行显示一个文件

           -Z:显示文件的SELinux的安全上下文(Security Context)


           Exit Status:

            0: if OK,成功执行

            1: if minor problems(e.g. cannot access subdirectory)

            2: if serious problems(e.g. 目标文件或目录不存在等等)

   4.mkdir:

        mkdir [opt] DIRECTORY...

        -p:在创建目录时,如果父目录不存在则优先创建之;

        -v:在执行命令时显示命令的执行过程;

   5.rmdir: 

        只可以删除空目录; 选项同mkdir

   6.rm: 移除文件或目录;

        rm [opt]... FILE...

        选项:

           -i:与用户进行交互式删除;

           -f:强制删除;

           -r,-R:递归删除目录;

   7.touch:

        change file timestamps 修改时间戳,可以使文件的三个时间一致。

        touch [opt]... FILE...

   8.stat:

        display file or file system status

        stat [opt]... FILE...

         Access: 访问时间

         Modify: 修改时间,文件内容变化时改变

         Change: 元数据变化,改变时间变化

        选项:

          -c FORMAT:以特定的格式显示文件指定属性;

                例如:%a,access rights in octal

   9.nano:

        全屏编辑工具,

        ^表示Ctrl键;

          o:保存

          x:退出

          ……

   10.cat:

        concatenate(连接) files and print on the standard output

        选项:

          -E:显示末尾隐藏的行结束“$”符号;

          -n:所有行进行行编号;

          -b:对于非空行内容进行行编号,即不显示空行的行号;

          -s:合并多行空白行为一行;


          注意:如没有参数,则通过标准输入进行操作,Ctrl+D退

   11.tac:

        concatenate and print files in reverse

        实际上就是cat的逆序输出;

   12.head:

         output the first part of files

         选项:

          -c #[b|k|m|g]:

             显示文件的前#多个字符;

             b:512Byte;K:1024;

          -n, --lines=[-]K

             显示文件的前n行内容,也可以简写为-#;

        

        注意:不加选项时默认显示前十行;不足十行全部输出;

   13.tail:

         output the last part of files

         选项几乎和head相同:

           -f:实时监测文件末尾变化情况;^+c退出;

   

   ★分页显示内容;

   14 more:man命令显示的格式  空格翻页,回车进行;

            more只能下翻页,不能回翻;

   15 less:可以回翻页

   ★日期时间相关命令:

        有两个时钟:

         硬件时钟:hwclock,clock。精确到1微秒

         系统时钟:date

        cal

   16.date [OPTION]... [+FORMAT]

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

        设置方法有很多:

            如 date "031211012017.40"

               date -s "2017/10/10 10:10:10"

               

        格式:

            %F:完整格式的日期;

            %T:完整格式的时间;

            %Y:年;

            %m:月;

            %d:日;

            %HMS:时分秒;1day 24h 1440m 86400s

            %s:时间戳;从1970-1-1 00:00:00到当前系统时间所经过的秒数;

            ……

   17.hwclock:

        -s,--hctosys : 

              Set the System Time from the Hardware Clock. 

              以硬件时钟为参考设置系统时钟; 

        -w, --systohc

              Set the Hardware Clock to the current System Time.

              以系统时钟为参考设置硬件时钟

        --set --date "TIME":

              将硬件时钟设置为"TIME";

   18.cal:显示日历;        

    NTP服务器:网络时间协议,误差控制在ms;自动同步;


  关机命令:

   19.halt、poweroff:

   20.shutdown:较前面两者更为安全;

         shutdown [OPTIONS...] [TIME] [WALL...]


        TIME:

          绝对时间:12:00;

          相对时间:+#,在#分钟之后执行;

                    +0相当于now

        选项:

          -h:关闭系统;

          -r:重启;(reboot);

          -c;Cancel a pending shutdown.

   21.注销,退出登录:

      exit:注销一个shell

      logout:退出一个登录 shell.

   22.cp:

      拷贝文件和目录:

        cp [OPTION]...  SOURCE DEST(单源复制)

        cp [OPTION]... SOURCE... DIRECTORY(多源复制)

        

        单源复制可以修改文件名;

      选项:

        -d 复制符号链接文件本身,而非源文件;

        -p 在复制文件时,能够保留文件的权限、所有权及时间戳信息;

        -r、R:递归的复制目录及目录中的文件;

        -a:相当于-dpr的组合;


    注意:1.cp命令至少需要两个参数;

          2.通常情况下,最后一个参数是此次拷贝行为的目标;

          3.如果进行单源复制,目标可以不存在,目标可以为非目录文件;

          4.如果进行多源复制,目标必须为多源目录,且过程中无法更改文件名;

   23.mv:

        mv [OPTION]... SOURCE DEST

        mv [OPTION]... SOURCE... DIRECTORY


        -f : 强制覆盖目标位置中的重名文件;

   24.which:

      shows the full path of (shell) commands.

       查看可执行命令的路径

      【语法】which COMMAND

      【选项】:

            -a,--all:显示所有匹配的可执行文件,而不仅仅是第一个。

   25.whatis:

        search the whatis database for complete words

        在 whatis库里查找完整的命令

        是一个辅助的命令,辅助man这个帮助命令

   26.whereis:

       locate the binary, source, and manual page files for a command

       查找文件、手册页、命令等的相关位置,

      【语法】whereis [options]  argument

      【选项】

         -b:只查找二进制文件位置

         -m:只查找手册页部分

         -s:只查找源代码部分

   27.w who whoami:

      w - 显示已经登录的用户及正在进行的操作

      who - 显示已经登录的用户

         【选项】:

          -q, --count显示全部的登录名和登录数

      whoami - 显示登录系统的时候的用户名,即使已经切换到其他用户也显示登录时的用户

   

   28.du:报告磁盘空间使用情况

      POSIX 选项

       -a 显示所有文件的统计,不只是包含子目录

       -k 用1024字节作为计数单位 

       -x 只输出指定参数的实际使用空间,而不包括其下的子目录

     GNU 选项

       -a, --all

         显示对所有文件的统计,而不只是包含子目录

       -b, --bytes

         输出以字节为单位的大小,替代缺省时1024字节的计数单位。