日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell编程必须要掌握的命令-xargs

發布時間:2025/7/14 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell编程必须要掌握的命令-xargs 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,說xargs命令前,說一下什么是shell編程

什么是shell編程呢,說白了就是按一定的規則把各種命令組織起來,完成一定的事情。純屬個人理解,哈哈。不管是交互式的shell,還是非交互的shell,它都是由一些命令組成的。

所以命令很重要。xargs就是其中之一,并且還是相當重要的一個命令,為什么說它重要呢,因為他和能其他命令結合使用,把一個命令的輸出,當作參數傳給另一個命令。這個根find命令參數中的exec很像,但是不同:以下4點在網上找的,第一點,是親身體驗過,家里我用的是archlinux,當你通過exec傳很多數據給后面的命令時,會卡在哪兒,其他的沒試過,如果有興趣的朋友可以自己比較一下他們速度,

[zhangy@BlackGhost music]$ time find /home/zhangy/download/ -name ".gz" -print real 0m0.053s user 0m0.003s sys 0m0.003s

1,使用find 的exec選項去處理匹配到的選項時,find 一次性將匹配到得參數傳給exec執行。但有的系統,對exec 傳的參數長度有限制,這樣在find 命令執行幾分鐘后會報溢出,錯誤信息通常是“參數列太長”或“參數列溢出"。

2,xargs 與find 命令合用的時候,find 把匹配到得命令傳遞給xargs ,xargs 每次只獲取一部分文件,而不是全部。分批處理。

3, 使用exec選項,會為匹配的每個文件處理分配個進程,并不是將匹配到的文件作為一個參數一次執行,這樣就會觸發多個進程,進而使系統性能下降,影響處理效率。

4,xargs則只有一個進程、但xargs 處理是否分批 ,批次大小,也會受系統些可調參數影響。

二,xargs應用實例 1,找出文件,改變文件所屬用戶 #將把當前目錄下面以test開頭的文件用戶改為zhangy [root@BlackGhost download]# find . -name "test*" -print | xargs chown zhangy:users#查看當前目錄中以test開頭的文件所屬用戶 [root@BlackGhost download]# find . -name "test*" -print -exec ls -al {} \; ./test.sql.zip -rw-r--r-- 1 zhangy users 1981 Feb 2 16:05 ./test.sql.zip ./test.zip -rw-r--r-- 1 zhangy users 164 May 23 22:54 ./test.zip 2,把系統的用戶統計一下 [zhangy@BlackGhost download]# cut -d: -f1 < /etc/passwd | xargs echo >> /home/zhangy/userlist.txt 3,備份文件 [zhangy@BlackGhost ddd]$ ls |xargs -i cp {} {}.bak cp test test.bak

轉載于:https://www.cnblogs.com/linuxprobe/p/11013679.html

總結

以上是生活随笔為你收集整理的shell编程必须要掌握的命令-xargs的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。