1. 程式人生 > >linux unix Find 命令

linux unix Find 命令

xargs在使用f i n d命令的- e x e c選項處理匹配到的檔案時, f i n d命令將所有匹配到的檔案一起傳遞給e x e c執行。但有些系統對能夠傳遞給e x e c的命令長度有限制,這樣在f i n d命令執行幾分鐘之後,就會出現溢位錯誤。錯誤資訊通常是引數列太長引數列溢位。這就是x a rg s命令的用處所在,特別是與f i n d命令一起使用。F i n d命令把匹配到的檔案傳遞給x a rg s命令,而x a rg s命令每次只獲取一部分檔案而不是全部,不像- e x e c選項那樣。這樣它可以先處理最先獲取的一部分檔案,然後是下一批,並如此繼續下去。在有些系統中,使用
- e x e c選項會為處理每一個匹配到的檔案而發起一個相應的程序,並非將匹配到的檔案全部作為引數一次執行;這樣在有些情況下就會出現程序過多,系統性能下降的問題,因而效率不高;而使用x a rg s命令則只有一個程序。另外,在使用x a rg s命令時,究竟是一次獲取所有的引數,還是分批取得引數,以及每一次獲取引數的數目都會根據該命令的選項及系統核心中相應的可調引數來確定。