在當前工作目錄中查找名稱為test.c的所有文件-----find test.c
查找/ home目錄下的所有文件,名稱為test。find /home -name test
找到名稱為test的所有文件,并在/ home目錄中同時包含大寫和小寫字母。
find /home -iname test
在/目錄中查找名稱為test的所有目錄。
find / -type d -name test
在當前工作目錄中查找名為test.PHP的所有php文件。
find type f -name test.php
查找目錄中的所有php文件。
find / type f -name "*.php"
查找權限為777的所有文件
find / -name f -perm 0777 -print
查找所有文件未經許可777。
find / -name f ! -perm 0777 -print
找權限設置為644的所有SGID位文件。
find / -perm 2644
查找權限為551的所有Sticky Bit設置文件。
find / -perm 1551
查找(所有具有suid和sgid的文件)
find / -perm -2000 -o -perm -4000
查找具有SUID屬性的文件
find / -type f -perm -4000 -exec ls -l {} \;
查找所有只讀文件。
find / -perm /u=r
查找所有可執行文件。
find / -perm /a=x
查找所有777個權限文件,并使用chmod命令將權限設置為644
find / -type f -perm 0777 -print -exec chmod 644 {} \;
查找所有777個權限目錄,并使用chmod命令將權限設置為755
find / -type d -perm 777 -print -exec chmod 755 {} \;
找到一個名為test.c的文件并將其刪除
find / -type f -name "test.c" -exec rm -f {} \;
查找和刪除多個文件,如.mp3或.txt,然后使用。
find / -type f -name "*.txt" -exec rm -f {} \;
在特定路徑下查找所有空文件。
find / tmp -type f -empty
將特定路徑下的所有空目錄歸檔。
find / tmp -type d -empty
要查找所有隱藏的文件,請使用以下命令。
find /tmp -type f -name ".*"
在所有者root的/ root目錄下查找名為test.c的所有或單個文件。
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,即文件被讀取或者執行的時間,修改文件是不會改變access time的。
ctime即change time文件狀態改變時間,指文件的i結點被修改的時間,如通過chmod修改文件屬性,ctime就會被修改
mtime即modify time,指文件內容被修改的時間
通過stat來查看文件的mtime,ctime,atime等屬性,也可以通過ls命令來查看,具體如下:
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.
最后一次修改發生在距離當前時間n*24小時至(n+1)*24 小時
find . –mtime +n:
最后一次修改發生在n+1天以前,距離當前時間為(n+1)*24小時或者更早
find . –mtime –n:
最后一次修改發生在n天以內,距離當前時間為n*24小時以內
將/usr/local/backups目錄下所有10天前帶"."的文件刪除
find /usr/local/backups -mtime +9 -name "*.*" -exec rm -rf {} \;
查找最近1小時內更改的所有文件
find / -cmin 60
查找最近1小時內修改的所有文件。
find / -mmin 60
查找最近1小時內訪問的所有文件
find / -amin 60
要找到所有50MB的文件
find / -size 50M
找到大于50MB且小于100MB的所有文件。
find / -size +50M -size -100M
格式: find [path...] [expression]
find / -name access_log 2>/dev/null 不顯示錯誤信息
find / -amin n ##查找系統中最后N分鐘訪問的文件
find / -atime n ##查找系統中最后n*24小時訪問的文件
find / -cmin n ##查找系統中最后N分鐘被改變狀態的文件
find / -ctime n ##查找系統中最后n*24小時被改變狀態的文件
find / -empty ##查找系統中空白的文件,或空白的文件目錄,或目錄中沒有子目錄的文件夾
find / -false ##查找系統中總是錯誤的文件
find / -fstype type ##查找系統中存在于指定文件系統的文件,例如:ext2 .
find / -gid n ##查找系統中文件數字組 ID 為 n的文件
Linux find命令指定時間范圍查找文件&移動到某個目錄&打包壓縮存檔
把當前目錄下面的file(不包括目錄),移動到/opt/shell
find . -type f -exec mv {} /opt/shell \;
find . -type f | xargs -I '{}' mv {} /opt/shell
find多少天以前的文件,按時間移動,并分批打包
顯示前十個文件
ls -1 | sort -u | head -10
1.首先查看文件個數,進入所在的文件
find . -name "*" | wc -l
或者
ll |grep "^-" |wc -l
2.查看文件個數
查看120天錢的文件個數
find . -mtime +120 | wc -l
一般如果是小文件,控制在10-20萬左右。
解釋:
-mtime +30 --設置時間為30天前;
-exec mv --查找完畢后執行移動操作;
3.按照時間移動到指定目錄里
find . -mtime +90 -exec mv {} /var/tmp/date_90 \;
4.計算大小
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 {} \;