Linux檔案管理相關命令

ii_chengzi發表於2020-02-19

在瞭解了 背景知識之後, 我們可以學習一些命令來管理我們的檔案。
 
檔案操作相關

有一些命令可以幫助我們"修剪"之前看到的檔案樹。

$touch a.txt

如果a.txt不存在,生成一個新的空文件a.txt。如果a.txt存在,那麼只更改該文件的時間資訊。(這個命令實際上用得並不廣泛,但可以幫我們建立一個空檔案來實驗下面操作)

$ls .

是list的簡寫,列出當前目錄下的所有檔名

$ls -l a.txt

列出檔案的詳細資訊

 

$cp a.txt b.txt

cp是copy的簡寫,用來複制檔案。在工作目錄下,將a.txt複製到檔案b.txt

$cp a.txt ..

將a.txt複製到父目錄的a.txt

 

$mv a.txt c.txt

mv是move的簡寫,用來移動檔案。將a.txt移動成為c.txt (相當於重新命名rename)

$mv c.txt /home/vamei

將c.txt移動到/home/vamei目錄

 

$rm a.txt

rm是remove的縮寫,用於刪除檔案。刪除a.txt

$rm -r /home/vamei

刪除從/home/vamei向下的整個子檔案系統。-r表示recursive, 是指重複刪除的操作,/home/vamei資料夾為空,然後刪除/home/vamei資料夾本身。

(程式設計師總是對這個命令很感興趣,   $rm -rf /   它會刪除整個檔案樹。f的目的是告訴rm放心幹,不用再確認了…… 一般情況下,應該沒有人會用這個命令。)

 

$mkdir /home/vamei/good

建立一個新的目錄

$rmdir /home/vamei/good

刪除一個空的目錄

 
檔案許可權相關

$chmod 755 a.txt

(你必須是檔案a.txt的擁有者才能執行此命令。或者以$sudo chmod 755 a.txt的方式,以超級使用者的身份執行該命令。)

change mode 改變a.txt的讀、寫以及執行許可權。還記得每個檔案都有九位的讀寫執行許可權(參看 Linux檔案管理背景知識),分為三組,分別對應擁有者(owner),擁有組(owner group)中的使用者和所有其他使用者(other)。在這裡,我們也有三個數字,755,對應三個組。7被分配給擁有者,5被分配給擁有組,最後一個5分配給其它使用者。Linux規定: 4為有讀取的權利,2為有寫入的權利,1為有執行的權利。我們看到的7實際上是4 + 2 + 1,表示擁有者有讀、寫、執行三項權利。(想想5 意味著什麼)

這時,執行$ls -l a.txt, 你應該看到九位的許可權變成了rwxr-xr-x。根據自己的需要,你可以用比如444, 744代替755,來讓檔案有不同的許可權。

 

$sudo chown root a.txt

change owner 改變檔案的擁有者為root使用者。這個命令需要有超級使用者許可權才能執行,所以我們在命令之前加上sudo。

$sudo chgrp root a.txt

change group 改變檔案的擁有組為root組

 
Linux檔名通配表示式

(wild card, 也叫filename pattern matching)

 

之前所講的命令,比如ls, mv, cp都可以接收多個引數,比如:

$ls -l a.txt b.txt c.txt

就可以列出這三個檔案的所有資訊。

 

有時候,我們想列出工作目錄下所有的以.txt結尾的檔案的資訊,可以用下面的方式:

$ls -l *.txt

*.txt的寫法就運用了Linux通配表示式。它與正規表示式相類似,但語法有所不同。

 

Filename Pattern Matching       對應含義

 

*                               任意多個任意字元

 

?                               任意一個字元

[kl]                            字元k或者字元l

 

[0-4]                           數字0到4字元中的一個

 

[b-e]                           b到e字元中的一個

 

[^mnp]                          一個字元,這個字元不是m,n,p

Linux會找到符合表示式的檔名,然後用這些檔名作為引數傳遞給命令。注意,當使用rm的時候,要格外小心。下面兩個命令,只相差一個空格,但效果大為不同:

$rm * .txt

$rm *.txt

第一個命令會刪除當前目錄下所有檔案!

 
總結

touch, ls, mv, cp, rm, mkdir, rmdir

chmod, chown, chgrp

wild card



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2676237/,如需轉載,請註明出處,否則將追究法律責任。

相關文章