格式:
find path option file
path:查找的目錄路徑
option:按什么進(jìn)行查找
file: 查找的文件特征
(如果查不到,就將文件名加""試試)
find -name april* 在當(dāng)前目錄下查找以april開始的文件
find -name april* > a.txt 在當(dāng)前目錄下查找以april開始的文件,并把結(jié)果輸出到a.txt中
find -name ap* -o -name may* 查找以ap或may開頭的文件
tmp下查找名為wa開頭且類型為符號鏈接的文件。find /mnt -name tom.txt -ftype vfat 在/mnt下查找名稱為tom.txt且文件系統(tǒng)類型為vfat的文件。我們可以使用括號來強(qiáng)行改變測試和運算符的次序.因為這些對于shell來說有著特殊的意義,所以我們也需要使用反斜線將他們作為一個整體進(jìn)行引用.另外,如果我們?yōu)槲募付似ヅ漕愋?我們也必須用引號進(jìn)行引用,這樣就可以避免他們被shell進(jìn)行擴(kuò)展,從而可以將他們直接傳遞給find命令.所以如果我們要寫一個這樣的測試,要查找比x文件要近或者是以一個范圍開頭的文件,我們要寫成下面的形式:。
find /home -mtime -2 在/home下查最近兩天內(nèi)改動過的文件
find /home -atime -1 查/home下1天之內(nèi)被存取過的文件
find /home -mmin +60 在/home下查60分鐘前改動過的文件
find /home -amin +30 在/home下查最近30分鐘前被存取過的文件
find /home -user cnscn 列出/home目錄內(nèi)屬于用戶cnscn的文件或目錄。find /home -links +2 查硬連接數(shù)大于2的文件或目錄。find /home -perm 0700 查權(quán)限為700的文件或目錄。
find /home -anewer tmp.txt 在/home下查存取時間比tmp.txt近的文件或目錄
find /home -used -2 列出/home中文件或目錄被改動過之后,在2日內(nèi)被存取過的文件或目錄
find /home -user cnscn 列出/home目錄內(nèi)屬于用戶cnscn的文件或目錄
find /home -uid +501 列出/home目錄內(nèi)用戶的識別碼大于501的文件或目錄
find /home -group cnscn 列出/home內(nèi)組為cnscn的文件或目錄
find /home -gid 501 列出/home內(nèi)組id為501的文件或目錄
find /home -nouser 列出/home內(nèi)不屬于本地用戶的文件或目錄
find /home -nogroup 列出/home內(nèi)不屬于本地組的文件或目錄
find /home -maxdepth 4 -name tmp.txt 列出/home內(nèi)的tmp.txt 查時深度最多為3層
find /home -mindepth 3 -maxdepth 5 -name tmp.txt 在/home的第二層到第四層之間查tmp.txt
find /home -empty 查找/home中大小為0的文件或空目錄
find /home -size +512k 查/home中大于512k的文件
find /home -size -512k 查/home中小于512k的文件
find /home -links +2 查/home中硬連接數(shù)大于2的文件或目錄
find /home -perm 0700 查/home中權(quán)限為700的文件或目錄
find命令匹配到了當(dāng)前目錄下的所有普通文件linux命令,并在-exec選項中使用ls-l命令將它們列出。上面的例子中,find命令匹配到了當(dāng)前目錄下的所有普通文件,并在-exec選項中使用ls -l命令將它們列出。不同的文件類型在linux系統(tǒng)中采用不同的符號表示,普通文件使用第一個‘-’符號表示,當(dāng)前l(fā)inux系統(tǒng)shell下使用ll –lst命令列出工作目錄下所有文件linux命令,該命令操作結(jié)果如下所示。
find -name a.txt -ok rm {} \; 查當(dāng)前目錄下的a.txt并詢問是否刪除
把當(dāng)前目錄下的file移動到/test下:
find -type f -exec mv {} /test \;
刪除指定時間之前的文件:
find -type f -name *.log -mtime +180 -exec rm {} \;