【Linux】一步一步学Linux——rm命令(32)
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 附錄
01. 命令概述
刪除 (unlink) 文件。
rm命令可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對于鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。
注意:使用rm命令要格外小心。因為一旦刪除了一個文件,就無法再恢復它。所以,在刪除文件之前,最好再看一下文件的內容,確定是否真要刪除。rm命令可以用-i選項,這個選項在使用文件擴展名字符刪除多個文件時特別有用。使用這個選項,系統會要求你逐一確定是否要刪除。這時,必須輸入y并按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會被刪除。
02. 命令格式
rm [選項]… 文件…
03. 常用選項
刪除 (unlink) 文件。-f, --force 強制刪除。忽略不存在的文件,不提示確認-i 在刪除前需要確認-I 在刪除超過三個文件或者遞歸刪除前要求確認。此選項比-i 提示內容更少,但同樣可以阻止大多數錯誤發生--interactive[=WHEN] 根據指定的WHEN 進行確認提示:never,once (-I),或者always (-i)。如果此參數不加WHEN 則總是提示--one-file-system 遞歸刪除一個層級時,跳過所有不符合命令行參數的文件系統上的文件--no-preserve-roo 不特殊對待"/"--preserve-root 不允許刪除"/"(默認)-d, --dir 刪除空目錄-r, -R, --recursive 遞歸刪除目錄及其內容-v, --verbose 詳細顯示進行的步驟--help 顯示此幫助信息并退出--version 顯示版本信息并退出默認時,rm 不會刪除目錄。使用--recursive(-r 或-R)選項可刪除每個給定 的目錄,以及其下所有的內容。要刪除第一個字符為"-"的文件 (例如"-foo"),請使用以下方法之一:rm -- -foorm ./-foo請注意,如果使用rm 來刪除文件,通常仍可以將該文件恢復原狀。如果想保證 該文件的內容無法還原,請考慮使用shred。04. 參考示例
4.1 刪除文件,不加任何選項(centos7.5)
[deng@localhost test]$ ls c d dir dir1 passwd systemd [deng@localhost test]$ rm c [deng@localhost test]$ ls d dir dir1 passwd systemd [deng@localhost test]$4.2 同時刪除多個文件 每個文件以空格分隔
[deng@localhost test]$ rm d passwd [deng@localhost test]$ ls dir dir1 systemd [deng@localhost test]$4.3 強制刪除。忽略不存在的文件,不提示確認
使用 -f 選項會強制進行刪除操作。如果目標文件不能打開,可以用 -f 嘗試。
[deng@localhost test]$ ls a dir dir1 systemd [deng@localhost test]$ rm -f a [deng@localhost test]$ rm -f a [deng@localhost test]$4.4 詳細顯示進行的步驟
[deng@localhost test]$ ls a b c d dir dir1 systemd [deng@localhost test]$ rm -v a b c d 已刪除"a" 已刪除"b" 已刪除"c" 已刪除"d" [deng@localhost test]$4.5 在刪除前需要確認
使用 -i 選項,啟用交互模式,會詢問是否繼續刪除。如果確認刪除,輸入 y(yes);如果不想刪除,輸入 n(no)。
[deng@localhost test]$ ls a b c d dir dir1 systemd [deng@localhost test]$ rm -i a rm:是否刪除普通空文件 "a"?y [deng@localhost test]$4.6 遞歸刪除目錄及其內容
要刪除一個目錄以及目錄下所有的文件,需要添加 -r 或者 -R 選項來遞歸實現。
[deng@localhost test]$ mkdir -p a1/b/c/d [deng@localhost test]$ rm a1 rm: 無法刪除"a1": 是一個目錄 [deng@localhost test]$ rm -r a1 [deng@localhost test]$4.7 刪除鏈接文件
對于刪除鏈接文件,只是刪除鏈接文件,而不會刪除鏈接文件所指向的文件。
[deng@localhost test]$ ls -l a_link lrwxrwxrwx 1 deng deng 1 7月 13 23:31 a_link -> b [deng@localhost test]$ rm a_link [deng@localhost test]$ ls b c d dir dir1 systemd [deng@localhost test]$4.8 刪除以“-”開頭的文件
[deng@localhost test]$ touch -- -file [deng@localhost test]$ ls b c d dir dir1 -file systemd [deng@localhost test]$ rm -- -file [deng@localhost test]$ ls b c d dir dir1 systemd [deng@localhost test]$或者
[deng@localhost test]$ touch ./-file [deng@localhost test]$ ls b c d dir dir1 -file systemd [deng@localhost test]$ rm -file rm:無效選項 -- l Try 'rm ./-file' to remove the file "-file". Try 'rm --help' for more information. [deng@localhost test]$ rm ./-file因為一般“-”后面接的是選項。因此,單純地使用 rm -file,系統的命令就會誤判。所以,只能用避過首字符“-”的方式(加上本目錄 ./)。
4.9 自定義回收站功能
myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }上面的操作過程模擬了回收站的效果,即刪除文件的時候只是把文件放到一個臨時目錄中,這樣在需要的時候還可以恢復過來。
05. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
總結
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——rm命令(32)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——c
- 下一篇: 【Linux】一步一步学Linux——t