在當(dāng)前工作目錄中查找名稱(chēng)為test.c的所有文件-----find test.c
查找/ home目錄下的所有文件,名稱(chēng)為test。find /home -name test
找到名稱(chēng)為test的所有文件,并在/ home目錄中同時(shí)包含大寫(xiě)和小寫(xiě)字母。
find /home -iname test
在/目錄中查找名稱(chēng)為test的所有目錄。
find / -type d -name test
在當(dāng)前工作目錄中查找名為test.PHP的所有php文件。
find type f -name test.php
查找目錄中的所有php文件。
find / type f -name "*.php"
查找權(quán)限為777的所有文件
find / -name f -perm 0777 -print
查找所有文件未經(jīng)許可777。
find / -name f ! -perm 0777 -print
找權(quán)限設(shè)置為644的所有SGID位文件。
find / -perm 2644
查找權(quán)限為551的所有Sticky Bit設(shè)置文件。
find / -perm 1551
查找(所有具有suid和sgid的文件)
find / -perm -2000 -o -perm -4000
查找具有SUID屬性的文件
find / -type f -perm -4000 -exec ls -l {} \;
查找所有只讀文件。
find / -perm /u=r
查找所有可執(zhí)行文件。
find / -perm /a=x
查找所有777個(gè)權(quán)限文件,并使用chmod命令將權(quán)限設(shè)置為644
find / -type f -perm 0777 -print -exec chmod 644 {} \;
查找所有777個(gè)權(quán)限目錄,并使用chmod命令將權(quán)限設(shè)置為755
find / -type d -perm 777 -print -exec chmod 755 {} \;
找到一個(gè)名為test.c的文件并將其刪除
find / -type f -name "test.c" -exec rm -f {} \;
查找和刪除多個(gè)文件,如.mp3或.txt,然后使用。
find / -type f -name "*.txt" -exec rm -f {} \;
在特定路徑下查找所有空文件。
find / tmp -type f -empty
將特定路徑下的所有空目錄歸檔。
find / tmp -type d -empty
要查找所有隱藏的文件,請(qǐng)使用以下命令。
find /tmp -type f -name ".*"
在所有者root的/ root目錄下查找名為test.c的所有或單個(gè)文件。
find / -user root -name test.c
查找~目錄下屬于用戶neil的所有文件。
find ~ -user neil
查找/ home目錄下屬于Group Developer的所有文件。
find /home -group developer
查找~目錄下的用戶neil的所有.txt文件
find ~ -user neil -iname "*.txt"
atime是指access time,即文件被讀取或者執(zhí)行的時(shí)間,修改文件是不會(huì)改變access time的。
ctime即change time文件狀態(tài)改變時(shí)間,指文件的i結(jié)點(diǎn)被修改的時(shí)間,如通過(guò)chmod修改文件屬性,ctime就會(huì)被修改
mtime即modify time,指文件內(nèi)容被修改的時(shí)間
通過(guò)stat來(lái)查看文件的mtime,ctime,atime等屬性,也可以通過(guò)ls命令來(lái)查看,具體如下:
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
find . –mtime n中的n指的是24*n, +n、-n、n分別表示:
+n: 大于n
-n: 小于n
n:等于n
find . –mtime n: File waslast modified n*24 hours ago.
最后一次修改發(fā)生在距離當(dāng)前時(shí)間n*24小時(shí)至(n+1)*24 小時(shí)
find . –mtime +n:
最后一次修改發(fā)生在n+1天以前,距離當(dāng)前時(shí)間為(n+1)*24小時(shí)或者更早
find . –mtime –n:
最后一次修改發(fā)生在n天以內(nèi),距離當(dāng)前時(shí)間為n*24小時(shí)以內(nèi)
將/usr/local/backups目錄下所有10天前帶"."的文件刪除
find /usr/local/backups -mtime +9 -name "*.*" -exec rm -rf {} \;
查找最近1小時(shí)內(nèi)更改的所有文件
find / -cmin 60
查找最近1小時(shí)內(nèi)修改的所有文件。
find / -mmin 60
查找最近1小時(shí)內(nèi)訪問(wèn)的所有文件
find / -amin 60
要找到所有50MB的文件
find / -size 50M
找到大于50MB且小于100MB的所有文件。
find / -size +50M -size -100M
格式: find [path...] [expression]
find / -name access_log 2>/dev/null 不顯示錯(cuò)誤信息
find / -amin n ##查找系統(tǒng)中最后N分鐘訪問(wèn)的文件
find / -atime n ##查找系統(tǒng)中最后n*24小時(shí)訪問(wèn)的文件
find / -cmin n ##查找系統(tǒng)中最后N分鐘被改變狀態(tài)的文件
find / -ctime n ##查找系統(tǒng)中最后n*24小時(shí)被改變狀態(tài)的文件
find / -empty ##查找系統(tǒng)中空白的文件,或空白的文件目錄,或目錄中沒(méi)有子目錄的文件夾
find / -false ##查找系統(tǒng)中總是錯(cuò)誤的文件
find / -fstype type ##查找系統(tǒng)中存在于指定文件系統(tǒng)的文件,例如:ext2 .
find / -gid n ##查找系統(tǒng)中文件數(shù)字組 ID 為 n的文件
Linux find命令指定時(shí)間范圍查找文件&移動(dòng)到某個(gè)目錄&打包壓縮存檔
把當(dāng)前目錄下面的file(不包括目錄),移動(dòng)到/opt/shell
find . -type f -exec mv {} /opt/shell \;
find . -type f | xargs -I '{}' mv {} /opt/shell
find多少天以前的文件,按時(shí)間移動(dòng),并分批打包
顯示前十個(gè)文件
ls -1 | sort -u | head -10
1.首先查看文件個(gè)數(shù),進(jìn)入所在的文件
find . -name "*" | wc -l
或者
ll |grep "^-" |wc -l
2.查看文件個(gè)數(shù)
查看120天錢(qián)的文件個(gè)數(shù)
find . -mtime +120 | wc -l
一般如果是小文件,控制在10-20萬(wàn)左右。
解釋?zhuān)?/div>
-mtime +30 --設(shè)置時(shí)間為30天前;
-exec mv --查找完畢后執(zhí)行移動(dòng)操作;
3.按照時(shí)間移動(dòng)到指定目錄里
find . -mtime +90 -exec mv {} /var/tmp/date_90 \;
4.計(jì)算大小
du -sh date_90
大小一般控制在10-15G最好
5.壓縮并打包
tar -zcvf date_90.tar.gz date_90/
找出并打包文件成 tar 包
find /dir/to/search/ -name "*.doc" -exec tar -rvf out.tar {} \;