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