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

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

    文件管理類命令有:cp,mv,rm

    1. cp:copy

    

     使用方法:  

            單源復制:cp [OPTION]… [-T] SOURCE DEST

            多源復制:cp [OPTION]… SOURCE… DIRECTORY

            cp [OPTION]… -t DIRECTORY SOURCE…

    

     常用選項:

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

        -f:強制覆蓋目標文件

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

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

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

         –preserv=

              mode:權限

              ownership:屬主和屬組

              timestamps:時間戳

              context:安全標簽

              xattr:擴展屬性

              links:符號鏈接

              all:上述所有屬性

        

     實例:

     [root@test samba]# cp -air /etc/samba /tmp   將samba目錄下的所有文件包括子目錄及其所有屬性以交互的方式的復制到/tmp目錄下

     [root@test samba]# ll /etc/samba /tmp/samba/

     /etc/samba:

     total 20

     -rw-r–r–. 1 root root   20 May 12 13:23 lmhosts

     -rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf

     -rw-r–r–. 1 root root   97 May 12 13:23 smbusers

    

     /tmp/samba/:

     total 20

     -rw-r–r–. 1 root root   20 May 12 13:23 lmhosts

     -rw-r–r–. 1 root root 9778 May 12 13:23 smb.conf

     -rw-r–r–. 1 root root   97 May 12 13:23 smbusers

    

   2. mv:move

    

    使用方法:

     mv [OPTION]… [-T] SOURCE DEST

    mv [OPTION]… SOURCE… DIRECTORY

    mv [OPTION]… -t DIRECTORY SOURCE..  

      

    常用選項:

           -i:交互式;

           -f:force

    實例:

    [root@test tmp]# mv samba  mv_samba  將samba目錄重命名為mv_samba

    [root@test tmp]# ll |grep *samba               

     drwxr-xr-x. 3 root root 4096 Aug 19 09:43 mv_samba

    

     [root@test tmp]# mv test  test2   將test目錄移動到test2目錄下

    

    

   3. rm:remove

    

     使用方法:

     rm [OPTION]… FILE…

    

    常用選項:

         -i:interactive

         -f:force

         -r: recursive

    

    實例:

     [root@test tmp]# rm -rf mv_samba   刪除mv_samba目錄及目錄內所有子目錄和文件

    

             危險操作:rm -rf /*

    

             注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄;(模擬回收站)

    

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

 1.bash的基礎特性:命令的執行狀態結果

  命令執行的狀態結果:

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

     成功:0

     失?。?-255

    

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

  示例 :

     [root@test tmp]# ll tmp   命令失敗輸出結果為:2

     ls: cannot access tmp: No such file or directory

     [root@test tmp]# echo $?

     2

  

     [root@test tmp]# ll tfile-2016-08-20-22-17-45   命令成功輸出結果為:0

     -rw-r–r–. 1 root root 0 Aug 20 22:17 tfile-2016-08-20-22-17-45

     [root@test tmp]# echo $?

     0

    

 2.bash的基礎特性之:命令行展開

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

  示例:

     [root@test tmp]# cd ~   進入root家目錄

     [root@test ~]# pwd

     /root

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

    

  示例:

     [root@test tmp]# mkdir ./{a,b}  在tmp目錄同時創建a,b兩個目錄

     [root@test tmp]# ll -d a b

     drwxr-xr-x. 2 root root 4096 Aug 20 22:34 a

     drwxr-xr-x. 2 root root 4096 Aug 20 22:34 b

    

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

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

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

   mkdir /tmp/{a_{c,d},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

   [root@test tmp]# mkdir -p 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}}

   [root@test tmp]# tree 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

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

   元數據信息:

     File:文件名

     Size:文件大小

     Blocks:多少塊

     IO Block: 塊大小

     regular file:文件類型

     Device: 設備

     Inode: 索引節點

     Links: 連接數

     Access: (0600/-rw——-) 文件權限

     Uid: 所屬用戶ID  

     Gid: 所屬組ID  

     Access: 訪問時間

     Modify: 修改時間

     Change: 改動時間

    

  查看文件的元數據:stat FILE…

    

  示例:

     [root@test tmp]# stat sshd_config   

      File: `sshd_config'

      Size: 3880            Blocks: 8          IO Block: 4096   regular file

     Device: fd00h/64768d    Inode: 68946       Links: 1

     Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

     Access: 2016-08-20 23:00:29.481616790 +0800

     Modify: 2016-08-20 23:00:29.481616790 +0800

     Change: 2016-08-20 23:00:29.481616790 +0800

    

    

  修改文件時間戳信息:

    

  touch命令:

     touch – change file timestamps

    

     touch [OPTION]… FILE…  注:不加選項時,所有時間都會改變

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

     -a: 僅修改access time;

     -m:僅修改modify time;

     -t STAMP

     [[CC]YY]MMDDhhmm[.ss]

  示例:

     [root@test tmp]# touch -m -t 200201010101.01 sshd_config 

     [root@test tmp]# stat sshd_config   更改時間改為:2002年1月1日1點1分1秒(注:改動時間為命令執行時間)

      File: `sshd_config'

      Size: 3880            Blocks: 8          IO Block: 4096   regular file

     Device: fd00h/64768d    Inode: 68946       Links: 1

     Access: (0600/-rw——-)  Uid: (    0/    root)   Gid: (    0/    root)

     Access: 2016-08-20 23:00:29.481616790 +0800

     Modify: 2002-01-01 01:01:01.000000000 +0800

     Change: 2016-08-20 23:18:48.023616905 +0800

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

  1.定義命令別名格式:

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

    

   實例:

     [root@test ~]# alias cls=clear   用cls命令實現清屏功能

    

  2.引用命令執行結果:

    $(COMMAND)  或  $'COMMAND'

    

   實例:

     [root@test tmp]# mkdir $(date +%Y-%m-%d)   創建以今天的日期為名字的目錄

     [root@test tmp]# ll

     total 60

     drwxr-xr-x.  2 root root 4096 Aug 20 21:22 2016-08-20

6、顯示/var目錄下所有以l開頭,且非數字結尾的文件或目錄。

      [root@test var]# ls -d l*[^0-9]          

      lib  local  lock  log

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

     [root@test var]# ls -d /etc/[0-9]*[^0-9]

     ls: cannot access /etc/[0-9]*[^0-9]: No such file or directory

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

     1.[root@test var]# ls /etc/[^a-z][a-z]*

      ls: cannot access /etc/[^a-z][a-z]*: No such file or directory

     2.[root@test var]# ls /etc/[^[:alpha:]][a-z]*

      ls: cannot access /etc/[^[:alpha:]][a-z]*: No such file or directory

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

     [root@test tmp]# touch tfile-$(date +%F-%H-%M-%S)

     [root@test tmp]# ls |grep tfile

     tfile-2016-08-20-22-17-45

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

     1.[root@test tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1

     2.[root@test tmp]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1

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

    [root@test tmp]# cp -r /etc/*.d /tmp/mytest2

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

    [root@test tmp]# cp -r /etc/[lmn]*.conf /tmp/mytest3

原創文章,作者:N22_上海_長清,如若轉載,請注明出處:http://www.www58058.com/38129

(0)
N22_上海_長清N22_上海_長清
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相關推薦

  • 高級文件系統管理 之RAID

    高級文件系統管理 之RAID 軟RAID ? mdadm:為軟RAID提供管理界面 ?                 為空余磁盤添加冗余 ?      &nb…

    Linux干貨 2016-08-30
  • 設定Linux自動登陸

    設定Linux自動登陸 在實驗場景中我們可能會經常重新啟動Linux,然后反復輸入賬戶密碼登陸。為了在每次啟動后快速進入系統減少在實驗場景中不必要的工作,我們可以設定Linux在啟動后自動登陸到指定賬戶(實驗中一般為root賬戶)?;贚inux一切皆文件的思想,我們可以通過修改配置文本的方式決定是否啟用自動登錄,以及自動登錄的賬戶是普通用戶賬戶還是root…

    Linux干貨 2017-07-15
  • 磁盤管理、文件系統、掛載

    磁盤管理 一磁盤分區 磁盤分區有兩種方式:MBR和GPT MBR:1)按照柱面進行分區;分區不超過2T 2)關于0磁道0扇區的前512bytes;其中的446bytes為boot loader;中間的64bytes裝有分區表;2bytes為55AA 3)可分4個分區;3個主分區+1擴展(N個邏輯分區)擴展分區最多一個。 GPT分區:1)GUID patiti…

    Linux干貨 2016-08-29
  • linux中常用文本處理工具

       在linux文件系統中經常會使用到文本處理工具,這里簡單介紹幾種文本處理工具: 抽取文本的工具 文件內容:less和cat 文件截?。篽ead和tail 按列抽?。篶ut 按關鍵字抽?。篻rep , egrep 文件查看命令:cat, tac,rev,more,less   cat命令是用戶經常使用的用來查看文本…

    Linux干貨 2016-08-07
  • Linux mdadm命令解析

    mdadm命令解析 一,在Linux系統中目前MD(Multiple Devices)虛擬塊設備的方式實現軟件RAID,利用多個底層的塊設備虛擬出一個新的虛擬設備,并且利用條帶化(stripping)技術將數據塊均勻分布到多個磁盤上來提高虛擬設備的讀寫性能,利用不同的數據冗余算法來保護用戶數據不會因為某個塊設備的故障而完全丟失,而且還能在設備被替換后將丟失的…

    Linux干貨 2017-08-31

評論列表(2條)

  • 馬哥教育
    馬哥教育 2016-08-22 14:17

    寫的很好,排版還可以在漂亮一點,加油,3大題2小題在仔細看看老師出的題目

    • N22_長清
      N22_長清 2016-08-22 15:15

      @馬哥教育老師,我是進入tmp目錄下使用的mkdir -p mylinux/ , [root@test tmp]# 相對路徑 ,是這個有問題嗎?

欧美性久久久久