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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

解析find用法

發(fā)布時間:2025/4/16 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解析find用法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一,在linux上有兩個比較常用的搜索工具

1,locate :模糊查找,速度快,依賴自身的的數(shù)據(jù)庫,非實時查找,比較少用。

2,find:精確,實時查找,速度稍微慢點。

二,find語法 find [-H] [-L] [-P] [path...] [expression]

其中,'-H' '-L' '-P'三個選項主要是用來處理符號連接,'-H'表示只跟隨命令行中指定的符號連接,'-L'表示跟隨所有的符號連接,'-P'是默認(rèn)的選項,表示不跟隨符號連接。這三個選項很少用,因此find ?的語法簡化成 ? find ? 路徑 ? 表達式, ?表達式由查找條件和處理動作組成。默認(rèn)路徑是當(dāng)前所在的目錄

1, 查找條件:

(1)-name filename(可以使用通配符*,使用通配符時用雙引號引起來)

查找當(dāng)前系統(tǒng)上passwd的文件名

find / -name passwd

(2)-iname 忽視查找文件名的大小寫

查找當(dāng)前系統(tǒng)上PASSWD和passwd的文件

find / -iname passwd

(3)-regex "patern" 使用基本正則表達式 ?給出的正則表達式必須要匹配完整的文件路徑

find / -regex "find" 找不到/usr/bin/find

正確用法find / -regex ".*find"或者更精確一點find / -regex ".*/find"

(4)-iregex 忽然大小寫

(5)-user username

查找文件的屬主是user1的

find / -user user1

(6)-group groupname

查找當(dāng)前系統(tǒng)屬組是nobody的文件

find / -group nobody

(7)-uid ?usernum

查找文件的屬主uid為 500

find / -uid 500

(8)-gid ?group

(9)-nouser

查找當(dāng)前系統(tǒng)沒有屬主的文件

find / -nouser ?

(10)-nogroup

2,多條件查找,條件間邏輯關(guān)系:

(1)-a(與) ?同時滿足兩個條件

查找/etc文件名為passwd且屬主為root

find /etc/ -name "passwd" -user root(默認(rèn)是 -a 可以省略)

(2)-o(或)

查找/etc文件名為passwd或?qū)僦鳛閡ser

find /etc/ -name "passwd" ?-o -user root(-o不能省略)

(3)! (非)或-not

查找 /etc文件名包含passwd 或者 屬主不是root的文件

find /etc/ -name "passwd*" ?-o ?-not -user root

三,-type 根據(jù)文件類型

(1)f 正規(guī)文件

查找當(dāng)前系統(tǒng)文件名passwd且是普通文件

find / -name passwd -a -type f

(2)d 目錄

(3)l 鏈接文件

(4)b 塊設(shè)備

(5)c 字符設(shè)備

(6)p 數(shù)據(jù)傳送文件

(7)s socket設(shè)備

4, -size (k|M|G)默認(rèn)單位是字節(jié)

(1)+4M(大于4M)

查找文件大小為大于4M

find /boot ?-size +4M

(2)-4M(小于4M但是3M--4M不在這個范圍)

(3)4M(查找3M--4M)

5,day(單位為天)

(1)-atime [+/-] (訪問時間)

查找第3天被訪問過的文件

find / -atime 3

查找最近3天訪問過的文件

find / -atime -3

查找3天之前被訪問的文件

find / -atime +3

(2)-mtime(修改時間)

(3)-ctime(改變時間)

6, minute(單位分鐘)

(1)-amin

(2)-mmin

(3)-cmin

7,權(quán)限-perm

(1)mode ?查找檔案權(quán)限剛好等于mode

查找 檔案權(quán)限為222

find / -perm 222

(2)/mode ?模糊匹配(只要滿足其中一個就會匹配到)

查找user權(quán)限為7或group權(quán)限為7或others權(quán)限為7的

find / -perm ?/777

(3)-mode ?必須要全部包括mode權(quán)限(比mode大的也會被匹配到)

查找檔案權(quán)限大于777

find / -perm -777

8, ?處理動作:默認(rèn)是 -print把結(jié)果打印到屏幕上

-exec ?command {} \;(將前面查找的結(jié)果輸入給command命令,{}表示占位符)

查找當(dāng)前沒有屬主和屬組的文件,將它們屬主,組改成root

find / -nouser -a -nogroup -exec chown root:root {} \;

9,find與xargs將find查找到的結(jié)果用管道輸入給xarg

find |xargs command

查找一個文件為PASSWD的文件并刪除

find / -name PASSWD |xargs rm -f

在/tmp下找到文件名是core的文件,自動切換到新行,并且刪除。

find ?/tmp -name core ?-type f -print ?|xargs /bin/rm -f

在/tmp下找到文件名是core的文件,不自動切換到新行,并且刪除。

find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

讀取/etc/passwd里的用戶并用echo顯示

cut -d: -f1 </etc/passwd |sort |xargs echo

exec 后面跟可執(zhí)行文件,如果在腳本里寫exec /sbin/halt 表示會在當(dāng)前shell執(zhí)行,不會在當(dāng)前shell的子shell中執(zhí)行。

10,查看文件沒有屬主,屬組 find / -nouser -nogroup (-a可以省略)

11,查找沒有屬主或?qū)俳M的 find / -nouser -o nogruop

12, ind ./ -type f -name '*.php' ?可遍歷目錄
13, find ./ -maxdepth 1 -name '*.php' 不遍歷,只尋找一級目錄

14,查看db_summba_site開頭的文件

find /cloud/databackup/databasebakup/ ? -mtime +30 -a -name ?'db_summba_site*' ?|xargs ls










本文轉(zhuǎn)自 deng304749970 51CTO博客,原文鏈接:http://blog.51cto.com/damondeng/903149,如需轉(zhuǎn)載請自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的解析find用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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