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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件查找-locate find 学习笔记

發布時間:2023/12/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件查找-locate find 学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

locate : (速度快)

? ? 非實時,模糊匹配 . ? 查找是根據全系統數據庫進行的

? ? #updatedb ? 手動生成文件數據庫?

find : (速度慢)

? ? 實時查找 ,

? ? 精確查找 ,

? ? 支持眾多查找標準?

? ? 遍歷指定目錄中的所有文件完成查找 ,

find 查找路徑 查找標準 查找到以后的處理運作 ??

查找路徑 : 默認當前目錄

查找標準 : 默認為指定路徑下的所有文件

處理運作 : 默認為顯示


匹配標準 :

? ?-name 'FILENAME' : 對文件名做精確匹配

? ? ? ? 文件名通配:

? ? ? ? ? ? ? ??

? ??

? ?-iname 'FILENAME' : 文件名匹配時不區分大小寫

? ? ?-regex PATTERN : 基于正則表達式進行文件名匹配

? ? ?-user USERNAME : 根據屬主查找

? ? ?-group GROUPNAME : 根據屬組查找

? ? ?-uid UID : 根據 UID 查找

? ? ?-gid GID : 根據 GID 查找

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

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

? ? ?-type : ? ?根據文件類型查找

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

? ? ? ? ? ? ? d : 目錄

? ? ? ? ? ? ? c : 字符設備

? ? ? ? ? ? ? b : 塊設備

? ? ? ? ? ? ? l : 連接文件

? ? ? ? ? ? ? p : 管道設備

? ? ? ? ? ? ? s : 套接字設備

? ? ? -size : 根據文件大小查找

? ? ? ? ? ? ?[+|-]#k

? ? ? ? ? ? ? ? ? ? #M

? ? ? ? ? ? ? ? ? ? #G

? ? ? ? ? ? ? ?-10k ?所有小于 10k 的文件

? ? ? ? ? ? ? ?+10k ?所有大于 10k 的文件

組合條件 :

? ? ? ?-a : 與

? ? ? ?-o : 或

? ? ?-not : 非


[root@nono?~]#?find?/etc?-name?'passwd'????????#在?/etc?目錄下查找文件名為?passwd?的文件 [root@nono?~]#?find?/etc?-name?'passwd*'??????#在?/etc?目錄下查找文件名?passwd?開頭的文件 [root@nono?~]#?find?/tmp?-user?zhao?????????????#在?/tmp?目錄下查找文件屬主為?zhao?的文件 [root@nono?~]#?find?/etc?-group?mysql??????????#在?/etc?目錄下查找文件屬組為?mysql?的文件 [root@nono?~]#?find?/etc?-type?d???????????????????#在?/etc?目錄下查找目錄 [root@nono?~]#?find?/etc?-size?1M?????????????????#在?/etc?目錄查找大小為?1M?的文件(?1M?內的所有文件) [root@nono?~]#?find?/etc?-size?10k?-ls?????????????#在?/etc?目錄下查找?10k?以內的所有文件,并且長格式顯示 [root@nono?~]#?find?/etc?-nouser?-a?-type?d???#在?/etc?目錄下查找沒有屬主并且類型為目錄的 [root@nono?~]#?find?/etc?-not?-type?d????????????#在?/etc?目錄下查找非目錄的文件 [root@nono?~]#?find?/tmp?-not?-type?d?-a?-not?-type?s????#/tmp?目錄,不是目錄,并且還不能是套接字類型的文件


根據時間戳查找文件

-mtime : 修改時間 ? (天)

-ctime : 改變時間

-atime : 訪問時間

? ? ? [ +|- ]#

-mmin?

-cmin

-amin

? ? ??[ +|- ]#


[root@nono?etc]#?find?./?-amin?-5???#查找當前目錄下?,?5分鐘之內訪問過的文件 [root@nono?etc]#?find?./?-amin?+5??#查找當前目錄下,?5分鐘之前訪問過的文件(至少有5分鐘沒訪問過)



-perm chmod ?根據文件權限匹配

? ? ? ? ? -perm ### : 精確匹配

? ? ? ? ? -perm /### : 任意一位匹配成功即可

? ? ? ? ? -perm -### : 文件權限能完全包含此 MODE 時才能顯示 (三位完全包含)

動作 :

? ? ? ? -print : 顯示

? ? ? ? -ls : 類似 ls -l 的形式顯示每一個文件的詳細

? ? ? ? -ok COMMAND {} \ : ? 需要用戶確認

? ? ? ? -exec COMMAND?

[root@nono?etc]#?find?./?-perm?-006?-exec?chmod?o-w?{}?\;?? #在當前目錄下找到?其他人權限包含?rw?的文件,并將找到的文件,取消?w?權限.?{}?為占位符 [root@nono?etc]#?find?./?-perm?-020?-exec?mv?{}?{}.new?\;???? #在當前目錄下找到?屬組包含w權限的文件,并重命名為?.new [root@nono?etc]#?fidn?./?-name?"*.sh"?-a?-perm?-111?-exec?chmod?o-x?{}?\;??? #在當前目錄下找到?.sh?結尾的文件,并且有屬主屬組其他人都有執行權限的文件,減去執行權限



練習 :?

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

find /var -user root -group mail

2 . 查找 /usr 目錄下不屬于 root bin student 的文件;

find /usr -not -user root -a -not -user bin -a -not -user student

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

3 . 查找 /etc 目錄下最近一周內內容修改過且不屬于 root 及 student 用戶的文件;

find /etc -mtime -7 -not -user root -a -not -user student

4 . 查找當前系統上沒有屬主或屬組且最近一天內曾被訪問過的文件,并將其屬主屬組均修改為 root;

find / \(-nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;

5 . 查找 /etc 目錄下大雨 1M 的文件,并將其文件名寫入 /tmp/etc.largefile 文件中;

find /etc -size +1M >> /tmp/etc.largefile

6 . 查找 /etc 目錄下所有用戶都沒有寫權限的文件,顯示出其詳細信息

find /etc -not -perm /222 -ls?






轉載于:https://blog.51cto.com/aby028/1825596

總結

以上是生活随笔為你收集整理的文件查找-locate find 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。