文件查找-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 : 非
根據時間戳查找文件
-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 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迷你世界卡皮肤教程
- 下一篇: applicationContext.x