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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Shell文件查找之find命令(1)

發(fā)布時(shí)間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell文件查找之find命令(1) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

????????日常工作中常用到腳本,像數(shù)據(jù)備份、數(shù)據(jù)壓縮等等這樣一些腳本。

????????find命令的優(yōu)點(diǎn):條件比較多應(yīng)用場景廣范,缺點(diǎn):效率比較低,速度比較慢。

1、文件查找之find命令

? (1) 語法格式:

????? find [路徑] [選項(xiàng)] [操作]

?????1). 路徑:可以寫相對(duì)路徑,也可以寫絕對(duì)路徑。

?????2). 選項(xiàng)參數(shù)對(duì)照表:

????????[1] -name :根據(jù)文件名查找

????????[2] -perm :根據(jù)文件權(quán)限查找,如權(quán)限777,通常是一個(gè)數(shù)字

????????[3] -prune :該選項(xiàng)可以排除某些查找目錄

????????[4] -user :根據(jù)文件屬主查找

? ? ??? [5] -group :根據(jù)文件屬組查找

??????? [6] -mtime -n | +n :根據(jù)文件更改時(shí)間查找,n是以天為單位計(jì)算的

? ? ? ??[7] -mmin -n | +n :根據(jù)文件更改時(shí)間查找,n是以分鐘為單位計(jì)算的

? ? ??? [8] -nogroup:查找無有效屬組的文件,比如添加某一個(gè)用戶,在這個(gè)用戶產(chǎn)出很多文件,有一天你這個(gè)用戶名被刪除掉了,剩下的文件就是沒有有效屬組文件。

????????[9] -nouser:查找無有效屬主的文件

???????[10] -newer file1 ! file2:查找更改時(shí)間比file1新但比file2舊IDE文件,正確shell使用格式:find . -newer file1 \! \( -newer file2 \),點(diǎn),空格,轉(zhuǎn)義,缺一不可,否則都會(huì)報(bào)錯(cuò)。

? ? ? ?[11] -type:按文件類型查找

? ? ? ?[12] -size -n +n:按文件大小查找

? ? ???[13] -mindepth n:從n級(jí)子目錄開始搜索

? ? ???[14] -maxdepth n:最多搜索到n級(jí)子目錄

? 3). 操作:

????????[1] -print: 打印輸出

????????[2] -exec: 對(duì)搜索到文件執(zhí)行特定的操作,格式為:【-exec 'command' {} \;】,command表示要執(zhí)行的命令,{}一對(duì)大括號(hào)表示匹配前面搜索到結(jié)果,“\;”反斜杠分號(hào)固定寫法。??????

?例子1: 搜索/etc下的文件(非目錄),文件名以conf結(jié)尾,且大于10k,然后將其刪除find ./etc/ -type f -name '*.conf' -size +10k -exec rm -f {} \;例子2: 將/var/log/目錄下以log結(jié)尾的文件,且更改時(shí)間在7天以上的刪除find /var/log/ -name '*.log' -mtime +7 -exec rm -rf {} \;例子3: 搜索條件和例子1一樣,只是不刪除,而是將其復(fù)制到/root/conf/目錄下find ./etc -size +10k -type f -name '*.conf' -exec cp {} ./test_5/ \;

? ? [3] -ok: 和exec功能一樣,只是每次操作都會(huì)給用戶提示。

4).邏輯運(yùn)算符:

????????-a 與

????????-o 或

????????-not | ! 非???????

例子1:查找當(dāng)前目錄下,屬主不是hdfs的所有文件find . -not -user hdfs | find . ! -user hdfs例子2:查找當(dāng)前目錄下,屬主屬于hdfs,且大小大于300字節(jié)的文件find . -type f -a -user hdfs -a -size +300c例子3:查找當(dāng)前目錄下的屬主為hdfs 或者以 xml 結(jié)尾的普通文件find . -type f -a \( -user hdfs -o -name '*.xml' \)

總結(jié)

以上是生活随笔為你收集整理的Shell文件查找之find命令(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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