要在 Linux 中刪除檔案或資料夾,使用的 Linux 命令是 rm
或 rmdir
。rm 命令的意思是 “remove”,用於刪除檔案和目錄。通過使用各種選項,你可以刪除檔案、目錄,甚至是目錄中的內容。例如,rm filename
會刪除一個檔案,而 rm -r directoryname
會刪除一個目錄及其所有內容。
rmdir
命令代表 “刪除目錄”,專門用於刪除空目錄。如果目錄中包含任何檔案或子目錄,rmdir
命令將不會刪除它,並會顯示一條錯誤資訊。相比之下,帶有 -r
選項的 rm
命令可以刪除非空目錄。從本質上講,rm
的用途更廣泛,而 rmdir
更專門用於刪除空目錄。
在這篇文章中,我們將介紹使用 rm
和 rmdir
的不同方法。
如何使用 rm
1. 刪除一個檔案
rm [file]
rm
命令用於刪除單個檔案。為此,請鍵入 rm
,然後輸入要刪除的檔名。
示例:
下面的命令用於刪除名為 example.txt
的特定檔案,該檔案位於名為 myfolder
的目錄中。
rm myfolder/example.txt
下面舉例說明其工作原理:
- 假設你有一個名為
myfolder
的目錄,目錄中有一個名為example.txt
的檔案。 - 執行命令
rm myfolder/example.txt
。 myfolder
中的檔案example.txt
將被刪除,預設情況下終端中不會顯示任何輸出資訊。- 如果你再次嘗試訪問檔案
example.txt
,就會收到類似 “No such file or directory
” 的錯誤資訊。
在執行該命令之前,如果有
myfolder/ └── example.txt
執行命令後,結構如下:
myfolder/
2. 無需確認即可刪除檔案
rm -f [file]
該選項允許使用者無需確認即可刪除受防寫的檔案。
示例:
假設當前目錄中有一個名為 file1.txt
的檔案,你想刪除它。可以執行以下命令
rm -f file1.txt
由於使用了 -f
選項,因此不會有確認提示,檔案將被立即刪除。如果操作成功,終端將不會顯示任何輸出。如果之後嘗試檢視目錄內容,會發現 file1.txt
已不復存在。
3. 刪除多個檔案
rm [file1] [file2] [file3]
使用 rm
命令,以檔名作為引數,一次刪除多個檔案。
示例:
在執行該命令前,假設你的目錄中有以下檔案:
file1.txt file2.txt file3.txt otherfile.txt
你執行了 rm file1.txt file2.txt file3.txt
命令。
執行該命令後, file1.txt
, file2.txt
, 和 file3.txt
檔案被刪除,你的目錄現在看起來像這樣:
otherfile.txt
4. 顯示輸出資訊
rm -v [filename]
通過 -v
(verbose)選項,可以獲取有關刪除內容的資訊。
示例:
當你執行 rm -v example.txt
命令時,會得到以下輸出結果:
removed 'example.txt'
在這個例子中,檔案 example.txt
被刪除,系統會列印一條確認檔案已被刪除的資訊。如果檔案不存在,則會出現類似 rm: cannot remove 'example.txt': No such file or directory
的錯誤資訊。
5. 刪除檔案前提示確認
rm -i [filename]
該選項用於在刪除檔案前要求確認。輸入 y
(是)確認,輸入 n
(否)停止。
示例:
假設您有一個名為 example.txt
的檔案,並執行了該命令:
rm -i example.txt
系統將提示您類似這樣的資訊:
remove regular file 'example.txt'?
然後你需要鍵入 y
(表示是)或 n
(表示否)來確認或拒絕刪除。如果鍵入 y
並按 Enter 鍵,檔案 example.txt
將被刪除。如果鍵入 n
,檔案將保持不動。
remove regular file 'example.txt'? y
之後,如果您用 ” y
” 確認, example.txt
將被刪除。
如何使用 rmdir
該命令既可以刪除目錄,也可以刪除目錄中的檔案。除了不能用來刪除檔案外,它與 rm -r
命令沒有明顯區別。
rmdir
命令的一般語法:
$ rmdir [OPTION...] [DIRECTORY...]
1. 刪除一個目錄
rmdir [directory]
使用此命令可刪除一個目錄,但只有當該目錄為空時才會被刪除。
示例:
假設你有一個名為 myfolder
的目錄,但它是空的。執行命令:
rmdir myfolder
目錄 myfolder
將被刪除,如果操作成功,則不會有任何輸出資訊。
但是,如果 myfolder
不為空或不存在,則會收到一條錯誤資訊。例如,如果 myfolder
包含檔案或子目錄,你可能會看到:
rmdir: failed to remove 'myfolder': Directory not empty
或者如果 myfolder
不存在:
rmdir: failed to remove 'myfolder': No such file or directory
2. 刪除多個目錄
rmdir [folder1] [folder2] [folder3]
該命令允許您同時刪除多個目錄,但所有目錄都必須為空。
示例:
Linux 中的 rmdir folder1 folder2 folder3
命令試圖刪除名為 folder1
, folder2
, 和 folder3
的目錄。只有當這三個目錄都為空時,這條命令才會成功;否則,系統將顯示一條錯誤資訊。
下面是一個示例,說明如何執行該命令:
如果 folder1
, folder2
, 和 folder3
都是空目錄,命令將刪除它們,不會有任何輸出資訊。
如果其中任何一個目錄不是空目錄或不存在,則會針對每個有問題的目錄顯示錯誤資訊。
folder2
不為空時的輸出示例:
rmdir: failed to remove 'folder2': Directory not empty
在這種情況下,folder1
和 folder3
如果是空的,仍會被移除,但 folder2
將保持不變。
3. 刪除父目錄
rmdir -p [directory-path]
選項 -p
會刪除指定目錄及其父目錄。
示例:
下面舉例說明 rmdir -p folder_a/folder_b
命令是如何工作的:
假設你有一個這樣的目錄結構:
folder_a └── folder_b
如果 folder_a
和 folder_b
都是空的,執行 rmdir -p folder_a/folder_b
命令將首先刪除 folder_b
,然後,由於 folder_a
變為空的,它也將刪除 folder_a
。
如果 folder_a
或 folder_b
中有任何檔案或子目錄,該命令將不會刪除它們,你會收到類似的錯誤資訊:
rmdir: failed to remove 'folder_a/folder_b': Directory not empty
在成功的情況下,不會有任何輸出,兩個目錄都會被刪除。
更多 Linux 命令
下面羅列了最常見的一些 Linux 命令,您可以根據自己的需要查閱對應命令的詳細解析:
目錄操作 | rmdir · cd · pwd · exa · ls |
檔案操作 | cat · cp · dd · less · touch · ln · rename · more · head |
檔案系統操作 | chown · mkfs · locate |
網路 | ping · curl · wget · iptables · mtr |
搜尋和文字處理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系統資訊和管理 | env · history · top · who · htop · glances · lsof |
使用者和會話管理 | screen · su · sudo · open |
此外,我們還整理 Linux 命令列大全,以幫助大家全面深入地學習 Linux。
評論留言