Linux 遞迴刪除檔案

2021-06-27 14:25:38 字數 542 閱讀 3893

有人問 rm -rf 無法刪除子目錄中特定檔案的問題,這裡總結一下

linux 為什麼 用rm -rf 無法遞迴刪除子目錄中的特定檔案

比如 如下的檔案目錄  111 是檔案. 1 是資料夾

.└── 1

├── 1

│   ├── 1

│   └── 111

└── 111

我想要刪除 111

rm -rf 111  結果值刪除了當前目錄下的111. 而沒有把所有的111 刪除掉.

原因是:

這裡的 -r 是遞迴的意思, 但是是遞迴刪除資料夾裡面的子目錄及所有的檔案, 他沒有搜尋特定檔案的意思,所以無法刪除子目錄中的特定檔案

正確的方法

find . -name "111" -exec rm -f {} \;或者

find . -name "111"  | xargs rm -f

關於xargs 和 exec的命令用法,請參考這篇文章 

linux遞迴強行刪除目錄和檔案

在linux中刪除乙個目錄很簡單,使用rm rf命令即可解決。直接rm就可以了,不過要加兩個引數 rf 即 rm rf 目錄名字 r 就是向下遞迴,不管有多少級目錄,一併刪除 f 就是直接強行刪除,不作任何提示的意思刪除資料夾例項 rm rf home name mydir 將會刪除 home na...

linux 遞迴找到指定檔案並刪除

檔案位址為 sample resample 假設resample 下有多個資料夾含有名為 testlog.txt 的檔案,需要找到該指定檔案並全部刪除 cd sample find rmsample maxdepth 3 name textlog.txt xargs rm rf maxdepth 3...

dos 遞迴刪除檔案

some recource come from network,thanks all this people 1.delete the special files in current directory recursively 設定檔案屬性 attrib s a h r c s 刪除檔案 del ...