使用管道和rm命令遇到的問題

 重新做起技術已經有一段時間,也許是因爲許久沒接觸shell, 也許是因爲工作中用到的很少,以前很熟悉的一些命令都淡忘了很多。從今天開始,打算利用自學的方式讓自己重新回到shell的世界中。

回到重點,每次在服務器導完數據都要刪除不需要的文件,但是由於我太懶,很多txt文件都積累很多了,不知道會不會影響服務器性能。。以前我刪除都是直接用 rm -rf  “要刪除的文件”。今天偶想換種方式,都是太無聊導致滴。打算先把要刪除的文件find出來,再通過管道,然後刪除。。

一開始我是這樣寫的

find . -name "abc*" | rm -rf

但是執行過後再find 一次,文件並沒刪除。

以前貌似也遇到過這種問題,不過當時沒有記錄的習慣,有也不曉得扔到那裏去了。我在網上搜索了下,原來要用到xargs。

find . -name "abc*" | xargs rm -rf

這樣就可以刪除了。我還搜到一個是

find . -name "abc*" | xargs  -0 rm -rf

發現不能刪除。。

這個xargs好像功能還挺多的,有時間了好好研究一下。。

至於爲什麼加了這個xargs就能刪除,我還沒弄明白。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章