中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[CommandDetail] Locate find

發布時間:2020-08-03 15:13:38 來源:網絡 閱讀:214 作者:demonzk0516 欄目:大數據

在文件系統上查找符合條件的文件;


文件查找:locate, find

非實時查找(數據庫查找):locate

實時查找:find


locate:

依賴于事先構建的索引;索引的構建是在系統較為空閑時自動進行(周期性任務);手動更新數據庫(updatedb);


索引構建過程需要遍歷整個根文件系統,極消耗資源;


工作特點:

查找速度快;

模糊查找;

非實時查找;


locate KEYWORD


find:

實時查找工具,通過遍歷指定路徑下的文件系統完成文件查找;


工作特點:

查找速度略慢;

精確查找;

實時查找;


語法:

find [OPTION]... [查找路徑] [查找條件] [處理動作]

查找路徑:指定具體目標路徑;默認為當前目錄;

查找條件:指定的查找標準,可以文件名、大小、類型、權限等標準進行;默認為找出指定路徑下的所有文件;

處理動作:對符合條件的文件做什么操作;默認輸出至屏幕;


查找條件:

根據文件名查找:

-name "文件名稱":支持使用glob

*, ?, [], [^]

-iname "文件名稱":不區分字母大小寫


-regex "PATTERN":以PATTERN匹配整個文件路徑字符串,而不僅僅是文件名稱;


根據屬主、屬組查找:

-user USERNAME:查找屬主為指定用戶的文件;

group GRPNAME: 查找屬組為指定組的文件;


-uid UserID:查找屬主為指定的UID號的文件;

-gid GroupID:查找屬組為指定的GID號的文件;


-nouser:查找沒有屬主的文件;

-nogroup:查找沒有屬組的文件;


根據文件類型查找:

-type TYPE:

f: 普通文件

d: 目錄文件

l: 符號鏈接文件

s:套接字文件

b: 塊設備文件

c: 字符設備文件

p: 管道文件


組合條件:

與:-a

或:-o

非:-not, !


!A -a !B = !(A -o B)

!A -o !B = !(A -a B)


找出/tmp目錄下,屬主不是root,且文件名不是fstab的文件;

find /tmp \( -not -user root -a -not -name 'fstab' \) -ls

find /tmp -not \( -user root -o -name 'fstab' \) -ls


根據文件大小來查找:

-size [+|-]#UNIT

常用單位:k, M, G


#UNIT: (#-1, #]

-#UNIT:[0,#-1]

+#UNIT:(#,oo)


根據時間戳:

以“天”為單位;

-atime [+|-]#,  

#: [#,#+1)

+#: [#+1,oo]

-#: [0,#)

-mtime

-ctime


以“分鐘”為單位:

-amin

-mmin

-cmin


根據權限查找:

-perm [/|-]MODE

MODE: 精確權限匹配

/MODE:任何一類(u,g,o)對象的權限中只要能一位匹配即可;

-MODE:每一類對象都必須同時擁有為其指定的權限標準;


處理動作:

-print:默認的處理動作,顯示至屏幕;

-ls:類似于對查找到的文件執行“ls -l”命令;

-delete:刪除查找到的文件;

-fls /path/to/somefile:查找到的所有文件的長格式信息保存至指定文件中;

-ok COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令;

對于每個文件執行命令之前,都會交互式要求用戶確認;

-exec COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令; 

{}: 用于引用查找到的文件名稱自身;


注意:find傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性傳遞給后面的命令;

有些命令不能接受過多參數,此時命令執行可能會失敗;另一種方式可規避此問題:

find | xargs COMMAND 


練習:

1、查找/var目錄下屬主為root,且屬組為mail的所有文件或目錄;

# find /var -user root -group mail


2、查找/usr目錄下不屬于root、bin或hadoop的所有文件或目錄;

# find /usr -not -user root -a -not -user bin -a -not -user hadoop

# find /usr -not \( -user root -o -user bin -o -user hadoop \)


3、查找/etc目錄下最周一周內其內容修改過,同時屬主不為root,也不是hadoop的文件或目錄;

# find /etc -mtime -7 -a -not -user root -a -not -user hadoop

# find /etc/ -mtime -7 -a -not \( -user root -o -user hadoop \)


4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件或目錄;

# find / -nouser -a -nogroup -a -atime -7


5、查找/etc目錄下大于1M且類型為普通文件的所有文件;

# find /etc -size +1M -type f



6、查找/etc目錄下所有用戶都沒有寫權限的文件;

# find /etc -not -perm /222


7、查找/etc目錄下至少有一類用戶沒有執行權限的文件;

# find /etc -not -perm -111


8、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件;

# find /etc/init.d -perm -113


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西贡区| 绥宁县| 安徽省| 额尔古纳市| 开江县| 色达县| 霞浦县| 朝阳市| 邳州市| 磐安县| 大理市| 武城县| 托里县| 建宁县| 墨竹工卡县| 凌云县| 通化县| 惠安县| 红原县| 华阴市| 磴口县| 宝应县| 那曲县| 广平县| 柯坪县| 沙雅县| 大埔县| 上栗县| 镇江市| 曲沃县| 桃园市| 马关县| 滁州市| 鄂托克旗| 澜沧| 三原县| 淮滨县| 和政县| 铜梁县| 体育| 鹤壁市|