檔案數太多砍不掉該怎麼辦

當檔案數太多, 砍不掉的時後該怎麼辦(錯誤訊息: rm: too many arguments 或 rm: Argument list too long)

  1. 先轉成 file owner 的身份去下指令(不然就轉成 root 吧!)
  2.  ls -l | awk '{print $9}' | xargs rm  # 再來這樣子就可以砍掉
  3.  ls -l *.jpg | awk '{print $9}' | xargs rm # 如果只要砍那目錄下的所有 jpg 檔

簡單的 shell script 就搞定囉 🙂

不過使用前請小心確認一下, 最後 xargs rm 先拿掉, 改成 less, 先確定一下是自己要砍的, 再下此指令吧 🙂

  • gslin 長輩提供的解法:  find /path -name '*.jpg' -depth 1 -delete
  • jeffhung 長輩提供簡化方法: ls *.jpg | xargs rm


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix。將永久鏈結加入書籤。

檔案數太多砍不掉該怎麼辦 有 6 則回應

  1. gslin 說道:

    find /path -name '*.jpg' -depth 1 -delete

  2. jeffhung 說道:

    ls 不要加 -l,應該就可以不用 awk 了。

  3. Tsung 說道:

    感謝兩位長輩提供的資訊, 我學的還不夠呀.. Orz

  4. Samael Wang 說道:

    檔案太多砍不掉我有遇過,錯誤訊息大概是像這樣:
    $ rm *
    rm: too many arguments

  5. Tsung 說道:

    Yeap, 就是這個錯誤訊息, 感恩~~~ 😀
    然後遇到此問題, 解法就如上面的命令即可刪除 🙂

  6. 通告: Linux 快速清除「檔案數量太多」的速度比較 - Tsung's Blog

發表迴響