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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

find总结

發(fā)布時(shí)間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 find总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

find命令可以說(shuō)是最常用的幾個(gè)命令之一,以下主要總結(jié)其常用用法。

1、普通查找。首先介紹下find命令的基本格式,跟常用參數(shù)

???? find + 要找的路徑(根下或者那個(gè)目錄下)+參數(shù)

?????因?yàn)槠鋮?shù)有很多,所以find命令如此的強(qiáng)大,例如我們常用的-name 就類似過(guò)濾關(guān)鍵字。舉個(gè)例子,查找當(dāng)前目錄下以txt結(jié)尾的文件

???????????????????????? find . -name "*.txt"

?

這樣就找出了你所想要的內(nèi)容,-name參數(shù)的補(bǔ)充就是-iname,意思是在匹配的時(shí)候忽略大小寫(xiě)。

???? -path 參數(shù)的意思跟-name差不多,也是顧慮關(guān)鍵字,但是它可以后接通配符,而且會(huì)將文件的路徑作為一個(gè)整體,進(jìn)行匹配。????????

真的很強(qiáng)大.????????????? find . -path "*sed*"?????????

??? -regex參數(shù)和-path類似,區(qū)別是它是基于正則表達(dá)式來(lái)匹配文件的路徑。這里就不深入了。

??? -type參數(shù)是匹配文件類型搜索

?????????? f?? 普通文件

?????????? d???目錄

???????????l???符號(hào)鏈接

???????????????????????? find /home/yw_cy -type f

????-atime(訪問(wèn)時(shí)間):用戶最近一次訪問(wèn)文件的時(shí)間。

??? -mtime(修改時(shí)間):文件內(nèi)容最后一次修改的時(shí)間。

??? -ctime(變化時(shí)間):文件元數(shù)據(jù)(例如權(quán)限)最后一次改變的時(shí)間。

???????????????? find . -type f -atime -7

??? -7為7天內(nèi)的,7為正好七天前訪問(wèn)的,+7表示七天前被訪問(wèn)的文件。

??? -size 匹配大小

?????????????????find . -type f -size +2k

?

?

??????????? M為兆 G為吉

?

??? -delete 匹配到刪除

???????????????? find . -type f -name "*.swp" -delete 這個(gè)參數(shù)放在后面。

??? -perm 匹配權(quán)限

?????????????????find . -type f -perm?644

???????????????? find . -type f -name "*.php" ! -perm 644

??? 擴(kuò)展: !-name 非名字為

??????????? -maxdepth? -mindepth 最大深度與最小深度

????????????find . -mindepth 2 -type f

??????????

?????????????????

?

?2、復(fù)合查找。

?

-exec????????????????需求1:我們需要將某位用戶(比如ROOT)全部文件的所有權(quán)更改成另一為用戶(比apache)。 ????????????????????????? ??????????????????????? find . -type f -user root -exec chown apache {} \; ?????????????????????????????????? ????????????????????????????需求2:找出給定目錄中的所有C程序文件拼接起來(lái)寫(xiě)入單個(gè)文件all_c_files.txt ???????????????????????? find . -type f -name?"*.c"? -ecex cat {} \;>all_c_files.txt ??????????????????????????? 需求3:將10天前的.txt文件復(fù)制到OLD目錄中。 ????????????????????????? find . -type -mtime +10 -name "*.txt" -exec cp {} OLD?\; -exec結(jié)合多個(gè)命令: ???????????????????????? ????????????????????????????因?yàn)?exec后只可接一個(gè)命令,所以要結(jié)合多個(gè)命令就要靠腳本了,可以把命令寫(xiě)到一個(gè)腳本中 ,例如shell.sh,然后?? -exec ./shell.sh {} \; ? ?????????????????? -printf??????親和的輸出信息,配合 ? ????????????????????????? find . -type f -name "*.txt" -exec printf "Text file: %s\n" {} \; ????????????????

xargs????功能類似exec

我們可以用管帶將一個(gè)命令的stdout (標(biāo)準(zhǔn)輸出)重定向到另一個(gè)命令的stdin(標(biāo)準(zhǔn)輸入)。例如:

???????????????????????????????????????????? cat??? sed.txt | grep "test"

但是,有些命令只能以命令參數(shù)的形式接受數(shù)據(jù)。而無(wú)法通過(guò)stdin接受數(shù)據(jù)流。這種情況下,我們沒(méi)法用管道來(lái)提供那些只通過(guò)命令行參數(shù)才能提供數(shù)據(jù)。這是就可以用到xargs.

簡(jiǎn)單例如:將多行輸出改成單行輸出??????????? cat sed.sh | xargs

??????????? 或?qū)涡休敵龈某啥嘈休敵?#xff0c;指定每行n個(gè)參數(shù)。? cat sedd.sh | xargs -n 4

實(shí)例:

???????????????????? 需求:用-d選項(xiàng)指為輸入指定一個(gè)定界符

???????????????????????????????? echo "123123123123123123123123132" | xargs -d 3

轉(zhuǎn)載于:https://blog.51cto.com/linuxmylife/959546

總結(jié)

以上是生活随笔為你收集整理的find总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。