第二周作業

1、linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。

   linux上的文件管理類命令有:cat、tac、more、less、head、tail、cp、mv、rm、rmdir、mkdir等

   cat:文件文本查看工具

    cat [option]…[file]…

    -n:給顯示的文本行編號 

    blob.png

    -E:顯示行結束符$.

    blob.png

   tac:文件文本查看工具(cat 的倒序)

    tac [option]…[file]…

     blob.png

   more:可翻頁查看文件內容,一頁一頁的翻動

    blob.png

    注:如果more后面接的文件內容行數大于屏幕輸出的行數時,就會出現類似上圖,最后一行會顯示百分比,表示已經顯示了整個文件的百分多少,且最后一行還可以輸入命令。

    空格鍵:代表向下翻一頁

    Enter:代表向下滾動一行,當到文件的最后一頁時,自動退出more,回到命令行。

    /字符串:代表在這個顯示的內容當中,向下查詢"字符串"這個關鍵字

    :f    :立刻顯示出文件名以及目前顯示的行數

    q    :代表立刻離開more

    b    :往回翻頁

   less:可翻頁查看文件內容,一頁一頁的翻動,比more有彈性

    可輸入的命令:

    空格鍵:向下翻動一頁;

    [PageDown]:向下翻動一頁;

    [PageUp]:向上翻動一頁;

    /字符串 :向下查詢"字符串"的功能;

    ?字符串 :向上查詢"字符串"的功能;

    n    :重復前一個查詢;

    N    :反向重復前一個查詢;

    q    :離開less。

   head:取出文件中的前面N行

     head [OPTION]… [FILE]…

    -n # 或者 -#: 顯示幾行,默認顯示10行

    blob.png

   tail:取出文件中的最后N行

    tail [OPTION]…[FILE]…

    -n #或者- #:顯示幾行,默認顯示10行

    -f:持續檢測后面所接的文件名,要等到按下[ctrl]-c才會結束檢測。

    blob.png

    blob.png

     此時需要按下[ctrl]-c才會結束,后者會一直檢測該文件。

   cp:復制

    cp [OPTION]… [-T] SOURCE DEST

    cp [OPTION]… SOURCE… DIRECTORY

    

    -i:交互式復制,即覆蓋之前提醒用戶確認;

    blob.png

    此時按下Y,表示覆蓋,按下N,表示不覆蓋。

    -f:強制覆蓋目標文件;此時不會提示你是否覆蓋了,直接強制覆蓋;

    如:當前目錄下已經有一個passwd文件了,執行如下操作不會有任何提示

    blob.png

    -r, -R:遞歸復制目錄;

    如:將/usr/share/man/下的man#文件復制到當前目錄

    blob.png

    -d:復制符號鏈接文件本身,而非其指向的源文件;

    以此文件為例,其位于/etc/下,(centos7.1)

    blob.png

blob.png    

    -a:-dR –preserve=all, archive,用于實現歸檔;

–preserv=

      mode:權限

      ownership:屬主和屬組

      timestamps: 時間戳

      context:安全標簽

      xattr:擴展屬性

      links:符號鏈接

      all:上述所有屬性

   mv:和剪切一個意思?

    mv [OPTION]… [-T] SOURCE DEST

    mv [OPTION]… SOURCE… DIRECTORY

    mv [OPTION]… -t DIRECTORY SOURCE..

    -i:交互式

    -f:強制

   rm:刪除文件

    rm [OPTION]… FILE…

    -i:交互

    -f:強制

    -r:遞歸

    blob.png

    刪除目錄:rm -rf /PATH/TO/DIR

    建議一定要執行一次:rm -rf /*   (有驚喜)

    

2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示?

    bash的工作特性之命令執行狀態返回值:

    命令執行完后,其狀態返回值保存于bash的特殊變量$?中。

    bash通過狀態返回值來輸出此結果:

    成功:0

    失?。?-255

    blob.png

    注意,命令執行狀態返回值和命令的執行結果間的區別。如上圖,ls的執行結果是顯示當前目錄的文件名,緊接著執行echo命令用于顯示命令的執行狀態返回值,不管ls命令是否成功執行,其都會有相關數據顯示,但是命令執行狀態返回值卻是不同的。

    bash的工作特性之命令行展開:

    ~:自動展開為用戶的家目錄,或指定的用戶的家目錄。

    {}:可承載一個以逗號分割的路徑列表,并能夠將其展開為多個路徑。

    blob.png

    blob.png

3、請使用命令行展開功能來完成以下練習?

  (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d

    ~]#mkdir -p {a,b}_{c,d}

    blob.png

  (2)、創建/tmp/mylinux目錄下的:

  mylinux/

    ├── bin

    ├── boot

    │   └── grub

    ├── dev

    ├── etc

    │   ├── rc.d

    │   │   └── init.d

    │   └── sysconfig

    │       └── network-scripts

    ├── lib

    │   └── modules

    ├── lib64

    ├── proc

    ├── sbin

    ├── sys

    ├── tmp

    ├── usr

    │   └── local

    │       ├── bin

    │       └── sbin

    └── var

        ├── lock

        ├── log

        └── run

    ~]#mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib

/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

    blob.png

4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息?

    文件的數據分兩種:一種元數據,既屬性數據;一種就是數據本身;

    可以用命令stat查看文件的元數據;

    blob.png

    file:文件名;

    size:文件大小

    block:文件占了多少個數據塊

    IO Block:文件所占數據塊的塊大小

    Device:硬件,既說明該文件在硬盤的那個柱面

    Inode:節點號

    links:鏈接

    Access(第一個):權限

    Uid:該文件所屬的屬主

    Gid:該文件所屬的屬組

    context:安全上下文

    Access(第二個):文件上一次的訪問時間

    Modify:文件上一次修改的時間

    Change:文件上一次屬性更改的時間

    可以使用touch命令更改文件的時間戳:

    touch [OPTION]… FILE..。

    -c: 指定的文件路徑不存在時不予創建;

    -a: 僅修改access time;

    -m:僅修改modify time;

    -t STAMP

[[CC]YY]MMDDhhmm[.ss]

    ~]#touch FILE

    這條命令會將文件的三個時間一并更改成當前的時間

    如下三個分別更改atime,mtime,三個時間一起更改。

    blob.png

    blob.png

    blob.png

5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

    命令別名使用alias命令。

    ~]#alias NAME='COMMAND'

    blob.png

    在一個命令中引用另一個命令的執行結果也是bash的特性之一,引用。

    方法:$(COMMAND) 或者 `COMMAND`

    blob.png

6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄?

    ~]#ls -d /var/l*[0-9]*[[:lower:]]

    blob.png

7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄?

    ~]#ls -d /etc/[0-9]*[^0-9]

8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄?

    ~]#ls -d /etc/[^a-z][a-z]*

9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22?

    ~]#touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)

    blob.png

10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中?

    ~]#mkdir /tmp/mytest1

    ~]#cp -r /etc/p*[^0-9] /tmp/mytest1

    blob.png

11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中?

    ~]#mkdir /tmp/test2

    ~]#cp -r /etc/*.d /tmp/mytest2

    blob.png

12、復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中?

    ~]#mkdir /tmp/mytest3

    ~]#cp /etc/[lmn]*.conf /tmp/mytest3

    blob.png

原創文章,作者:N22-成都-stephen,如若轉載,請注明出處:http://www.www58058.com/40442

(0)
N22-成都-stephenN22-成都-stephen
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • Centos7上安裝Ansible和基礎應用

    Ansible 簡介 ansible是個什么東西呢?官方的title是“Ansible is Simple IT Automation”——簡單的自動化IT工具。這個工具的目標有這么幾項:自動化部署APP;自動化管理配置項;自動化的持續交互;自動化的(AWS)云服務管理。所有的這幾個目標從本質上來說都是在一個臺或者幾臺服務器上,執行一系列的命令而已。通俗的說…

    Linux干貨 2016-04-15
  • 學習宣言

    現在,青春是用來奮斗的;將來,青春是用來回憶的。   人生之路,有坦途也有陡坡,有平川也有險灘,有直道也有彎路。青年面臨的選擇很多,關鍵是要以正確的世界觀、人生觀、價值觀來指導自己的選擇。無數人生成功的事實表明,青年時代,選擇吃苦也就選擇了收獲,選擇奉獻也就選擇了高尚。青年時期多經歷一點摔打、挫折、考驗,有利于走好一生的路。要歷練寵辱不驚…

    Linux干貨 2016-12-29
  • 18頁PPT帶你深度解讀運維自動化

    一、概述    在前面的文章中,提到【運維的本質—可視化】,在其中著重強調是自動化的可視化和數據化的可視化。在這個文章中,全面解碼看看自動化的極致狀態為什么是可視化?在前面的另外一篇文章【運維平臺全體系介紹】中,也講到運維平臺體系的構成,提出“**及服務”的理念,其中有幾部分和自動化密切相關,比如說資源及服務、配置及服務、架構…

    2015-04-03
  • 馬哥教育網絡班20期-第五周課程作業

    Table of Contents 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; 3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行; 4、添加用戶bash, tes…

    Linux干貨 2016-07-12
  • shell腳本的if語句

                                  第一篇  shell腳本中的if語句 一、shell腳本的語句控制        □前面提到了過程式…

    Linux干貨 2016-08-19

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-14 08:38

    排版上需要注意下,建議使用markdown,不推薦答案貼圖片的方式。加油~

欧美性久久久久