locate
locate命令可以在搜尋數據庫時快速找到檔案,locate為模糊查找
Locate [參數] 關鍵字
-i 忽略大小寫
-n/l 至多顯示n個輸出
示例
#搜索etc目錄下所有以sh開頭的文件
[root@CentOS7] locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
#忽略大小寫
[root@centos7] locate -i ~/d
/root/Desktop/root/Documents/root/Downloads
/root/d1
find
find命令是一個實時查找工具,通過遍歷指定路徑而完成對文件的查找;在使用該命令時,如果不選定參數,則在當前目錄下查找子目錄與文件並顯示之;另外,任何位於參數之前的字符串,都將視為欲查找的目錄名。由於是實時遍歷查找,find有如下特性:精確實時查找,速度慢,可能只搜索用戶具備讀取和執行權限的目錄。
find [OPTION]... [查找路徑] [查找條件] [處理動作]
-
查找路徑:指定具體目標路徑,默認為當前目錄
-
查找條件:指定的查找標准,可以是文件名、大小、類型、權限等標准進行;默認為找出指定路徑下的所有文件
-
處理動作:對符合條件的文件做操作,默認輸出至屏幕
locate指令和find找尋檔案的功能類似,但locate是透過update程序將硬盤中的所有檔案和目錄資料先建立一個索引數據庫,在 執行loacte時直接找該索引,查詢速度會較快
參數
文件名和inode類:
-name "文件名稱": 支持使用glob, *, ?, [], [^]
-iname "文件名稱": 不區分字母大小寫
-inum n: 按inode號查找
-somefile name: 相同的inode號文件
-links n: 鏈接數為n的文件
-regex "PATTERN": 以PATTERN匹配整個文件路徑字符串,而不僅僅是文件名稱
示例
#查找etc目錄下文件名為my.cnf的文件
find /etc/ -name my.cnf