【Linux入门第十一天】-bash常见特性及文本查看命令

回顾:
FHS、命令及bash命令历史
FHS:
/bin,/sbin,/lib,/lib64,/etc
/home,/root
/boot
/media,/mnt
/proc,/sys
/tmp
/srv
/opt
/dev
/usr
bin,sbin,lib,lib64,share,local,include,…
/var
cache,lib,log,…
命令:which,whereis,who,w,alias,unalias
命令历史:history
文件类型:-,d,b,c,l,p,s

Linux基础知识:
bash的基础特性:

    命令补全:
         shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;
         命令处理机制:
              查找内部命令:
              根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;
         给定的打头字符串如果能唯一标识某命令程序文件,则直接补全;
                             不能唯一标识某命令程序文件,再击tab键一次,会给出列表;
    
    路径补全:
        在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件;
            tab:
               如果能唯一标识,则直接补全;
               否则,再一次tab,给出列表;

目录管理类的命令:
    mkdir,rmdir

    mkdir:make directory
        mkdir [OPTIONS]...  DIRECTORY...
             -p:自动按需创建父目录;
             -v:verbose,显示详细过程;
             -m MODE:直接给定权限;

           注意:路径基名方为命令的作用对象;
    
    rmdir:remove empty directories
        rmdir [OPTIONS]...  DIRECTORY...

            -p:删除某目录后,如果其父目录为空,则一并删除之;
            -v:显示过程;

    问题1:如果创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b
          # mkdir -pv /tmp/x/{y1/{a,b},y2}
    问题2:如何创建a_c,a_d,b_c,b_d
          # mkdir -pv {a,b}_{c,d}

bash的基础特性之:命令行展开
    ~:自动展开为用户的家目录,或指定的用户的家目录;
    {}:可承载一个逗号分隔的路径列表,并能够将其展开为多个路径;
          例如:/tmp/{a,b}相当于/tmp/a /tmp/b

    问题3:创建如下目录结构:
        /tmp/mysysroot/
            bin
            sbin
            etc
              sysconfig
                  network-scripts
            usr
               bin
               sbin
               local
                   bin
                   sbin
                   etc
                   lib
                lib
                lib64
            var
               cache
               log
               run
        # mkdir -pv /tmp/mysysroot/{bin,sbin,etc/sysconfig/network-scripts,usr/{bin,sbin,local/{bin,sbin,etc,lib},lib,lib64},var/{cache,log,run}}

    tree命令:
       tree [options] [directory]
          -L level:指定要显示的层级;

bash的基础特性:命令的执行状态结果

    命令执行的状态结果:
        Bash通过状态返回值来输出此结果;
            成功:0
            失败:1-255

        命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;

    命令正常执行时,有的还回有命令返回值;
        根据命令及其功能不同,结果各不相同;

    引用命令的执行结果:
        $(COMMAND)
        或`COMMAND`

bash的基础特性:引用    
    强引用:''
    弱引用:""
    命令引用:``

bash基础特性:快捷键
    Ctrl+a:跳转至命令行行首
    Ctrl+c:跳转至命令行尾

    Ctrl+u:删除行首至光标所在处之间的所有字符;
    Ctrl+k:删除光标所在处至行尾的所有字符;

    Ctrl+l:清屏,相当于clear

文件查看类命令:cat,tac,head,tail,more,less
     分屏查看命令:more和less

     more命令:
         more FILE
            特点:翻屏至文件尾部后自动退出;
     less命令:
          less FILE
    
     head命令:
         查看文件的前n行:
             head [options] FILE
                 -n #:
                 -#
     tail命令:
         查看文件的后n行:
             tail [options] FILE
                 -n #:
                 -#
                 -f:查看文件尾部内容结束后不退出,跟随显示新增的行;

    stat命令:
        stat - display file system status

        stat FILE...
        文件:两类数据
             元数据:metadata
             数据:data

        时间戳:
             Access: 2018-03-15 22:42:03.302314347 +0800  
             Modify: 2018-03-15 22:41:59.226314069 +0800
             Change: 2018-03-15 22:41:59.226314069 +0800 
             Birth: -
    touch命令:
         touch - change  file timestamps

         touch [options]... FILE...
              -c:指定的文件路径不存在时不予创建;
              -a:仅修改access time;
              -m:仅修改modify time;

              -t STMP:
                   [[CC]YY]MMDDhhmm[.ss]
    原文作者:zx5200
    原文地址: https://www.jianshu.com/p/874987e1073f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞