Xargs

使用 xargs 比不使用更快嗎?

  • November 13, 2011

這是不是更快:

find /tmp -name core -type f | xargs /bin/rm -f

比這樣做:

find /tmp -name core -type f -exec /bin/rm -f {} \;

那麼使用會xargs提高整體速度嗎?

(我從手冊頁中獲得了範例xargs。)

正如 Mat 已經說過的,在一般情況下,您應該知道每個字節都可以在文件名中,除了NUL字元(因為它分隔字元串的結尾)和/(因為它分隔路徑元素)。所以你的xargs例子應該是(在 GNU 系統上)

find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

等效項是-exec查找中的 a,但使用 a+而不是\;.

find /tmp -name core -type f -exec /bin/rm -f {} +

此版本不會呼叫/bin/rm每個文件,而是捆綁參數,就像這樣xargs做一樣。

引用自:https://unix.stackexchange.com/questions/24522