Linux命令之find的用法

linux系統(tǒng)中,find命令是一種功能強(qiáng)大且靈活的工具,用于在文件系統(tǒng)中搜索文件和目錄。該命令提供了多種查找條件,使得用戶可以根據(jù)不同的屬性來定位目標(biāo)文件或目錄。

find命令的基本格式為:find pathname -options [-print -exec -ok…]

其中,pathname指定了find命令開始搜索的路徑。例如,/home/tools/tongyan。

以下是一些常用的選項(xiàng)及其功能:

  • -print:將匹配的文件輸出到標(biāo)準(zhǔn)輸出。
  • -exec:對(duì)匹配的文件執(zhí)行指定的shell命令。命令格式為’command’ {} ;,其中{}表示find命令找到的文件名,;表示命令結(jié)束。
  • -ok:與-exec類似,但執(zhí)行前會(huì)提示用戶確認(rèn)。

find命令的常用查找條件包括:

  • -name filename:按文件名查找。
  • -perm:按文件權(quán)限查找。
  • -user username:按文件所有者查找。
  • -group groupname:按文件所屬組查找。
  • -mtime -n +n:按文件修改時(shí)間查找,-n表示n天以內(nèi),+n表示n天以前。
  • -atime -n +n:按文件訪問時(shí)間查找。
  • -ctime -n +n:按文件創(chuàng)建時(shí)間查找。
  • -nogroup:查找無有效屬組的文件。
  • -nouser:查找無有效屬主的文件。
  • -newer f1 !f2:查找更改時(shí)間比f1新但比f2舊的文件。
  • -type b/d/c/p/l/f:按文件類型查找,分別表示塊設(shè)備、目錄、字符設(shè)備、管道、符號(hào)鏈接、普通文件。
  • -size n[c]:按文件大小查找,n表示塊數(shù)或字節(jié)數(shù)。
  • -depth:在進(jìn)入子目錄前先搜索當(dāng)前目錄。
  • -fstype:查找位于特定文件系統(tǒng)類型的文件。
  • -mount:不跨越文件系統(tǒng)掛載點(diǎn)查找文件。
  • -follow:跟蹤符號(hào)鏈接文件。
  • -cpio:將匹配的文件備份到磁帶設(shè)備中。
  • -prune:忽略某個(gè)目錄。

具體查找方式包括:

  • 按文件類型查找:find test1 -type d

    Linux命令之find的用法linux命令之find的用法_文件系統(tǒng)

  • 按文件名查找:find test1 -name test2

    Linux命令之find的用法Linux命令之find的用法_linux_02

  • 按文件屬主查找:find test1 -user wangmengting

    Linux命令之find的用法Linux命令之find的用法_grep_03

  • 按文件所屬組查找:find test1 -group wangmengting

    Linux命令之find的用法Linux命令之find的用法_修改時(shí)間_04

  • 按文件修改時(shí)間查找:find test1 -mtime -1

    Linux命令之find的用法Linux命令之find的用法_find_05

其他查找方式這里不再一一展示。

如果查找結(jié)果過多,可以使用以下方法進(jìn)行顯示:

  • -print:將匹配的文件輸出到標(biāo)準(zhǔn)輸出,例如find /home -type f -print。

此外,還可以對(duì)查找結(jié)果進(jìn)行額外操作:

  • -exec:對(duì)匹配的文件執(zhí)行額外操作,例如find /test1 -name “test2.txt” -exec rm {} ;。其中{}表示find找到的文件,;表示命令結(jié)束,是轉(zhuǎn)義字符。

關(guān)于-mtime參數(shù)的使用:

  • -mtime n:查找文件修改時(shí)間距今為n天的文件。
  • -mtime -n:查找文件修改時(shí)間距今在n天以內(nèi)的文件。
  • -mtime +n:查找文件修改時(shí)間距今在n天以前的文件。

例如:

  • -mtime 0:查找文件修改時(shí)間距今不到1天的文件。
  • -mtime 1:查找文件修改時(shí)間距今1天的文件。
  • -mtime +1:查找文件修改時(shí)間距今大于1天的文件,即2天以上的文件。
  • -mtime -1:查找文件修改時(shí)間距今小于1天的文件。

需要注意的是,-mtime +1查找的是修改時(shí)間距今超過2天的文件,因?yàn)閚只能是整數(shù),+1表示大于1天,即大于24小時(shí),最接近的整數(shù)是2,所以實(shí)際上是查找48小時(shí)以外的文件。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享