馬哥教育網絡班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
下一篇 2016-06-23

相關推薦

  • 使用iptables緩解DDOS及CC攻擊

    緩解DDOS攻擊 防止SYN攻擊,輕量級預防 iptables -N syn-flood iptables -A INPUT -p tcp –syn -j syn-flood iptables -I syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN iptables -A syn-fl…

    Linux干貨 2015-02-09
  • awk的詳細用法

    awk簡介 awk是一種編程語言,也可以說是一個腳本語言解釋器,主要是用來實現文本的格式化輸出。awk是取了其三位作者名字的首字母,即Aho,Weinberger和Kernighan。awk在Linux上是基于GNU協議實現的,即GNU awk,也就是gawk。 awk的工作模式 遍歷整個文件,從第一行到最后一行。每次僅讀取文件的一行,依照用戶指定的輸入分隔…

    Linux干貨 2016-11-14
  • 第一周課程練習

    1、描述計算機的組成及其功能。 計算機由硬件、操作系統、軟件三大部分組成。 硬件包括核心CPU(大腦處理中心)、必備電源(心臟動力來源)、硬盤(倉庫)內存(中轉站)、主板(協調)、網卡、聲卡、顯卡、風扇、光驅、顯示器、鼠標、鍵盤、麥克風音箱,閃存、藍牙等。  計算機五大組成部分及功能。   運算器:     …

    Linux干貨 2016-08-15
  • 本周學習總結

    這周我們學習了很多比較深的命令,有點燒腦,這次我總結一下sed命令。      sed 是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(patternspace ),接著用sed 命令處理緩沖區中的內容,處理完成后,把緩沖區的容送往屏幕。然后讀入下行,執行下一個循環。如果…

    2017-08-28
  • 馬哥教育網絡班第19期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; 2、創建一個大小為1G的swap分區,并創建好文件系統,并啟用之; 3、寫一個腳本  …

    Linux干貨 2016-08-08
  • 第二十周作業

    1、用Keepalived實現nginx與lvs的高可用集群; lvs+keepalived: 1)后端兩臺rs上安裝web服務并創建探測頁面 ~]# yum install nginx -y ~]# systemctl start nginx.service ~]# vim /usr/share/nginx/html/index.html <h1&g…

    2017-07-03

評論列表(1條)

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

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

欧美性久久久久