您好,登錄后才能下訂單哦!
python怎么用find命令查找文件?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
shell編程-文件查找之find命令
1.語(yǔ)法格式
find [路勁][選項(xiàng)][操作]
選項(xiàng)參數(shù)對(duì)照表
2.-name
查找/etc/目錄下以.conf結(jié)尾的文件
find /etc/ -name "*.conf"
-iname 不區(qū)分大小寫
find /etc/ -iname "*.conf"
-user 查找當(dāng)前目錄為root用戶的文件
find ./ -user root
3.-type
文件的類型
f 文件
d 目錄
c 字符設(shè)備文件
b 塊設(shè)備文件
l 鏈接文件
p 管道文件
find . -type f
find . -type d
4.-size
文件大小
-n 小與n的文件
+n 大于n的文件
查找/etc目錄下小與100k的文件
find /etc -size -100k
查找/etc目錄下大于1M的文件
find /etc -size +1M
5.-mtime
修改時(shí)間
-n n天以內(nèi)修改的文件
+n n天以外修改的文件
n 正好n天修改的文件
查找/etc目錄下5天之內(nèi)修改并且以conf結(jié)尾的文件
find /etc -mtime -5 -name '*.conf'
查找/etc目錄下10天之前修改并且屬主為root的文件
find /etc -mtime +10 -user root
6.-mmin
-n n分鐘以內(nèi)修改的文件
+n n分鐘以外修改的文件
修改/etc目錄下30分鐘以內(nèi)修改的目錄
find /etc -mmin -30 -type d
7.-mindepth
表示從n級(jí)子目錄開始搜索
find /etc -mindepth 3 -type -f
-madepth n
表示最多搜索到n-1級(jí)子目錄
8.操作-exec
對(duì)搜索的文件常用操作
-print 打印輸出
-exec 對(duì)文件執(zhí)行特定的操作
-ok 和exec功能意義,只是每次操作都會(huì)給用戶提示
-exec的格式為
-exec 'command' {} \
例子一:
搜索/home/shell_learn/下的文件,文件名以.sh結(jié)尾,且修改時(shí)間在一個(gè)星期之內(nèi)的,然后將其刪除
#打印 find /home/shell_learn/ -type f -name '*.sh' -mtime -7 -print #復(fù)制 find /home/shell_learn/ -type f -name '*.sh' -mtime -7 -exec cp {} /home/shell_learn/test/ \; #刪除 find /home/shell_learn/ -type f -name '*.sh' -mtime -7 -exec rm -rf {} \;
9.locate命令
locate不同于find命令是在整塊磁盤中搜索,locate命令是在數(shù)據(jù)庫(kù)文件中查找
find是默認(rèn)全局匹配,locate則是默認(rèn)部分匹配
updatedb命令
用戶更新/var/lib/mlocate/mlocate.db
所使用的配置文件/etc/updatedb.conf
實(shí)例:updatedb命令把文件更新到數(shù)據(jù)庫(kù)(默認(rèn)是第二天系統(tǒng)才會(huì)自動(dòng)更新到數(shù)據(jù)庫(kù)),否則locate查找不到
[root@VM_0_9_centos shell_learn]# touch 789.txt [root@VM_0_9_centos shell_learn]# [root@VM_0_9_centos shell_learn]# locate 789.txt [root@VM_0_9_centos shell_learn]# [root@VM_0_9_centos shell_learn]# updatedb [root@VM_0_9_centos shell_learn]# [root@VM_0_9_centos shell_learn]# locate 789.txt /home/shell_learn/789.txt [root@VM_0_9_centos shell_learn]#
10 .whereis命令
實(shí)例
[root@VM_0_9_centos shell_learn]# whereis mysql mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz [root@VM_0_9_centos shell_learn]# [root@VM_0_9_centos shell_learn]# whereis -b mysql mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql [root@VM_0_9_centos shell_learn]# [root@VM_0_9_centos shell_learn]# whereis -m mysql mysql: /usr/share/man/man1/mysql.1.gz [root@VM_0_9_centos shell_learn]#
11.which
作用:僅查找二進(jìn)制程序文件
[root@VM_0_9_centos shell_learn]# which mysql
/usr/bin/mysql
[root@VM_0_9_centos shell_learn]#
12.各查找命令總結(jié)
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。