一天一個(gè)命令,做個(gè)記錄, 我要成大神,哈哈哈 本原創(chuàng)文章屬于《Linux大棚》博客。 博客地址為http://roclinux.cn。 文章作者為roc 希望您能通過捐款的方式支持Linux大棚博客的運(yùn)行和發(fā)展。請(qǐng)見關(guān)于捐款 == 先看例子,對(duì)find有個(gè)大致的了解,最后作總結(jié)(如
一天一個(gè)命令,做個(gè)記錄,
我要成大神,哈哈哈
本原創(chuàng)文章屬于《Linux大棚》博客。
博客地址為http://roclinux.cn。
文章作者為roc
希望您能通過捐款的方式支持Linux大棚博客的運(yùn)行和發(fā)展。請(qǐng)見“關(guān)于捐款”
==
先看例子,對(duì)find有個(gè)大致的了解,最后作總結(jié)(如果你只想溫習(xí),可以直接到最后看總結(jié))
1. 想查看當(dāng)前文件夾及子文件夾里有沒有文件名為“abc”的文件(不是目錄)
# find . -name abc
. :表示當(dāng)前目錄
-name:表示要根據(jù)名稱查找
2. 想查看當(dāng)前文件夾及子文件夾里有沒有”xyz”目錄
# find . -type d -name xyz (d前沒有-)
-type:表示設(shè)定類型,d表示文件夾類型,可以替換為f(普通文件)、l(鏈接文件)
3. 想找出當(dāng)前文件夾及子文件夾里所有后綴是”.txt”的文件
# find . -name “*.txt”
跟1類似,不過-name的參數(shù)成了一個(gè)模式,而不再是具體的文件名
4. 想查找當(dāng)前目錄及其子文件夾中“roc”用戶自己的文件有哪些
# find . -user roc
-user:用于設(shè)定所屬用戶的名稱,此處可替換為-group,即所屬用戶組的名稱
5. 想查找當(dāng)前文件夾及子文件夾里權(quán)限設(shè)定為755的所有文件
# find . -perm 755
-perm:用于設(shè)定權(quán)限
6. 想查找當(dāng)前文件夾及子文件夾里的同時(shí)含有b字符和3字符的文件:用到正則表達(dá)式技術(shù)
# find . -regex ‘.*b.*3′
-regex:表示使用正則表達(dá)式進(jìn)行匹配。請(qǐng)注意,此命令會(huì)和“全路徑”進(jìn)行匹配,也就是說前面要加.*,因?yàn)?/script>輸出結(jié)果中會(huì)有“./”符號(hào)。
7. 如果想全部輸出用find命令查找出的”*.abc”文件的內(nèi)容
# find . -type f -name “*.abc” -exec cat {} \;
-exec 表示由find找到的匹配項(xiàng)會(huì)作為“-exec后面設(shè)定的命令”的參數(shù)
可以使用-ok代替-exec,這樣對(duì)每個(gè)匹配項(xiàng)進(jìn)行操作,都會(huì)要求用戶確認(rèn)(y為是,n為否)
命令最后的{} \; 別忘了寫,其中{}代表用find查找到的結(jié)果中的每一個(gè)查找項(xiàng)。
8. 查找當(dāng)前目錄下在5分鐘內(nèi)被訪問過的文件
# find . -amin -5
訪問過用amin,修改過用mmin,文件狀態(tài)改變過用cmin
精確到分鐘的用amin,mmin,cmin,精確到天的用atime,mtime,ctime
在5分鐘之內(nèi)的用-5,在5分鐘以上的用+5
9. 想查找當(dāng)前目錄及子目錄下文件大小大于10M的所有文件
# find . -size +10000000c
-size:表示文件大小,+表示大于某個(gè)數(shù),-表示小于某個(gè)數(shù)。c表示單位是字節(jié),你可以將c換成k,M,G。
10. 上述所有的find命令都是查找當(dāng)前目錄及其子目錄。如果不想深入到子目錄中,而是只查找當(dāng)前一層目錄,則可以:
# find . -maxdepth 1 -name “*.c”
總結(jié):
通過上面的例子,我們已經(jīng)初識(shí)了find。升一個(gè)層次。
1 find的命令格式
find pathname -options filename [-print,-exec,-ok [command {} \;]]
2 命令功能
用于在文件樹中的查找文件
3 命令參數(shù):
pathname: find命令所查找的目錄路徑。例如用.來表示當(dāng)前目錄,用/來表示系統(tǒng)根目錄。
-print: find命令將匹配的文件輸出到標(biāo)準(zhǔn)輸出。
-exec: find命令對(duì)匹配的文件執(zhí)行該參數(shù)所給出的shell命令。相應(yīng)命令的形式為command { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令,在執(zhí)行每一個(gè)命令之前,都會(huì)給出提示,讓用戶來確定是否執(zhí)行。
4 option選項(xiàng)
依據(jù)文件名
-name :支持“*”匹配符,需要使用正則則用-regex
依據(jù)文件大小
-size: -size n[c,K,M,G],注意k是小寫,大寫是錯(cuò)誤的??梢灾付ㄒ粋€(gè)范圍,如-size -10M -size + 5M ,表示 5M 依據(jù)文件類型 -type: 后接d(目錄),f(普通文件),p(管道文件),b(塊設(shè)備),l(鏈接文件),s(socket文件) 依據(jù)時(shí)間: 訪問:-amin,-atime 修改:-mmin,-mtime 狀態(tài)變化:-cmin,-ctime 依據(jù)屬主身份; 所屬主:-user,-nouser 所屬組:-group,-nogroup 依據(jù)權(quán)限: -perm 其他: -depth:在查找文件時(shí),首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找。 -newer file1 ! file2 查找更改時(shí)間比文件file1新但比文件file2舊的文件。 -fstype:查找位于某一類型文件系統(tǒng)中的文件,這些文件系統(tǒng)類型通??梢栽谂渲梦募?etc/fstab中找到,該配置文件中包含了本系統(tǒng)中有關(guān)文件系統(tǒng)的信息。 -mount:在查找文件時(shí)不跨越文件系統(tǒng)mount點(diǎn)。 -follow:如果find命令遇到符號(hào)鏈接文件,就跟蹤至鏈接所指向的文件。 -cpio:對(duì)匹配的文件使用cpio命令,將這些文件備份到磁帶設(shè)備中。 各選項(xiàng)可以一起使用
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com