亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

linux find命令之xargs簡單概述

2020-07-27 18:58:00
字體:
來源:轉載
供稿:網友

在使用 find命令的-exec選項處理匹配到的文件時, find命令將所有匹配到的文件一起傳遞給exec執行。但有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之后,就會出現溢出錯誤。錯誤信息通常是“參數列太長”或“參數列溢出”。這就是xargs命令的用處所在,特別是與find命令一起使用。

find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,并如此繼續下去。

在有些系統中,使用-exec選項會為處理每一個匹配到的文件而發起一個相應的進程,并非將匹配到的文件全部作為參數一次執行;這樣在有些情況下就會出現進程過多,系統性能下降的問題,因而效率不高; 而使用xargs命令則只有一個進程。另外,在使用xargs命令時,究竟是一次獲取所有的參數,還是分批取得參數,以及每一次獲取參數的數目都會根據該命令的選項及系統內核中相應的可調參數來確定。

使用實例:

實例1: 查找系統中的每一個普通文件,然后使用xargs命令來測試它們分別屬于哪類文件

命令:

find . -type f -print | xargs file

輸出:

[root@localhost test]# ll總計 312-rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log-rw-r--r-- 1 root root   0 11-12 22:25 log2013.log-rw-r--r-- 1 root root   0 11-12 22:25 log2014.logdrwxr-xr-x 6 root root  4096 10-27 01:58 scfdrwxrwxrwx 2 root root  4096 11-12 19:32 test3drwxrwxrwx 2 root root  4096 11-12 19:32 test4[root@localhost test]# find . -type f -print | xargs file./log2014.log: empty./log2013.log: empty./log2012.log: ASCII text[root@localhost test]#

實例2:在整個系統中查找內存信息轉儲文件(core dump) ,然后把結果保存到/tmp/core.log 文件中

命令:

 find / -name "core" -print | xargs echo "" >/tmp/core.log

輸出:

[root@localhost test]# find / -name "core" -print | xargs echo "" >/tmp/core.log[root@localhost test]# cd /tmp[root@localhost tmp]# ll總計 16-rw-r--r-- 1 root root 1524 11-12 22:29 core.logdrwx------ 2 root root 4096 11-12 22:24 ssh-TzcZDx1766drwx------ 2 root root 4096 11-12 22:28 ssh-ykiRPk1815drwx------ 2 root root 4096 11-03 07:11 vmware-root

實例3:在當前目錄下查找所有用戶具有讀、寫和執行權限的文件,并收回相應的寫權限

命令:

find . -perm -7 -print | xargs chmod o-w

輸出:

[root@localhost test]# ll總計 312-rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log-rw-r--r-- 1 root root   0 11-12 22:25 log2013.log-rw-r--r-- 1 root root   0 11-12 22:25 log2014.logdrwxr-xr-x 6 root root  4096 10-27 01:58 scfdrwxrwxrwx 2 root root  4096 11-12 19:32 test3drwxrwxrwx 2 root root  4096 11-12 19:32 test4[root@localhost test]# find . -perm -7 -print | xargs chmod o-w[root@localhost test]# ll總計 312-rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log-rw-r--r-- 1 root root   0 11-12 22:25 log2013.log-rw-r--r-- 1 root root   0 11-12 22:25 log2014.logdrwxr-xr-x 6 root root  4096 10-27 01:58 scfdrwxrwxr-x 2 root root  4096 11-12 19:32 test3drwxrwxr-x 2 root root  4096 11-12 19:32 test4[root@localhost test]#

說明:

執行命令后,文件夾scf、test3和test4的權限都發生改變

實例4:用grep命令在所有的普通文件中搜索hostname這個詞

命令:

find . -type f -print | xargs grep "hostname"

輸出:

[root@localhost test]# find . -type f -print | xargs grep "hostname"./log2013.log:hostnamebaidu=baidu.com./log2013.log:hostnamesina=sina.com./log2013.log:hostnames=true[root@localhost test]#

實例5:用grep命令在當前目錄下的所有普通文件中搜索hostnames這個詞

命令:

find . -name /* -type f -print | xargs grep "hostnames"

輸出:

[root@peida test]# find . -name /* -type f -print | xargs grep "hostnames"./log2013.log:hostnamesina=sina.com./log2013.log:hostnames=true[root@localhost test]#

說明:

注意,在上面的例子中, /用來取消find命令中的*在shell中的特殊含義。

實例6:使用xargs執行mv

命令:

find . -name "*.log" | xargs -i mv {} test4

輸出:

[root@localhost test]# ll總計 316-rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log-rw-r--r-- 1 root root   61 11-12 22:44 log2013.log-rw-r--r-- 1 root root   0 11-12 22:25 log2014.logdrwxr-xr-x 6 root root  4096 10-27 01:58 scfdrwxrwxr-x 2 root root  4096 11-12 22:54 test3drwxrwxr-x 2 root root  4096 11-12 19:32 test4[root@localhost test]# cd test4/[root@localhost test4]# ll總計 0[root@localhost test4]# cd ..[root@localhost test]# find . -name "*.log" | xargs -i mv {} test4[root@localhost test]# ll總計 12drwxr-xr-x 6 root root 4096 10-27 01:58 scfdrwxrwxr-x 2 root root 4096 11-13 05:50 test3drwxrwxr-x 2 root root 4096 11-13 05:50 test4[root@localhost test]# cd test4/[root@localhost test4]# ll總計 304-rw-r--r-- 1 root root 302108 11-12 22:54 log2012.log-rw-r--r-- 1 root root   61 11-12 22:54 log2013.log-rw-r--r-- 1 root root   0 11-12 22:54 log2014.log[root@localhost test4]#

實例7:find后執行xargs提示xargs: argument line too long解決方法:

命令:

find . -type f -atime +0 -print0 | xargs -0 -l1 -t rm -f

輸出:

[root@pd test4]# find . -type f -atime +0 -print0 | xargs -0 -l1 -t rm -frm -f [root@pdtest4]#

說明:

-l1是一次處理一個;-t是處理之前打印出命令

實例8:使用-i參數默認的前面輸出用{}代替,-I參數可以指定其他代替字符,如例子中的[]

命令:

find . -name "file" | xargs -I [] cp [] ..

輸出:

[root@localhost test]# ll總計 12drwxr-xr-x 6 root root 4096 10-27 01:58 scfdrwxrwxr-x 2 root root 4096 11-13 05:50 test3drwxrwxr-x 2 root root 4096 11-13 05:50 test4[root@localhost test]# cd test4[root@localhost test4]# find . -name "file" | xargs -I [] cp [] ..[root@localhost test4]# ll總計 304-rw-r--r-- 1 root root 302108 11-12 22:54 log2012.log-rw-r--r-- 1 root root   61 11-12 22:54 log2013.log-rw-r--r-- 1 root root   0 11-12 22:54 log2014.log[root@localhost test4]# cd ..[root@localhost test]# ll總計 316-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log-rw-r--r-- 1 root root   61 11-13 06:03 log2013.log-rw-r--r-- 1 root root   0 11-13 06:03 log2014.logdrwxr-xr-x 6 root root  4096 10-27 01:58 scfdrwxrwxr-x 2 root root  4096 11-13 05:50 test3drwxrwxr-x 2 root root  4096 11-13 05:50 test4[root@localhost test]#

說明:

使用-i參數默認的前面輸出用{}代替,-I參數可以指定其他代替字符,如例子中的[]

實例9:xargs的-p參數的使用

命令:

find . -name "*.log" | xargs -p -i mv {} ..

輸出:

[root@localhost test3]# ll總計 0-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log[root@localhost test3]# cd ..[root@localhost test]# ll總計 316-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log-rw-r--r-- 1 root root   61 11-13 06:03 log2013.log-rw-r--r-- 1 root root   0 11-13 06:03 log2014.logdrwxr-xr-x 6 root root  4096 10-27 01:58 scfdrwxrwxr-x 2 root root  4096 11-13 06:06 test3drwxrwxr-x 2 root root  4096 11-13 05:50 test4[root@localhost test]# cd test3[root@localhost test3]# find . -name "*.log" | xargs -p -i mv {} ..mv ./log2015.log .. ?...y[root@localhost test3]# ll總計 0[root@localhost test3]# cd ..[root@localhost test]# ll總計 316-rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log-rw-r--r-- 1 root root   61 11-13 06:03 log2013.log-rw-r--r-- 1 root root   0 11-13 06:03 log2014.log-rw-r--r-- 1 root root   0 11-13 06:06 log2015.logdrwxr-xr-x 6 root root  4096 10-27 01:58 scfdrwxrwxr-x 2 root root  4096 11-13 06:08 test3drwxrwxr-x 2 root root  4096 11-13 05:50 test4[root@localhost test]#

說明:

-p參數會提示讓你確認是否執行后面的命令,y執行,n不執行。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产一区二区三区久久| 国产精品视频午夜| 久久久久久69| 亚洲精品国产电影| 国产免费成人av| 最近2019年手机中文字幕| 欧美极品美女电影一区| 久久人91精品久久久久久不卡| 91av成人在线| 成人高h视频在线| 亚洲第一区在线| 97精品一区二区三区| 久久久久亚洲精品| 欧美在线视频免费观看| 中文字幕亚洲一区二区三区五十路| 国产小视频国产精品| 中文字幕在线精品| 57pao国产精品一区| 欧美成人免费网| 成人精品福利视频| 亚洲最大福利视频网| 亚洲欧美中文日韩在线v日本| 久久天天躁夜夜躁狠狠躁2022| 欧美黑人巨大精品一区二区| 国产91精品久久久久久久| 国产午夜精品全部视频在线播放| 8050国产精品久久久久久| 亚洲欧美制服综合另类| 狠狠躁18三区二区一区| 久久成人一区二区| 久久综合久中文字幕青草| 92福利视频午夜1000合集在线观看| 精品久久久视频| 欧美最猛黑人xxxx黑人猛叫黄| 欧洲亚洲妇女av| 日韩在线免费视频| 国产美女精品免费电影| 久久亚洲精品国产亚洲老地址| 中文字幕在线看视频国产欧美| 久久久久这里只有精品| 这里只有精品视频在线| 欧美激情视频一区二区| 亚洲一区二区中文字幕| 亚洲国语精品自产拍在线观看| 亚洲人午夜色婷婷| 国产精品久久不能| 亚洲一级黄色片| 亚洲视屏在线播放| 日韩精品在线视频观看| 26uuu久久噜噜噜噜| 久久影院免费观看| 777午夜精品福利在线观看| 国产精品一区专区欧美日韩| 亚洲电影免费观看高清| 91在线观看欧美日韩| 亚洲欧美在线磁力| 欧美精品www在线观看| 国产精品日韩在线一区| 久久精品国产96久久久香蕉| 国产精品久久久久7777婷婷| 久久久久久成人精品| 韩国美女主播一区| 国产一区二区视频在线观看| 国产成人精品电影久久久| 91精品国产综合久久久久久蜜臀| 久久久久久这里只有精品| 久久国产色av| 亚洲跨种族黑人xxx| 国产97色在线| 麻豆国产va免费精品高清在线| 成人福利在线观看| 91在线视频导航| 国产a∨精品一区二区三区不卡| 国产美女主播一区| 国内揄拍国内精品少妇国语| 高清日韩电视剧大全免费播放在线观看| 91欧美精品成人综合在线观看| 国产一区二区色| 国产日产久久高清欧美一区| 美乳少妇欧美精品| 欧美日韩国产精品一区二区不卡中文| 国产欧美一区二区三区久久人妖| yw.139尤物在线精品视频| 亚洲综合av影视| 欧美富婆性猛交| 久热在线中文字幕色999舞| 亚洲第一天堂无码专区| 91九色单男在线观看| 亚洲999一在线观看www| 日韩中文字幕视频| 亚洲精品不卡在线| 91色中文字幕| 色青青草原桃花久久综合| 久久久久久久久久久国产| 97精品伊人久久久大香线蕉| 热久久免费视频精品| 精品欧美激情精品一区| 大伊人狠狠躁夜夜躁av一区| 色综合91久久精品中文字幕| 亚洲综合日韩在线| 欧美男插女视频| 日韩欧美亚洲范冰冰与中字| 精品国内产的精品视频在线观看| 97久久伊人激情网| 国产xxx69麻豆国语对白| 精品久久久久久久久久国产| 国产精品一区av| 亚洲欧美国产高清va在线播| 亚洲综合自拍一区| 97热在线精品视频在线观看| 欧美精品免费在线观看| 欧美在线视频导航| 国外视频精品毛片| 久久精品美女视频网站| 91中文字幕在线观看| 国产成人精品综合久久久| 欧美激情精品久久久久久大尺度| 精品国产一区二区三区久久久| 91手机视频在线观看| 欧美一级在线亚洲天堂| 5278欧美一区二区三区| 久久久这里只有精品视频| 亚洲激情电影中文字幕| 91精品中文在线| 国产精品视频久久| 欧美亚洲另类制服自拍| 精品电影在线观看| 久久精品国产清自在天天线| 久久久久九九九九| 亚洲性av网站| xvideos亚洲| 亚洲成av人片在线观看香蕉| 国产成人高潮免费观看精品| 日韩hd视频在线观看| 亚洲成人av中文字幕| 久久精品在线视频| 中文字幕不卡av| 久久影院资源网| 欧美特黄级在线| 亚洲成人xxx| 久久视频中文字幕| 欧美性理论片在线观看片免费| 精品国产乱码久久久久酒店| 欧美一级视频免费在线观看| 日韩中文字幕久久| 精品国产一区二区三区在线观看| 久久久久亚洲精品国产| 亚洲精品理论电影| 国产a∨精品一区二区三区不卡| 国产精品爽黄69天堂a| 韩剧1988在线观看免费完整版| 色婷婷久久一区二区| 日韩精品免费在线| 欧美另类极品videosbestfree| 91亚洲人电影| 少妇高潮 亚洲精品| 中文字幕亚洲专区| 国产精品美女久久久免费| 国产精品老女人视频| 国产一区二区三区在线观看网站| 久久香蕉精品香蕉| 国产美女久久精品| 亚洲精品国产福利| 日韩在线观看网站|