26 文件和目錄管理

絕對(duì)路徑和相對(duì)路徑

文件和目錄名可以是絕對(duì)的,這表示名稱以 / 開(kāi)頭。
也可以相對(duì)當(dāng)前工作目錄,這表示不是以 / 開(kāi)頭。

文件或目錄的絕對(duì)路徑的組成為:
在 0 個(gè)或多個(gè)目錄名后附加一個(gè) /,其中每個(gè)目錄名的后面都有一個(gè) /,然后是一個(gè)最終文件名。

列出詳細(xì)內(nèi)容

在一臺(tái)存儲(chǔ)設(shè)備中,文件或目錄被包含到一個(gè)塊(block)組合中。有關(guān)文件的信息被包含在一個(gè)索引節(jié)點(diǎn)(inode)中,其中記錄如下信息:所有者、最后一次訪問(wèn)文件的時(shí)間、文件大小、是否為目錄以及誰(shuí)可以讀取或?qū)懭霐?shù)據(jù)。inode 編號(hào)也被稱為文件序列號(hào)(file serial number),并且在一個(gè)特定文件系統(tǒng)中是唯一的。我們可以使用-l
(或--format=long
)選項(xiàng)來(lái)顯示存儲(chǔ)在 inode 中的某些信息。

默認(rèn)情況下,ls 命令不會(huì)列出特殊文件,這些文件的文件名以點(diǎn)號(hào) (.) 開(kāi)頭。除根目錄外的所有目錄都至少包含兩個(gè)特殊條目:目錄本身 (.) 和父目錄 (..)。根目錄沒(méi)有父目錄。

[ian@echidna lpi103-2]$ ls -al
total 52
drwxrwxr-x. 2 ian ian 4096 2009-08-11 21:21 .
drwx------. 35 ian ian 4096 2009-08-12 10:55 ..
-rw-rw-r--. 1 ian ian 8 2009-08-11 21:17 sedtab
-rw-rw-r--. 1 ian ian 24 2009-08-11 14:02 text1
-rw-rw-r--. 1 ian ian 25 2009-08-11 14:27 text2
-rw-rw-r--. 1 ian ian 63 2009-08-11 15:41 text3
-rw-rw-r--. 1 ian ian 26 2009-08-11 15:42 text4
-rw-rw-r--. 1 ian ian 24 2009-08-11 18:47 text5
-rw-rw-r--. 1 ian ian 98 2009-08-11 21:21 text6
-rw-rw-r--. 1 ian ian 15 2009-08-11 14:41 xaa
-rw-rw-r--. 1 ian ian 9 2009-08-11 14:41 xab
-rw-rw-r--. 1 ian ian 17 2009-08-11 14:41 yaa
-rw-rw-r--. 1 ian ian 8 2009-08-11 14:41 yab
  • 第一個(gè)字段(本例中為 drwxrwxr-x 或 -rw-rw-r--)告訴我們,文件是一個(gè)目錄 (d) 還是一個(gè)普通文件 (-)。類型之后是針對(duì)所有者、所有者所在組的成員、每一個(gè)成員的三組特權(quán)。這三個(gè)值分別表示用戶、組、組成員是否擁有讀 (r)、寫 (w) 或 (x) 執(zhí)行權(quán)限。

  • 下一個(gè)字段是一個(gè)數(shù)字,告訴我們文件的硬鏈接的數(shù)量。inode 包含有關(guān)文件的信息。文件的目錄條目包含到文件的 inode 的硬鏈接(或指針),因此列出的每個(gè)條目都應(yīng)該至少擁有一個(gè)硬鏈接。目錄條目對(duì) . 條目和每個(gè)子目錄條目使用另外的硬鏈接。使用 .. 表示的主目錄有大量子目錄,因此包含 35 個(gè)硬鏈接。

  • 接下來(lái)兩個(gè)字段分別為文件的所有者和所有者的主組。

  • 下一個(gè)字段包含文件的長(zhǎng)度,以字節(jié)為單位。可以通過(guò)增加h選項(xiàng)使得輸出的文件大小帶有單位。

  • 倒數(shù)第二個(gè)字段包含最后一次修改的時(shí)間戳。

  • 最后一個(gè)字段包含文件或目錄的名稱。

  • ls -i 命令可以顯示 inode 號(hào)。
    ls -t 將按照修改時(shí)間排序(從最新到最舊)
    ls -lS 將生成一個(gè)按大小排序的長(zhǎng)列表(從最大到最小)。添加-r
    將反向排序。

復(fù)制、移動(dòng)和刪除文件

  • cp 用于復(fù)制一個(gè)或多個(gè)文件或目錄。您必須提供一個(gè)(或多個(gè))名和一個(gè)目標(biāo)名。源名或目標(biāo)名可能包含一個(gè)路徑。
    說(shuō)明:
  1. 如果目標(biāo)是一個(gè)現(xiàn)有目錄,那么所有源將被復(fù)制目標(biāo)中。
  2. 如果目錄是一個(gè)不存在的目錄,那么(單一)源也必須為一個(gè)目錄,并且源目錄的副本及其內(nèi)容使用目標(biāo)名作為新名稱。
  3. 如果目標(biāo)是一個(gè)文件,那么(單一)源必須也為文件,而源文件的副本使用目標(biāo)名作為新名,替換任何現(xiàn)有的具有相同名稱的文件。
  • mv
    用于移動(dòng)重命名一個(gè)或多個(gè)文件或目錄。通常使用的名稱遵循使用cp 執(zhí)行復(fù)制的相同規(guī)則;可以重命名一個(gè)文件或?qū)⒁唤M文件移動(dòng)到一個(gè)新目錄中。因?yàn)槊Q只是一個(gè)鏈接到 inode 的目錄條目,對(duì) inode 數(shù)量沒(méi)有改變不應(yīng)感到奇怪,除非該文件移動(dòng)到另一個(gè)文件系統(tǒng)中,在這種情況下,移動(dòng)它的行為更像在復(fù)制之后刪除原始文件。

  • rm 用于刪除一個(gè)或多個(gè)文件。

下面是關(guān)于文件inode的一個(gè)實(shí)例:

ian@Z61t-u14:~/lpi103-2$ cp text1 text1.bkp
ian@Z61t-u14:~/lpi103-2$ mkdir backup
ian@Z61t-u14:~/lpi103-2$ cp text1 backup/text1.bkp.2
ian@Z61t-u14:~/lpi103-2$ ls -i text1 text1.bkp backup
787425 text1 787445 text1.bkp
backup:
787447 text1.bkp.2
ian@Z61t-u14:~/lpi103-2$ 
mv text1.bkp backup
ian@Z61t-u14:~/lpi103-2$ 
mv backup/text1.bkp backup/text1.bkp.1
ian@Z61t-u14:~/lpi103-2$ 
ls -i text1 text1.bkp backup
ls: cannot access text1.bkp: No such file or directory
787425 text1
backup:
787445 text1.bkp.1 787447 text1.bkp.2

通常,cp 命令會(huì)復(fù)制一個(gè)文件來(lái)覆蓋現(xiàn)有副本,只要現(xiàn)有文件是可寫的。另一方面,如果目標(biāo)存在,mv 就不會(huì)移動(dòng)或重命名文件。

有一些與 cp 和mv 的這一行為相關(guān)的有用選項(xiàng)。
**-f 或--force **
導(dǎo)致cp 嘗試刪除現(xiàn)有目標(biāo)文件,即使該文件是不可寫的。
**-i 或--interactive **
要求在嘗試替換現(xiàn)有文件之前進(jìn)行確認(rèn)。
**-b 或--backup **
對(duì)任何要替換的文件進(jìn)行備份。

ian@Z61t-u14:~/lpi103-2$ cp text2 backup
ian@Z61t-u14:~/lpi103-2$ cp --backup=t text2 backup
ian@Z61t-u14:~/lpi103-2$ ls backup
text1.bkp.1 text1.bkp.2 text2 text2.~1~
ian@Z61t-u14:~/lpi103-2$ 
rm backup/text2 backup/text2.~1~
ian@Z61t-u14:~/lpi103-2$ ls backup
text1.bkp.1 text1.bkp.2

cp 命令默認(rèn)情況下為新文件創(chuàng)建了一個(gè)新時(shí)間戳。所有者和組也被設(shè)置為執(zhí)行復(fù)制的用戶的所有者和組。可以使用-p 選項(xiàng)保留選定的屬性。請(qǐng)注意,根用戶可能是唯一可以保留所有權(quán)的用戶。

創(chuàng)建和刪除目錄

  • Mkdir 創(chuàng)建目錄
    如果您想創(chuàng)建嵌套的子目錄,比如 d1/d2/d3,可能會(huì)失敗,因?yàn)?d1 和 d2 目錄不存在, 這個(gè)時(shí)候可以使用-p 選項(xiàng)來(lái)創(chuàng)建。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,401評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 176,069評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 62,873評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,635評(píng)論 6 408
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 55,128評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 42,365評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,881評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,733評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,935評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,172評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 34,582評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 35,821評(píng)論 1 282
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,595評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,908評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容