Linux-find

Linux下find命令在目錄結(jié)構(gòu)中搜索文件,并執(zhí)行指定的操作。Linux下find命令提供了相當(dāng)多的查找條件,功能很強(qiáng)大。

1.命令格式:

find pathname -options [-print -exec -ok ...]

2.命令功能:

用于在文件樹(shù)種查找文件,并作出相應(yīng)的處理

3.命令參數(shù):

pathname: find命令所查找的目錄路徑。例如用.來(lái)表示當(dāng)前目錄,用/來(lái)表示系統(tǒng)根目錄。 -print: find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。 -exec: find命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為'command' { } ;,注意{ }和\;之間的空格。 -ok: 和-exec的作用相同,只不過(guò)以一種更為安全的模式來(lái)執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個(gè)命令之前,都會(huì)給出提示,讓用戶來(lái)確定是否執(zhí)行。

4.命令選項(xiàng):
  1. -name 按照文件名查找文件。
  1. -perm 按照文件權(quán)限來(lái)查找文件。
  2. -prune 使用這一選項(xiàng)可以使find命令不在當(dāng)前指定的目錄中查找,如果同時(shí)使用-depth選項(xiàng),那么-prune將被find命令忽略。
  3. -user 按照文件屬主來(lái)查找文件。
  4. -group 按照文件所屬的組來(lái)查找文件。
  5. -mtime -n +n 按照文件的更改時(shí)間來(lái)查找文件, - n表示文件更改時(shí)間距現(xiàn)在n天以內(nèi),+ n表示文件更改時(shí)間距現(xiàn)在n天以前。find命令還有-atime和-ctime 選項(xiàng),但它們都和-m time選項(xiàng)。
  6. -nogroup 查找無(wú)有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
    8.-nouser 查找無(wú)有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
  7. -newer file1 ! file2 查找更改時(shí)間比文件file1新但比文件file2舊的文件。
  8. -type 查找某一類型的文件,諸如:b - 塊設(shè)備文件。d - 目錄。c - 字符設(shè)備文件。p - 管道文件。l - 符號(hào)鏈接文件。f - 普通文件。
  9. -size n:[c] 查找文件長(zhǎng)度為n塊的文件,帶有c時(shí)表示文件長(zhǎng)度以字節(jié)計(jì)。
  10. -depth:在查找文件時(shí),首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找。
  11. -fstype:查找位于某一類型文件系統(tǒng)中的文件,這些文件系統(tǒng)類型通??梢栽谂渲梦募?etc/fstab中找到,該配置文件中包含了本系統(tǒng)中有關(guān)文件系統(tǒng)的信息。
  12. -mount:在查找文件時(shí)不跨越文件系統(tǒng)mount點(diǎn)。-follow:如果find命令遇到符號(hào)鏈接文件,就跟蹤至鏈接所指向的文件。
  13. -cpio:對(duì)匹配的文件使用cpio命令,將這些文件備份到磁帶設(shè)備中。
  14. 另外,下面三個(gè)的區(qū)別:
    -amin n 查找系統(tǒng)中最后N分鐘訪問(wèn)的文件-atime n 查找系統(tǒng)中最后n24小時(shí)訪問(wèn)的文件-cmin n 查找系統(tǒng)中最后N分鐘被改變文件狀態(tài)的文件-ctime n 查找系統(tǒng)中最后n24小時(shí)被改變文件狀態(tài)的文件-mmin n 查找系統(tǒng)中最后N分鐘被改變文件數(shù)據(jù)的文件-mtime n 查找系統(tǒng)中最后n*24小時(shí)被改變文件數(shù)據(jù)的文件
5.使用實(shí)例:

實(shí)例1:查找指定時(shí)間內(nèi)修改過(guò)的文件
命令:find -atime -2
說(shuō)明:超找48小時(shí)內(nèi)修改過(guò)的文件
實(shí)例2:根據(jù)關(guān)鍵字查找
命令:find . -name "*.log"
說(shuō)明:在當(dāng)前目錄查找 以.log結(jié)尾的文件。 ". "代表當(dāng)前目錄
實(shí)例3:按照目錄或文件的權(quán)限來(lái)查找文件
命令:find /opt/soft/test/ -perm 777
說(shuō)明:查找/opt/soft/test/目錄下 權(quán)限為 777的文件
實(shí)例4:按類型查找
命令:find . -type f -name "*.log"
說(shuō)明:查找當(dāng)目錄,以.log結(jié)尾的普通文件
實(shí)例5:查找當(dāng)前所有目錄并排序**
命令:find . -type d | sort
實(shí)例6:按大小查找文件
命令:find . -size +1000c -print
說(shuō)明:查找當(dāng)前目錄大于1K的文件

由于在linux下查找rubymine.sh文件時(shí)用到了find方法,所以在此參考他人資料記錄下來(lái),方便以后使用時(shí)查看。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容