重新做起技術已經有一段時間,也許是因爲許久沒接觸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就能刪除,我還沒弄明白。。