Linux?find命令的高級(jí)用法和多級(jí)目錄查找實(shí)戰(zhàn)
在日常 Linux 開(kāi)發(fā)和運(yùn)維中,find 是一個(gè)非常強(qiáng)大的文件搜索工具。除了簡(jiǎn)單的按文件名查找,它還能按目錄、大小、時(shí)間、權(quán)限,甚至執(zhí)行批量操作,非常適合多層級(jí)目錄的管理。本文結(jié)合實(shí)際案例,帶你全面掌握 find 的高級(jí)用法。
一、find基本語(yǔ)法
find [起始路徑] [查找條件] [操作]
- 起始路徑:要搜索的目錄,如果用
.表示當(dāng)前目錄。 - 查找條件:文件名、類(lèi)型、大小、修改時(shí)間等。
- 操作:可以執(zhí)行命令,例如
-exec或-delete。
二、按類(lèi)型查找
# 查找所有目錄 find /path/to/search -type d # 查找所有普通文件 find /path/to/search -type f # 查找符號(hào)鏈接 find /path/to/search -type l
三、按名稱查找
# 精確匹配 find . -name "test.txt" # 忽略大小寫(xiě) find . -iname "test.txt" # 通配符匹配 find . -name "*.log"
四、按大小和時(shí)間查找
# 大于 100MB 的文件 find . -type f -size +100M # 最近 7 天修改過(guò)的文件 find . -type f -mtime -7 # 最近 1 小時(shí)修改的文件 find . -type f -mmin -60
五、結(jié)合邏輯操作符
# 查找所有 .txt 或 .log 文件 find . \( -name "*.txt" -o -name "*.log" \) # 查找 .txt 文件且大小 > 1M find . -name "*.txt" -a -size +1M
邏輯操作符:
-a/-and:并且(默認(rèn))-o/-or:或者!/-not:非
六、執(zhí)行操作
# 刪除找到的臨時(shí)文件
find . -name "*.tmp" -type f -delete
# 壓縮所有 js 文件
find . -name "*.js" -type f -exec gzip {} +
# 使用 + 批量執(zhí)行,提高效率
find . -name "*.log" -type f -exec gzip {} +
七、查找空文件或空目錄
# 空文件 find . -type f -empty # 空目錄 find . -type d -empty
八、按權(quán)限或擁有者查找
# 權(quán)限為 755 的文件 find . -type f -perm 755 # 擁有者為 user 的文件 find . -user user # 屬組為 group 的文件 find . -group group
九、限制查找深度
# 最多查找兩級(jí)目錄 find . -maxdepth 2 -type f # 從第三級(jí)目錄開(kāi)始查找 find . -mindepth 3 -type f
十、多級(jí)目錄查找示例
假設(shè)你要查找路徑 ./coze-studio/frontend/packages/common 下的文件或目錄:
# 查找所有文件 find ./coze-studio/frontend/packages/common -type f # 查找所有目錄 find ./coze-studio/frontend/packages/common -type d # 查找該路徑下所有 js 文件 find ./coze-studio/frontend/packages/common -type f -name "*.js" # 限制查找深度,只查當(dāng)前目錄 find ./coze-studio/frontend/packages/common -maxdepth 1 -type f
十一、查找指定多級(jí)路徑
如果你想查找完整路徑,例如:
coze-arch/coze-design/icons
直接用 -name 是找不到的,應(yīng)該用 -path:
# 精確匹配多級(jí)路徑目錄 find / -type d -path "*/coze-arch/coze-design/icons" # 忽略大小寫(xiě)匹配 find / -type d -ipath "*/coze-arch/coze-design/icons" # 查找該目錄下的 svg 文件 find / -type f -path "*/coze-arch/coze-design/icons/*.svg"
注意:
*表示路徑前綴任意層級(jí)-path匹配整個(gè)路徑-ipath忽略大小寫(xiě)匹配
十二、高級(jí)示例匯總
# 查找大于 100MB 且最近 7 天修改的日志文件并壓縮
find /var/log -type f -name "*.log" -size +100M -mtime -7 -exec gzip {} +
# 刪除 ./coze-studio/frontend/packages/common 下所有臨時(shí)文件
find ./coze-studio/frontend/packages/common -type f -name "*.tmp" -delete
# 查找指定多級(jí)目錄并查看詳細(xì)信息
find / -type d -path "*/coze-arch/coze-design/icons" -exec ls -lh {} \;
總結(jié)
-name:匹配單個(gè)文件或目錄名-path/-ipath:匹配完整路徑,支持多級(jí)目錄-type:限制類(lèi)型(文件、目錄、符號(hào)鏈接等)-size/-mtime/-mmin:按大小或修改時(shí)間篩選-exec/-delete:批量操作-maxdepth/-mindepth:控制遞歸深度- 邏輯操作符
-a/-o/!:復(fù)雜條件組合
通過(guò)這些組合,可以非常靈活地管理和查找 Linux 系統(tǒng)中的文件和目錄,尤其是在多級(jí)路徑和大型項(xiàng)目中。
到此這篇關(guān)于Linux find命令的高級(jí)用法和多級(jí)目錄查找實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)Linux find命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從原理到日常避坑帶你搞懂Linux命令執(zhí)行優(yōu)先級(jí)
這篇文章主要為大家詳細(xì)解析了Linux命令執(zhí)行的優(yōu)先級(jí)規(guī)則,本文還總結(jié)了常見(jiàn)使用誤區(qū),希望可以幫助大家掌握命令執(zhí)行機(jī)制,避免常見(jiàn)陷阱2026-02-02
ubuntu服務(wù)器環(huán)境下安裝python的方法
這篇文章主要介紹了ubuntu服務(wù)器環(huán)境下安裝python的方法,簡(jiǎn)單分析了Ubuntu環(huán)境下安裝Python的相關(guān)步驟、命令、與操作注意事項(xiàng),需要的朋友可以參考下2018-03-03
解決linux環(huán)境下時(shí)區(qū)無(wú)法設(shè)置的問(wèn)題
在本篇文章里小編給大家整理的是關(guān)于解決linux環(huán)境下時(shí)區(qū)無(wú)法設(shè)置的問(wèn)題的方法,需要的朋友們學(xué)習(xí)下。2020-01-01
Linux系統(tǒng)架構(gòu)類(lèi)型的5條常用查看命令
很多時(shí)候我們都需要查看當(dāng)前 Linux 系統(tǒng)是 32 位還是 64 位系統(tǒng)架構(gòu)類(lèi)型,本文中我將向大家推薦 5 條常用命令,感興趣的小伙伴們可以參考一下2016-07-07
Linux刪除系統(tǒng)自帶版本Python過(guò)程詳解
這篇文章主要介紹了Linux刪除系統(tǒng)自帶版本Python過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
Linux sudo 漏洞可能導(dǎo)致未經(jīng)授權(quán)的特權(quán)訪問(wèn)
sudo 命令中最近發(fā)現(xiàn)了一個(gè)嚴(yán)重漏洞,如果被利用,普通用戶可以 root 身份運(yùn)行命令,在 Linux 中利用新發(fā)現(xiàn)的 sudo 漏洞可以使某些用戶以 root 身份運(yùn)行命令,感興趣的朋友跟隨小編一起看看吧2019-10-10
從Linux源碼看Socket(TCP)Client端的Connect的示例詳解
這篇文章主要介紹了從Linux源碼看Socket(TCP)Client端的Connect,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07

