一、基本語法
find [path] [expression]
其中,path為要搜索的路徑,可以是相對路徑或絕對路徑。expression為要搜索的條件,可以是文件名、文件類型、文件大小、文件修改時間等。
例如:
find /home/user -name "*.txt"
表示在/home/user目錄下搜索所有後綴為.txt的文件。
二、基本用法
1. 搜索指定類型文件
find /path -name "filetype"
例如:
find /home/user -name "*.txt"
表示在/home/user目錄下搜索所有後綴為.txt的文件。
2. 按文件大小搜索
find /path -size +n[cwbkMG]
其中,+表示大於n,-表示小於n,n為文件大小,cwbkMG表示單位,分別為位元組、塊(512位元組)、KB、MB、GB、TB。
例如:
find /home/user -size +1M -size -10M
表示在/home/user目錄下搜索所有大小在1MB和10MB之間的文件。
3. 按照修改時間搜索
find /path -mtime n
其中,n為天數,表示n天前修改過的文件。
例如:
find /home/user -mtime 7
表示在/home/user目錄下搜索7天內修改過的文件。
4. 按照訪問時間搜索
find /path -atime n
與mtime用法相同,只不過是搜索訪問時間。
5. 按照權限搜索
find /path -perm mode
其中,mode為權限數字碼,用法與chmod命令相同。
例如:
find /home/user -perm 755
表示在/home/user目錄下搜索權限為755的文件。
三、高級用法
1. 組合條件
可以將多個條件組合使用,通過-and或者-or連接。
find /path -name "filetype" -size +n[cwbkMG] find /path \( -name "filetype1" -o -name "filetype2" \) -size +n[cwbkMG]
例如:
find /home/user -type f \( -name "*.txt" -o -name "*.pdf" \) -size +10M
表示在/home/user目錄下搜索後綴為.txt或.pdf的大於10MB的文件。
2. 排除類型文件
使用!可以排除搜索類型文件。
find /path ! -name "filetype"
例如:
find /home/user ! -name "*.txt"
表示在/home/user目錄下搜索除txt文件外的所有文件。
3. 執行命令
可以在搜索結果上使用-exec執行命令。
find /path -name "filetype" -exec command {} \;
其中,{}代表搜索結果,\;表示結束命令。
例如:
find /home/user -name "*.txt" -exec grep "keyword" {} \;
表示在/home/user目錄下搜索所有txt文件,並在其中查找包含”keyword”的內容。
四、總結
find命令在Linux系統中搜索文件是非常方便的,通過簡單的語法和多種條件組合,可以找到我們需要的文件。同時,通過-exec命令還可以在搜索結果上執行操作,使其更加靈活。在實際工作中,熟練掌握find命令的使用是非常必要的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/200743.html