首頁 > 軟體

Linux常見檔案管理命令解析

2020-06-16 16:54:19

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

(1)目錄管理命令
——ls:列出指定目錄下的內容
格式:ls [OPTION]... [FILE]...
   -a:顯示所有檔案包括隱藏檔案
   -A:顯示除.和..之外的所有檔案
   -l,--long:顯示檔案的詳細屬性資訊
   -h:對檔案大小進行單位換算,可能影響精度
   -d:檢視目錄本身而非其內部的檔案
   -r:逆序顯示檔案
   -R:遞回顯示檔案
範例:ls -lah / --詳細顯示/目錄下的所有檔案(包括隱藏檔案)
   ls -ldh /etc --詳細顯示/etc目錄本身
   ls -lhv / --倒序顯示/目錄下所有檔案(包括隱藏檔案)
   ls -R /etc    --遞回顯示/etc下所有檔案
——mkdir:建立目錄
格式:mkdir [OPTION]... DIRECTORY...
   -p:自動按需建立父目錄
   -m:建立目錄時給定許可權
範例:mkdir -p /data/test/A/B --在/data目錄下遞回建立/test/A/B三個目錄
   mkdir -m 711 -p /data/MODE/A --在/data目錄下遞回建立MODE/A兩個目錄同時指定目錄A的許可權為711
——rmdir:刪除目錄
格式:rmdir [OPTION]... DIRECTORY...
   -p:刪除目錄後如果其父目錄為空,則一併刪除
範例:rmdir -p /data/test/A --刪除A目錄後,test目錄為空,一併刪除
——cd:切換目錄
範例:cd ..:切換到上級目錄
   cd ~:切換回自己的家目錄
   cd -:在上一次目錄與當前目錄直接來回切換
——pwd:顯示當前目錄
(2)檔案管理命令
——cp:複製
格式:單源複製:cp [OPTION]... [-T] SOURCE DEST(如果DEST不存在則建立,存在則覆蓋)
   多源複製:cp [OPTION]... SOURCE... DIRECTORY(DEST必須為directory)
   -i:互動式複製,即覆蓋前提醒使用者確認
   -f:強制覆蓋目標檔案
   -r,-R:遞回複製目錄
範例:cp -if /data/[1-3].txt /data/test --test必須為目錄,把三個檔案一起複製到test中
   cp -r /data /practice --把data目錄及目錄下的內容一起複製到practice中
——mv:剪下
格式:單源複製:mv [OPTION]... [-T] SOURCE DEST(如果DEST不存在則建立,存在則覆蓋)
   多源複製:mv [OPTION]... SOURCE... DIRECTORY(DEST必須為directory)
   -i:互動式複製,即覆蓋前提醒使用者確認
   -f:強制覆蓋目標檔案
範例:mv -i /data/[1-3].txt /practice --把/data目錄下三個txt檔案剪下到/practice下
——rm:刪除
格式:rm [OPTION]... FILE...
   -i:互動式複製,即覆蓋前提醒使用者確認
   -f:強制覆蓋目標檔案
   -r,-R:遞回處理,將制定目錄下的所有檔案包括目錄一併刪除
範例:rm -rf /practice --遞回刪除/practice目錄
(3)文字內容管理命令
——cat:正向檢視文字內容
格式:cat [OPTION]... [FILE]...
   -n:給顯示的文字行編號
   -E:顯示行結束符號$
範例:cat -n /etc/fstab --檢視/etc/fatab內容並顯示行號
——tac:倒敘檢視文字內容
格式:tac [OPTION]... [FILE]...
範例:tac /etc/passwd --倒敘檢視文字內容
——head:顯示文字內容,預設顯示頭10行
格式:head [OPTION]... [FILE]...
   -n #:顯示文字頭#行內容
範例:head -5 /etc/passwd --顯示/etc/passwd檔案頭5行內容
——tail:顯示文字內容,預設顯示後10行
格式:tail [OPTION]... [FILE]...
   -n #:顯示文字後#行內容
   -f:檢視檔案尾部內容結束後不退出,跟隨顯示新增的行
範例:tail -8 /etc/passwd --顯示/etc/passwd檔案後8行內容
——more:分屏顯示文字內容,每次顯示一屏顯示完停止
格式:more [options] file [...]
   Space鍵:顯示文字下一屏內容
   Enter鍵:只顯示文字下一行內容
   b鍵:顯示文字上一屏內容
   q鍵:退出
——less:分屏顯示文字內容,不主動退出
格式:less [options] file [...]
   Space鍵:顯示文字下一屏內容
   Enter鍵:只顯示文字下一行內容
   b鍵:顯示文字上一屏內容
   q鍵:退出

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

(1)bash命令執行後通過狀態返回值來確定執行結果:

  成功:返回0

  失敗:返回1-255

  注意,命令執行完成後,其狀態返回值儲存於bash的特殊變數“$?”中。

  範例:

(2)bash命令列展開:

  ~:自動展開為當前使用者的家目錄

  ~USERNAME:自動展開為指定使用者的家目錄

  {}:{}內容可為一個用,隔開的路徑列表,將其展開為多個路徑

  範例:     

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

(1)、建立/tmp目錄下的:a_c, a_d, b_c, b_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

4、檔案的後設資料資訊有哪些,分別表示什麼含義,如何檢視?如何修改檔案的時間戳資訊。

(1)Linux檔案的資料分為兩類,一類為資料,即檔案的實際內容(資料本身);一類為後設資料,用來描述檔案的特徵(描述資料的屬性)。

(2)通過 stat 命令可以檢視檔案的後設資料,如圖:

  可以看到檔案的後設資料包括檔名(File)、大小(Size)、資料塊(Blocks)、IO塊(IO Block)、裝置(Device)、節點號(Inode)、硬連結(Links)、許可權(Access)、檔案所屬主(Uid)、檔案所屬組(Gid)、最近存取時間(Access Time)、最近檔案修改時間(Modify Time)、最近檔案屬性更改時間(Change Time)。

(3)通過 touch 命令修改檔案的時間戳資訊,其中:

  -c:指定的檔案不存在時不予建立(所有時間都會改變);

  -a:僅修改access time(實際change time會隨著改變);

  -m:僅修改modify time(實際change time會隨著改變);

  -t:使用指定的日期時間,格式[[CC]YY]MMDDhhmm[.ss](access time和modify time為指定時間,change time為當前系統時間)

  範例:   

    

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

通過 alias 命令可以檢視所有命令的別名或者定義別名,定義別名格式:alias NAME=COMMAND(定義的別名只對當前shell終端有效)。

  取消別名可通過命令 unalias。

  範例:     

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

  ls -d /var/l*[[:digit:]]*[[:lower:]]

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

  ls -d /etc/[0-9]*[^0-9]或ls -d /etc/[[:digit:]]*[^[:digit:]]

8、顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其它任意長度任意字元的檔案或目錄。

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

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

  touch /tmp/tfile-$(date '+%Y-%m-%d-%H-%M-%S')

10、複製/etc目錄下所有以p開頭,以非數位結尾的檔案或目錄到/tmp/mytest1目錄中。

  cp -r /etc/p*[^[:digit:]] /tmp/mytest1/

11、複製/etc目錄下所有以.d結尾的檔案或目錄至/tmp/mytest2目錄中。

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

12、複製/etc/目錄下所有以l或m或n開頭,以.conf結尾的檔案至/tmp/mytest3目錄中。

  cp -r /etc/[l,m,n]*.conf /tmp/mytest3/

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-02/151109.htm


IT145.com E-mail:sddin#qq.com