Linux文件管理相關命令


作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!

 

在了解了Linux文件管理背景知識之后, 我們可以學習一些命令來管理我們的文件。

 

文件操作相關

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

$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

 

歡迎閱讀“騎着企鵝采樹莓”系列文章


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM