Linux命令:find命令详解
生活随笔
收集整理的這篇文章主要介紹了
Linux命令:find命令详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
find命令格式
find path -option [-print] [-exec -ok |xargs |grep] [command {} \;]# 參數說明path: find命令所查找的目錄路徑。~ 表示$HOME目錄;.來表示當前目錄;/來表示系統根目錄。-print: find命令將匹配的文件輸出到標準輸出。-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為command {} ;,注意{}和;之間的空格。-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。|xargs: 與exec作用相同 ,起承接作用,區別在于|xargs 主要用于承接刪除操作 ,而-exec都可用 如復制、移動、重命名等。options: 表示查找方式find命令參數
path :要查找的目錄路徑。
- ~ 表示$HOME目錄
- . 表示當前目錄
- / 表示根目錄
print :表示將結果輸出到標準輸出。
exec :對匹配的文件執行該參數所給出的shell命令。
- 相應命令的形式為command {} ;,注意{}和;之間的空格。
ok :與exec作用相同,區別在于,在執行命令之前,都會給出提示,讓用戶確認是否執行。
|xargs :與exec作用相同 ,起承接作用,區別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復制、移動、重命名等。
options :表示查找方式。
options常用選項:
-name filename #查找名為filename的文件 -perm #按執行權限來查找 -user username #按文件屬主來查找 -group groupname #按組來查找 -mtime -n +n #按文件更改時間來查找文件,-n指n天以內,+n指n天以前 -atime -n +n #按文件訪問時間來查找文件,-n指n天以內,+n指n天以前 -ctime -n +n #按文件創建時間來查找文件,-n指n天以內,+n指n天以前 -nogroup #查無有效屬組的文件,即文件的屬組在/etc/groups中不存在 -nouser #查無有效屬主的文件,即文件的屬主在/etc/passwd中不存 -type b/d/c/p/l/f #查是塊設備、目錄、字符設備、管道、符號鏈接、普通文件 -size n[c] #查長度為n塊[或n字節]的文件 -mount #查文件時不跨越文件系統mount點 -follow #如果遇到符號鏈接文件,就跟蹤鏈接所指的文件 -prune #忽略某個目錄下面通過一些簡單的例子來介紹下find的常規用法:
1、按名字查找
# 在當前目錄及子目錄中,查找大寫字母開頭的txt文件 $ find . -name '[A-Z]*.txt' -print # 在/etc及其子目錄中,查找host開頭的文件 $ find /etc -name 'host*' -print # 在$HOME目錄及其子目錄中,查找所有文件 $ find ~ -name '*' -print # 在當前目錄及子目錄中,查找不是out開頭的txt文件 $ find . -name "out*" -prune -o -name "*.txt" -print2、按目錄查找
# 在當前目錄除aa之外的子目錄內搜索 txt文件 $ find . -path "./aa" -prune -o -name "*.txt" -print # 在當前目錄及除aa和bb之外的子目錄中查找txt文件 $ find . ?path′./dir0′?o?path′./dir1′?path′./dir0′?o?path′./dir1′ -a -prune -o -name '*.txt' -print# 在當前目錄,不再子目錄中,查找txt文件 $ find . ! -name "." -type d -prune -o -type f -name "*.txt" -print # 或者$ find . -name *.txt -type f -print3、按權限查找
# 在當前目錄及子目錄中,查找屬主具有讀寫執行,其他具有讀執行權限的文件 $ find . -perm 755 -print # 查找用戶有寫權限或者組用戶有寫權限的文件或目錄$ find ./ -perm /220$ find ./ -perm /u+w,g+w$ find ./ -perm /u=w,g=w4、按類型查找
# 在當前目錄及子目錄下,查找符號鏈接文件 $ find . -type l -print5、按屬主及屬組
# 查找屬主是www的文件 $ find / -user www -type f -print # 查找屬主被刪除的文件 $ find / -nouser -type f -print # 查找屬組 mysql 的文件 $ find / -group mysql -type f -print # 查找用戶組被刪掉的文件 $ find / -nogroup -type f -print6、按時間查找
# 查找2天內被更改過的文件 $ find . -mtime -2 -type f -print # 查找2天前被更改過的文件 $ find . -mtime +2 -type f -print # 查找一天內被訪問的文件 $ find . -atime -1 -type f -print # 查找一天前被訪問的文件 $ find . -atime +1 -type f -print # 查找一天內狀態被改變的文件 $ find . -ctime -1 -type f -print # 查找一天前狀態被改變的文件 $ find . -ctime +1 -type f -print # 查找10分鐘以前狀態被改變的文件 $ find . -cmin +10 -type f -print7、按文件新舊查找
# 查找比 aa.txt 新的文件 $ find . -newer "aa.txt" -type f -print # 查找比 aa.txt 舊的文件 $ find . ! -newer "aa.txt" -type f -print # 查找比aa.txt新,比bb.txt舊的文件 $ find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print8、按大小查找
# 查找超過1M的文件 $ find / -size +1M -type f -print # 查找等于6字節的文件 $ find . -size 6c -print # 查找小于32k的文件 $ find . -size -32k -print總結
以上是生活随笔為你收集整理的Linux命令:find命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用MFC调用libvlc.dll作一个
- 下一篇: 冬奥会相关的股票 北京冬奥会相关股票