馬哥教育網絡班20期+第2周課程練習

馬哥教育網絡班20期+第2周課程練習

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

   linux上的文件管理類命令: cp, mv, rm

    cp命令

    cp – copy files and directories

    格式:

      cp [OPTION]… [-T] SOURCE DEST

      cp [OPTION]… SOURCE… DIRECTORY

      cp [OPTION]… -t DIRECTORY SOURCE…

    常用選項:

      -i:交互式

      -r, -R:遞歸復制目錄及內部的所有內容;

      -a:歸檔,相當于 -dR –preserv=all 保留文件的所有的元屬性

      -d,–no-dereference –preserv=links 不追蹤符號鏈接              

      –preserv[=ATTR-LIST]

        mode:權限

        ownership:屬主屬組

        timestamps:時間戳

        links:鏈接屬性

        xattr:擴展屬性(隱藏屬性)

        contest:安全上下文

        all:以上所有

      -p:相當于–preserve=mode, ownership, timestamps

      -v,–verbose 顯示詳細信息

      -f,–force 強制

    實例演示:

   [root@C64BSLab ~]# cp testfile1.txt destdir #將testfile1.txt文件復制到destdir目錄
   [root@C64BSLab ~]# cp -p testfile2.txt destdir #將testfile.txt文件復制到destdir目錄,并且保留原文件的屬性
   [root@C64BSLab ~]# cp -r srcdir destdir  #將scrdir目錄復制到destdir目錄下 
   [root@C64BSLab ~]# cp -fr srcdir/* destdir  #將scrdir目錄下所有文件強制復制到destdir目錄下

    15a7c086-c82e-4e51-a2e3-bdd04bb1e181.png

    mv命令

    mv – move (rename) files

    格式:

      mv [OPTION]… [-T] SOURCE DEST

      mv [OPTION]… SOURCE… DIRECTORY

      mv [OPTION]… -t DIRECTORY SOURCE…

    常用選項:

      -i:交互式

      -f:強制

    實例演示:

  [root@C64BSLab ~]# mv testfile1.txt destdir/testfile3.txt #將testfile1.txt文件移動到destdir目錄下為testfile3.txt
  [root@C64BSLab destdir]# mv srcdir newdir  #將scrdir目錄重命名為newdir目錄

   馬哥教育網絡班20期+第2周課程練習0065f206-83da-4a84-b7d1-ebdad81f62d2.png

    rm命令

    rm – remove files or directories

    格式:

    rm [OPTION]… FILE…    

    常用選項:

      -i:交互式

      -f:強制刪除

      -r:遞歸

    實例演示:

  [root@C64BSLab destdir]# rm testfile3.txt #刪除文件需要確認
  [root@C64BSLab destdir]# rm -f testfile2.txt #強制刪除文件不確認
  [root@C64BSLab destdir]# rm -rfv newdir #強制刪除newdir目錄,并顯示刪除的詳細信息

    cfd56aed-2791-4dad-95af-b158526d63da.png

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

    命令執行狀態返回值

    在bash中使用特殊變量$?,來保存最近一條命令的執行狀態結果,根據這個命令執行狀態返回值,確定命令是否執行成功了,命令的狀態結果(成功:0,失?。?-255)。

    實例演示:

  [root@C64BSLab ~]# ls scrdir # 執行ls scrdir命令后,在屏幕輸出命令執行結果返回值
  [root@C64BSLab ~]# echo $? #顯示bash中的特殊變量$?的值,確定命令是否執行成功
  [root@C64BSLab ~]# ls scrdirr #故意輸入錯誤目錄執行一次
  [root@C64BSLab ~]# echo $? #顯示bash中的特殊變量$?的值,確定命令是否執行成功

   06125eb8-1e73-473d-a895-351d8850becd.png

    命令行展開

    ~:展開為用戶的主目錄

    ~USERNAME:展開為指定用戶的主目錄

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

    實例演示:

   [root@C64BSLab destdir]# cd ~ #展開為用戶主目錄,并切換當前工作目錄為用戶主目錄。
   [root@C64BSLab ~]# cd ~centos #展開為centos用戶主目錄,并切換當前工作目錄為centos用戶主目錄
   [root@C64BSLab centos]# touch {a,b,c}.txt #展開列表,并創建文件

    c9561ba0-d8c3-46fa-b723-9423a0066c6a.png

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

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

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

   50697a20-890a-49dc-8c62-f99931f2e56b.png馬哥教育網絡班20期+第2周課程練習

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

  0b506c8b-6b14-46f9-a844-dba9b3e2549a.png

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

    元數據

    文件的元數據指用來描述一個文件的特征的系統數據,如訪問權限、文件擁有者、文件數據的塊的分布信息、文件的訪問、改變、修改時間等

    元數據信息

    File:文件名

    Size:文件的理論長度,單位字節

    Block:塊的數量

    IO Block:塊的大小

    Device:表示內核對該設備的編號

    Indoe:內核為每一個文件分配的標識符

    Links:指向inode節點的數量

    Access:(0664/-rw-rw-r–) 文件訪問權限,文件類型

    uid:文件所有者,屬主id

    gid:文件所屬組,屬組id

    Access: 2016-06-17 11:19:32.696999758 +0800    訪問時間,文件數據每次被閱讀后所記錄的時間

    Modify: 2016-06-17 14:38:02.773990548 +0800    改變時間,文件內容數據被修改后記錄的時間

    Change: 2016-06-17 14:38:02.785990268 +0800    修改時間,文件的inode節點信息被改變后記錄的時間    

    查看文件元數據信息

    stat命令

    使用stat命令查看文件元數據信息

    格式:

    stat [OPTION]… FILE…

    實例演示:

    馬哥教育網絡班20期+第2周課程練習3b39d3ce-291f-45a3-87c8-241ae2818121.png

    時間戳

    修改文件時間戳

    touch命令

    格式:

    touch [OPTION]… FILE…

    常用選項:

    -a: only atime

    -m: only mtime

    -t STAMP: 修改mtime

      [[CC]YY]MMDDhhmm[.ss]

    -c:如果文件不存,則不予創建

    實例演示:

    [root@C64BSLab tmp]# touch file1.txt 更新file1.txt的訪問、改變、修改時間
    [root@C64BSLab tmp]# touch -c file2.txt 如果file2.txt不存在,不創建文件
    [root@C64BSLab tmp]# touch -t 1605291530.50 file1.txt 設定文件的時間錯為16年5月29日15點30分50秒

    e34554a7-5ef3-4569-9a72-1b9c5717954f.png     馬哥教育網絡班20期+第2周課程練習

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

    命令別名

    通過alias命令實現

    alias命令

    格式:

    alias [-p] [name[=value] … ]

     (1) alias:顯示當前shell進程所有可用的命令別名;

      (2) alias NAME='VALUE':  定義別名NAME,其相當于執行命令VALUE;

    撤銷別名;unalias 

    格式:

     unalias [-a] name [name …]

    實例演示:

    馬哥教育網絡班20期+第2周課程練習e1254eb9-6ffe-4b7d-ba7e-fb9917497c55.png

    在命令中引用另一個命令的執行結果

    管道命令

    格式:

     # COMMAND1 | COMMAND2 | COMMAND3 … 

    實例演示:

    馬哥教育網絡班20期+第2周課程練習da5c1303-078d-4151-9af1-63a74aa51334.png    

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

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

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

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

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

# ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

# touch tfile-$(date +%F-%H-%M-%S)

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

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

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

# mkdir /tmp/mytest2
# cp -r /etc/*.d /tmp/mytest2

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

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

原創文章,作者:N20-背旅,如若轉載,請注明出處:http://www.www58058.com/17118

(0)
N20-背旅N20-背旅
上一篇 2016-06-23 11:10
下一篇 2016-06-23 11:11

相關推薦

  • 第八周作業

    1、簡述systemd的新特性及unit常見類型分析,能夠實現編譯安裝的如nginx\apache實現通過systemd來管理
    2、描述awk命令用法及示例(至少3例)
    3、描述awk函數示例(至少3例)

    Linux筆記 2018-06-29
  • 馬哥教育網絡21期——第一周博客練習

    1.計算機的組成及其功能       現代計算機遵循“馮諾依曼”架構,由運算器、控制器、存儲器、輸入設備和輸出設備組成。其中運算器負責加減乘除運算,其中最核心的是加法器;控制器負責協調計算器各部件的運作;       存儲器用于存儲數據;輸入設備和輸出設備屬于…

    2016-07-12
  • Shell腳本自動部署(編譯)LAMP平臺

    Shell腳本自動部署(編譯)LAMP平臺 Shell腳本自動部署(編譯)LAMP平臺 為什么要用腳本進行部署? 腳本功能介紹 筆者環境 準備工作 聲明 使用測試 腳本代碼 Shell腳本自動部署(編譯)LAMP平臺 LAMP是當下非常流行的一套Web架構,我們可以在GNU/Linux下通過其他人打包的程序包來進行安裝; 但是在生產環境中,很多時候都需要我們…

    Linux干貨 2016-03-26
  • 1021作業

    關于用戶和組相關配置文件的總結 /etc/passwd:用戶及相關屬性信息 在Linux /etc/passwd文件中每個用戶都有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。系統管理員經常會接觸到這個文件的修改以完成對用戶的管理工作。這個文件對所有用戶都是可讀的。但是Linux /etc/passwd文件中都有些什么內容呢? #cat/etc/pass…

    Linux干貨 2016-10-24
  • 馬哥教育網絡班N22期+第5周課程練習

    馬哥教育網絡班N22期+第5周課程練習 1. 顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;  grep -E "^[#][[:space:]]+[^[:space:]].*" /etc/rc.d/rc.sysinit 2. 顯示…

    Linux干貨 2016-09-19
  • 馬哥教育網絡班20期+第4周課程練習

    馬哥教育網絡班20期+第4周課程練習 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 # cp -a /etc/skel /home/tuser1 # chmod -R go-rx /hom/…

    2016-07-04

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-23 11:25

    寫的很棒,排版也很好,但是第10,12題有一點小小的瑕疵,在仔細看一下題目,加油

欧美性久久久久