馬哥教育網絡班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 11:15
下一篇 2016-07-12 11:15

相關推薦

  • sed講解與使用

            sed是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用,功能不同凡響。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理…

    Linux干貨 2016-08-15
  • linux下小練習(2)

    1、編寫腳本/bin/per.sh,判斷當前用戶對指定的參數文件,  是否不可讀并且不可寫  ?                       2、編寫腳本/root/bin/nologin.sh和login.sh,實現禁止和充 許…

    Linux干貨 2016-08-15
  • 邏輯卷配置管理

    邏輯卷管理邏輯卷創建1、fdisk t 8e //修改分區類型 2、pvcreate  /dev/sd{a7,b} //創建物理卷pvs pvdisplay   //查看物理卷信息 3、vgcreate  vg0  /dev/sd{a7,b}  //創建卷組v…

    Linux干貨 2016-08-30
  • yum初步入門

                             yum工具是為提高RPM軟件安裝性而開發的一種軟件包管理器,是由pyt…

    Linux干貨 2015-04-01
  • DNS 正反向解析 主從配置

    我的環境是     192.168.1.130    主DNS      192.168.1.112    從DNS DNS 的安裝包有bind bind-libs bind-utils 安…

    Linux干貨 2016-01-05
  • 磁盤管理(一)磁盤分區表類型與文件系統

    概述:本章介紹磁盤分區和文件系統,深度了解linux存儲數據所依賴到各個部分模塊。 設備文件 I/O Ports: I/O設備地址 一切皆文件: Linux為所有的設備文件都提供了統一的操作函數接口,方法是使用數據結構struct file_operations。這個數據結構中包括許多操作函數的指針,如open()、close()、read()和write(…

    Linux干貨 2016-09-01

評論列表(1條)

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

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

欧美性久久久久