免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

教你Linux find命令實(shí)例教程:15個(gè)find命令用法

:2020年01月05日 CU技術(shù)社區(qū)
分享到:

點(diǎn)擊添加圖片描述(最多60個(gè)字)在系統(tǒng)上查找文件或目錄時(shí),Linux上的find命令無與倫比。它使用簡單,而且有許多不同的選項(xiàng),可讓您微調(diào)文件搜索。繼續(xù)閱讀以查看如何使用此命令在系統(tǒng)上查找任何內(nèi)容的示...

南京网络教育殿上欢,欢乐颂,殿上欢

點(diǎn)擊添加圖片描述(最多60個(gè)字)

在系統(tǒng)上查找文件或目錄時(shí),Linux上的find命令無與倫比。它使用簡單,而且有許多不同的選項(xiàng),可讓您微調(diào)文件搜索。

繼續(xù)閱讀以查看如何使用此命令在系統(tǒng)上查找任何內(nèi)容的示例。一旦您知道如何在Linux中使用find命令,每個(gè)文件都只需敲擊幾下。

目錄

  1. 查找目錄

  2. 查找隱藏文件

  3. 查找特定大小或大于X的文件

  4. 從文件列表中查找

  5. 不在列表中查找

  6. 設(shè)置maxdepth

  7. 查找空文件(零長度)

  8. 查找最大的目錄或文件

  9. 查找setuid設(shè)置文件

  10. 查找sgid設(shè)置文件

  11. 列出文件未經(jīng)允許被拒絕

  12. 在最近X天內(nèi)查找修改過的文件

  13. 按時(shí)間排序

  14. 定位和查找之間的區(qū)別

  15. find命令的CPU負(fù)載

查找目錄

您可以使用-type d選項(xiàng)告訴find命令專門查找目錄。這將使find命令僅搜索匹配的目錄名,而不搜索文件名。

$ find /path/to/search -type d -name "name-of-dir"

南京网络教育殿上欢,欢乐颂,殿上欢

查找隱藏文件

由于Linux中的隱藏文件和目錄以句點(diǎn)開頭,因此我們可以在搜索字符串中指定此搜索模式,以便遞歸列出隱藏的文件和目錄。

$ find /path/to/search -name ".*"

查找特定大小或大于X的文件

find的-size選項(xiàng)允許我們搜索特定大小的文件。它可用于查找確切大小的文件,大于或小于特定大小的文件或適合指定大小范圍的文件。以下有些例子:

搜索大于10MB的文件:

$ find /path/to/search -size +10M

搜索小于10MB的文件:

$ find /path/to/search -size -10M

搜索大小恰好為10MB的文件:

$ find /path/to/search -size 10M

搜索大小在100MB到1GB之間的文件:

$ find /path/to/search -size +100M -size -1G

從文件列表中查找

如果您有需要搜索的文件列表(例如,在.txt文件中),則可以使用find和grep命令的組合來搜索文件列表。為了使此命令起作用,只需確保要搜索的每個(gè)模式之間都用換行符隔開。

$ find /path/to/search | grep -f filelist.txt

grep的-f選項(xiàng)表示“file”,并允許我們指定要匹配的字符串文件。這導(dǎo)致find命令返回與列表中的文件或目錄名稱匹配的任何文件或目錄名稱。

不在列表中查找

使用上一個(gè)示例中提到的相同文件列表,您還可以使用find來搜索與文本文件內(nèi)的模式不符的任何文件。再一次,我們將結(jié)合使用find和grep命令;我們只需要用grep指定一個(gè)附加選項(xiàng):

$ find /path/to/search | grep -f filelist.txt

grep的-v選項(xiàng)表示“逆向匹配”,并且將返回與文件列表中指定的任何模式都不匹配的文件列表。

設(shè)置maxdepth

find命令默認(rèn)將進(jìn)行遞歸搜索。這意味著它將在指定的目錄中搜索您指定的模式,以及您告訴它要搜索的目錄中的所有子目錄。

例如,如果告訴find搜索Linux(/)的根目錄,則無論存在多少個(gè)子目錄,它都會搜索整個(gè)硬盤。您可以使用-maxdepth選項(xiàng)來規(guī)避此行為。

在-maxdepth之后指定一個(gè)數(shù)字,以指示查找應(yīng)遞歸搜索的子目錄數(shù)。

僅搜索當(dāng)前目錄中的文件,而不遞歸搜索:

$ find . -maxdepth 0 -name "myfile.txt"

僅在當(dāng)前目錄和更深的一個(gè)子目錄中搜索文件:

$ find . -maxdepth 1 -name "myfile.txt"

查找空文件(零長度)

要使用find搜索空文件,可以使用-empty標(biāo)志。搜索所有空文件:

$ find /path/to/search -type f -empty

搜索所有空目錄:

$ find /path/to/search -type d -empty

如果希望自動(dòng)刪除find返回的空文件或目錄,那么將此命令與-delete選項(xiàng)結(jié)合使用也非常方便。

刪除目錄(和子目錄)中的所有空文件:

$ find /path/to/search -type f -empty -delete

查找最大的目錄或文件

如果您想快速確定系統(tǒng)上哪些文件或目錄占用了最多的空間,則可以使用find進(jìn)行遞歸搜索,并按文件和目錄的大小輸出排序的列表。

如何顯示目錄中最大的文件:

$ find /path/to/search -type f -printf "%s\t%p\n" | sort -n | tail -1

請注意,find命令已被排序到另外兩個(gè)方便的Linux實(shí)用程序:sort和tail。 Sort將按文件的大小順序排列文件列表,而tail將僅輸出列表中的最后一個(gè)文件,該文件也是最大的。

如果您要輸出例如最大的前5個(gè)文件,則可以調(diào)整tail命令。

$ find /path/to/search -type f -printf "%s\t%p\n" | sort -n | tail -5

或者,您可以使用head命令來確定最小的文件:

$ find /path/to/search -type f -printf "%s\t%p\n" | sort -n | head -5

如果要搜索目錄而不是文件,只需在類型選項(xiàng)中指定“ d”即可。如何顯示最大目錄:

$ find /path/to/search -type d -printf "%s\t%p\n" | sort -n | tail -1

查找setuid設(shè)置文件

Setuid是“set user ID on execution”的縮寫,它是一種文件權(quán)限,允許普通用戶運(yùn)行具有升級特權(quán)(例如root)的程序。

出于明顯的原因,這可能是一個(gè)安全問題,但是可以使用find命令和一些選項(xiàng)輕松隔離這些文件。

find命令有兩個(gè)選項(xiàng)可幫助我們搜索具有特定權(quán)限的文件:-user和-perm。要查找普通用戶能夠以root特權(quán)執(zhí)行的文件,可以使用以下命令:

$ find /path/to/search -user root -perm /4000

南京网络教育殿上欢,欢乐颂,殿上欢

在上面的屏幕截圖中,我們包含了-exec選項(xiàng),以便顯示有關(guān)查找返回文件的更多輸出。整個(gè)命令如下所示:

$ find /path/to/search -user root -perm /4000 -exec ls -l {} \;

您也可以在此命令中用“ root”代替您要作為所有者搜索的任何其他用戶。或者,您可以搜索具有SUID權(quán)限的所有文件,而根本不指定一個(gè)用戶:

$ find /path/to/search -perm /4000

查找sgid設(shè)置文件

查找具有SGID設(shè)置的文件與查找具有SUID的文件幾乎相同,只是需要將4000的權(quán)限更改為2000:

$ find /path/to/search -perm /2000

您還可以通過在perms選項(xiàng)中指定6000來搜索,同時(shí)設(shè)置了SUID和SGID的文件:

$ find /path/to/search -perm /6000

列出文件未經(jīng)允許被拒絕

使用find命令搜索文件時(shí),您必須對要搜索的目錄和子目錄具有讀取權(quán)限。如果您沒有找到,find將輸出一條錯(cuò)誤消息,但會繼續(xù)瀏覽您確實(shí)擁有權(quán)限的目錄。

南京网络教育殿上欢,欢乐颂,殿上欢

點(diǎn)擊添加圖片描述(最多60個(gè)字)

沒有權(quán)限盡管這可能發(fā)生在許多不同的目錄中,但在搜索根目錄時(shí)肯定會發(fā)生。

這意味著,當(dāng)您嘗試在整個(gè)硬盤上搜索文件時(shí),find命令將產(chǎn)生大量錯(cuò)誤消息。

為避免看到這些錯(cuò)誤,您可以將find的stderr輸出重定向到stdout,并將其通過管道傳遞到grep。

$ find / -name "myfile.txt" 2>%1 | grep -v "Permission denied"

此命令使用grep的-v(反向)選項(xiàng)來顯示所有輸出,除了顯示“拒絕權(quán)限”之外的所有輸出。

查找最近X天內(nèi)的修改文件

使用find命令上的-mtime選項(xiàng)搜索最近X天內(nèi)被修改的文件或目錄。它也可以用于搜索X天之前的文件,或X天之前被完全修改過的的文件。

以下是一些如何在find命令上使用-mtime選項(xiàng)的示例:

搜索最近30天內(nèi)修改過的所有文件:

$ find /path/to/search -type f -mtime -30

搜索超過30天之前已修改的所有文件:

$ find /path/to/search -type f -mtime +30

搜索30天前剛修改過的所有文件:

$ find /path/to/search -type f -mtime 30

如果希望find命令輸出有關(guān)找到的文件的更多信息,例如修改日期,則可以使用-exec選項(xiàng)并包含ls命令:

$ find /path/to/search -type f -mtime -30 -exec ls -l {} \;

按時(shí)間排序

要按文件的修改時(shí)間對查找結(jié)果進(jìn)行排序,您可以使用-printf選項(xiàng)以可排序的方式列出時(shí)間,然后將其輸出到sort實(shí)用程序。

$ find /path/to/search -printf "%T+\t%p\n" | sort

此命令將對舊的文件進(jìn)行排序。如果您希望較新的文件首先顯示,只需傳遞-r(反向)選項(xiàng)即可進(jìn)行排序。

$ find /path/to/search -printf "%T+\t%p\n" | sort -r

定位和查找之間的區(qū)別

Linux上的locate命令是搜索系統(tǒng)上文件的另一種好方法。它沒有像find命令那樣包含過多的搜索選項(xiàng),因此它的靈活性較差,但仍然很方便。

$ locate myfile.txt

locate命令通過搜索包含系統(tǒng)上所有文件名的數(shù)據(jù)庫來工作。搜索到的數(shù)據(jù)庫已使用upatedb命令進(jìn)行更新。

由于locate命令不必實(shí)時(shí)搜索系統(tǒng)上的所有文件,因此它比find命令效率更高。但是,除了缺少選項(xiàng)之外,還有另一個(gè)缺點(diǎn):文件數(shù)據(jù)庫每天僅更新一次。

您可以通過運(yùn)行updatedb命令手動(dòng)更新此文件數(shù)據(jù)庫:

$ updatedb

當(dāng)您需要在整個(gè)硬盤驅(qū)動(dòng)器中搜索文件時(shí),locate命令特別有用,因?yàn)閒ind命令自然需要更長的時(shí)間,因?yàn)樗仨殞?shí)時(shí)遍歷每個(gè)目錄。

如果搜索一個(gè)特定目錄(已知其中不包含大量子目錄),則最好堅(jiān)持使用find命令。

查找命令的CPU負(fù)載

在搜索大量目錄時(shí),find命令可能會占用大量資源。它本來應(yīng)該允許更重要的系統(tǒng)進(jìn)程具有優(yōu)先級,但是如果需要確保find命令占用生產(chǎn)服務(wù)器上的較少資源,則可以使用ionice或nice命令。

監(jiān)視find命令的CPU使用情況:

$ top

降低find命令的輸入/輸出優(yōu)先級:

$ ionice -c3 -n7 find /path/to/search -name "myfile.txt"

降低find命令的CPU優(yōu)先級:

$ nice -n 19 find /path/to/search -name "myfile.txt"

或結(jié)合使用這兩個(gè)實(shí)用程序以真正確保低I / O和低CPU優(yōu)先級:

$ nice -n ionice -c2 -n7 find /path/to/search -name "myfile.txt"

[我要糾錯(cuò)]
[編輯:宋聰喬 &發(fā)表于江蘇]
關(guān)鍵詞: 點(diǎn)擊 添加 圖片 描述 最多

來源:本文內(nèi)容搜集或轉(zhuǎn)自各大網(wǎng)絡(luò)平臺,并已注明來源、出處,如果轉(zhuǎn)載侵犯您的版權(quán)或非授權(quán)發(fā)布,請聯(lián)系小編,我們會及時(shí)審核處理。
聲明:江蘇教育黃頁對文中觀點(diǎn)保持中立,對所包含內(nèi)容的準(zhǔn)確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點(diǎn)負(fù)責(zé),僅作分享之用,文章版權(quán)及插圖屬于原作者。

點(diǎn)個(gè)贊
0
踩一腳
0

您在閱讀:教你Linux find命令實(shí)例教程:15個(gè)find命令用法

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發(fā)布查詢平臺保留所有權(quán)利

蘇公網(wǎng)安備32010402000125 蘇ICP備14051488號-3技術(shù)支持:南京博盛藍(lán)睿網(wǎng)絡(luò)科技有限公司

南京思必達(dá)教育科技有限公司版權(quán)所有   百度統(tǒng)計(jì)

主站蜘蛛池模板: 日本精品a在线 | 亚洲 中文 欧美 日韩 在线人 | 国产亚洲精品高清在线 | 欧美中文综合在线视频 | 日本特级黄录像片 | 亚洲另类自拍丝袜第1页 | 国产一级片播放 | 嗯男人边吃奶边做边爱视频 | 二区三区不卡不卡视频 | 日本久久精品视频 | 毛片a级三毛片免费播放 | 国产日产欧美一区二区三区 | 毛片在线视频 | 亚洲成人影院在线 | 日本精品不卡 | 日韩中文网 | 中文字幕日韩一区二区不卡 | 国产成人精品日本亚洲语音2 | 久久精品香蕉视频 | 国产成人影院一区二区 | 91精品乱码一区二区三区 | 曰本还a大片免费无播放器 曰本三级香港三级三级人 孕交videos小孕妇xx中文 | 日韩欧美高清一区 | 国产高清精品入口麻豆 | 一个人看www在线视频 | 亚洲国产精品乱码一区二区三区 | 国产亚洲一区二区三区在线 | www.日日| 免费一级a毛片在线搐放正片 | 一级毛片a免费播放王色 | 三级成人网 | 免费黄色欧美 | 亚洲系列第一页 | 一区二区三区免费精品视频 | 日日碰日日摸日日澡视频播放 | 欧美日韩一区二区视频图片 | 欧美成人全部费免网站 | 国产成人精品高清在线观看99 | 日韩精品一区二区三区免费观看 | 成年女人免费又黄又爽视频 | 污污网站大全 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產(chǎn)品享最低成本,有需要聯(lián)系,
  • 卡爾蔡司鏡片優(yōu)惠店,鏡片價(jià)格低
  • 蘋果原裝手機(jī)殼