馬哥教育網絡班21期-第二周課程練習

1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
文件管理類命令有:cp, mv, rm
    cp:
         功能:copy,復制
         語法:cp [OPTION]… [-T] SOURCE DEST
                    cp [OPTION]… SOURCE… DIRECTORY
                    cp [OPTION]… -t DIRECTORY SOURCE…

                    cp SRC DEST
                         SRC是文件:
                         如果目標不存在:新建DEST,并將SRC中內容填充至DEST中;
                         如果DEST是文件:將SRC中的內容覆蓋至DEST中;
                         此時建議為cp命令使用-i選項;
                         如果DEST是目錄:在DEST下新建與原文件同名的文件,并將SRC中內容填充至新文件中;

                    cp SRC… DEST
                         SRC…:多個文件
                             DEST必須存在,且為目錄,其它情形均會出錯;
                         SRC是目錄:
                              此時使用選項:-r

                              如果DEST不存在:則創建指定目錄,復制SRC目錄中所有文件至DEST中;
                              如果DEST存在:
                              如果DEST是文件:報錯

        常用選項:
            -i:交互式
            -r, -R: 遞歸復制目錄及內部的所有內容;
            -a: 歸檔,相當于-dR –preserv=all
            -d:–no-dereference –preserv=links
            –preserv[=ATTR_LIST]
            -p: –preserv=mode,ownership,timestamp
            -v: –verbose  顯示詳細信息
            -f: –force
         示例:
              復制file1到/tmp下并重命名為file2:

     #cp file1 /tmp/file2

              備份當前目錄的所有文件到/backup下:

     #cp -a . /backup/

              復制目錄的內容到另一個目錄:

     #cp -r SRC_DIR  DST_DIR

mv:
      功能:move,移動
      用法:mv [OPTION]… [-T] SOURCE DEST
                 mv [OPTION]… SOURCE… DIRECTORY
                 mv [OPTION]… -t DIRECTORY SOURCE…       
      常用選項:
            -i: 在執行時會提示
            -f: 強制執行
            -t:移動所有SOURCE 到 DIRECTORY
      示例:
          將當前目錄的多個文件移動到/tmp下:

    #mv -t /tmp test1 test2 ...

          修改文件名稱:

    #mv 1.txt 2.txt

rm:
     功能:remove,刪除
     用法:rm [OPTION]… FILE…
     常用選項:
         -i: 交互式
         -f: 強制刪除
         -r: 遞歸
     示例:
         刪除/tmp下的.log文件:

   #rm -rf  /tmp/*.log

  
2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
特殊變量$?保存上一條命令執行狀態結果
可以這么查看

 #echo $?

返回結果:        0:表示成功
                   1-255:表示失敗

命令行展開所涉及的內容:
    ~:展開為用戶的主目錄
    ~USERNAME:展開為指定用戶的主目錄
{}:可承載一個以逗號分隔的列表,并將其展開為多個路徑
如下示例:

#touch /tmp/{a,b,c}

   /tmp/a /tmp/b /tmp/c

#mkdir /tmp/{hello,world}/d

  /tmp/hello/d /tmp/world/d

 

3、請使用命令行展開功能來完成以下練習:
   (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d

   #mkdir /tmp/{a,b}_{c,d}

   (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 -p /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}}

 

4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的元數據信息是用來描述一個文件的特征的系統數據,包括文件大小,inode數,連接數,訪問權限,UID、GID以及三個時間戳,可以用stat命令來進行查看。

文件有三個時間戳,分別是:
     access time:訪問時間,atime,讀取文件內容
     modify time: 修改時間, mtime,改變文件內容(數據)
     change time: 改變時間, ctime,元數據發生改變

可以用touch命令進行修改文件的時間戳信息。

touch:
     語法:touch [OPTION]… FILE…
     選項:-a: 只改變 atime
                -m: 只改變 mtime
                -t:STAMP: [[CC]YY]MMDDhhmm[.ss] 代替當前系統時間
                -c:如果文件不存在,則不創建
     示例:
          修改文件的訪問時間為當前系統的時間

    #touch -a FileName

          修改文件的時間為指定時間戳

    #touch -t 201607071950.33 FileName

5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
可以用alias定義一個命令的別名, 如 alias NAME=‘VALUE’
可以用反引號括起想要獲取的命令的執行結果,如 FILES=`ls -l`

 

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

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

 

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

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

 

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

#ls -d /tmp/[^a-zA-Z][a-zA-Z]*

 

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

#touch /tmp/tfile-`date +"%F-%H-%M-%S"`

 

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

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

 

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

#cp -a /etc/*.d /tmp/mytest2/

 

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

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

 

原創文章,作者:π,如若轉載,請注明出處:http://www.www58058.com/23196

(0)
ππ
上一篇 2016-07-12
下一篇 2016-07-12

相關推薦

  • Nginx及Nginx模塊——更加輕量級的HTTP server

    Nginx engine X = Nginx      NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as an IMAP/POP3 proxy server. NGINX is known f…

    Linux干貨 2016-10-25
  • 推薦-Linux Namespace的一點理解

        下文的原文來自: http://blog.csdn.net/preterhuman_peak/article/details/40857117    原文寫的非常好,下文中大部分文字描述來自原文,我僅做了一點理解性的插圖和實驗部分。    &…

    Linux干貨 2016-03-28
  • Linux之磁盤管理

    Linux之磁盤管理       linux系統中, 一切都是文件, 而這些文件都是存儲在磁盤中, 因此對于磁盤的管理是非常重要的, Linux磁盤管理的好壞, 直接關系到整個系統的性能問題, 本文主要介紹了磁盤結構, 分區類型, 管理分區, 管理文件系統, 掛載設備, 管理虛擬內存這幾大項的內容.    &…

    Linux干貨 2016-08-29
  • Linux發展史

    獨白:    先來說說我對Linux的認識吧,用一個成語形容:狗屁不通,想了一下,文明社會還是和諧點比較好,算是聞所未聞吧。15年初從朋友那得知Linxu,沖著他那十幾K的工資還是挺心動的,說實在很仰慕他,有點計算機基礎,自學兩個月出山,當時月薪8k;而我還是拿著3,4k的工資,也沒什么本領,于是找他要了些有關視頻資料,也開始了自學之路,…

    Linux干貨 2017-04-08
  • 安裝centos7

    在vmware安裝centos7

    2018-03-26
  • LNMP的虛擬主機配置http和https

    項目實戰:    搭建LNMP環境:Linux+Nginx+Mysql(MariaDB)+php(php-fpm),創建多個虛擬主機:    主機1提供正常的http服務,用于安裝wordpress博客;    主機2提供正常的https服…

    Linux干貨 2016-10-30

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-12 14:05

    寫的很好,排版也很棒,加油

欧美性久久久久