自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你會使用 unlink 刪除文件嗎?

系統(tǒng) Linux
在 Linux 中刪除文件,我們通常使用 rm 命令。除此以外,還有另外一個命令,可以用于刪除文件和鏈接,這就是 unlink 命令。雖然它聽起來像是只能刪除 Linux 系統(tǒng)中的鏈接,但實際上,也可以刪除文件。

在 Linux 中刪除文件,我們通常使用 rm 命令。除此以外,還有另外一個命令,可以用于刪除文件和鏈接,這就是 unlink 命令。雖然它聽起來像是只能刪除 Linux 系統(tǒng)中的鏈接,但實際上,也可以刪除文件。

Linux 系統(tǒng)中刪除文件的過程是非常迅速的,只是一瞬間。當(dāng)你刪除文件時,Linux 內(nèi)核發(fā)現(xiàn)它對應(yīng)于索引節(jié)點編號 X,系統(tǒng)會將其從目錄列表中刪除文件條目,并將索引節(jié)點 X 的鏈接計數(shù)減少1,這時候,索引節(jié)點 X 的鏈接計數(shù)為0,內(nèi)核會認(rèn)為沒有人鏈接到此索引節(jié)點,所以就可以安全的刪除索引節(jié)點,并刪除與其關(guān)聯(lián)的數(shù)據(jù)塊。

現(xiàn)在我們來看一下如何使用 unlink 命令。

unlink 命令

如前文所述,unlink 命令用于刪除文件和鏈接,其中鏈接包括軟鏈接和硬鏈接。它是最簡單的命令之一,除了 --help 以及 --version 以外,沒有任何其他選項。

使用 unlink 刪除文件,可以這樣:

unlink filename

刪除鏈接,可以這樣使用:

unlink link_name

刪除成功后,不會有任何輸出:

這就是 unlink 命令的功能,除此以外不做任何其他事情。

unlink 不能同時刪除多個文件和鏈接

rm 命令可以一次刪除多個文件。但是 unlink 卻不能,它一次只能刪除一個文件或者鏈接,而且,也不能使用全局模式(globbing patterns)。

如果我們嘗試給定多個文件的話,它會拋出一個錯誤,執(zhí)行失敗:

[gliu@fedora ~]$ unlink *.txt
unlink: extra operand ‘file2.txt’
Try 'unlink --help' for more information.

同時刪除多個鏈接也會如此。

使用 unlink 不能刪除目錄

GNU 實現(xiàn)下的 unlink 命令是無法刪除目錄的,如果給定的文件名稱是一個目錄,就會報錯:

[gliu@fedora ~]$ unlink new_dir
unlink: cannot unlink 'new_dir': Is a directory

rm 和 unlink 的區(qū)別

unlink 命令使用 unlink 系統(tǒng)命令,而 rm 命令使用 unlinkat 系統(tǒng)調(diào)用,兩個系統(tǒng)調(diào)用幾乎相同。但是這兩個命令之間還是有一些明顯的差異。

如前文所述,unlink 命令在同一時間只能刪除一個文件或鏈接,而 rm 命令可以刪除多個;unlink 命令不能刪除目錄,而 rm 命令能刪除目錄。

rm 命令在執(zhí)行的時候,首先會安全檢查,如果你沒有文件的寫權(quán)限,那么系統(tǒng)會要求你給出寫權(quán)限(sudo或者切換至管理員用戶),或者使用強制刪除選項 -f;而 unlink 則不會進行安全檢查,直接刪除文件。

另外,與 rm 不同,unlink 沒有其他選項。

在某些情況下,相比于 rm,你可能更喜歡使用 unlink。比如你希望強制刪除一個文件,而不考慮安全或者權(quán)限問題;或者如果刪除失敗(比如文件不存在)的話你希望能看到報錯信息,這種情況下就可以使用 unlink。因為使用 rm -f 強制刪除文件,如果文件不存在的話,不會顯示任何錯誤信息。

責(zé)任編輯:龐桂玉 來源: 良許Linux
相關(guān)推薦

2021-05-12 07:50:05

Linux運維Linux系統(tǒng)

2020-08-13 09:37:20

Python代碼命令

2022-06-12 16:05:22

vimLinux

2024-11-19 08:35:49

前端開發(fā)數(shù)組

2020-12-09 10:34:51

htopLinux命令

2015-11-06 13:37:25

Git配置文件Linux

2019-09-02 08:08:30

緩存HTTP數(shù)據(jù)庫

2017-05-23 14:59:54

交換機接口寬帶

2009-11-05 15:25:36

WCF服務(wù)端配置

2020-03-10 13:33:16

iOS 13微信iPhone

2021-07-07 09:31:41

數(shù)字人民幣數(shù)字貨幣區(qū)塊鏈

2018-11-26 15:29:46

5GWiFi網(wǎng)絡(luò)

2020-11-04 10:31:29

Jupyter NotPython數(shù)據(jù)分析

2023-07-03 08:01:38

AI模型AIGC

2020-12-04 08:32:12

Linux特殊名字

2021-10-09 10:50:30

JavaScript編程開發(fā)

2019-09-24 19:00:41

Linuxrm命令unlink命令

2024-03-19 00:10:00

aiofilesPython開發(fā)

2019-11-14 08:00:00

微軟EdgeLinux

2023-04-07 08:46:41

Stream流map()Java8
點贊
收藏

51CTO技術(shù)棧公眾號