溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python怎么用find命令查找文件

發(fā)布時(shí)間:2020-08-25 16:41:15 來(lái)源:億速云 閱讀:398 作者:Leah 欄目:編程語(yǔ)言

python怎么用find命令查找文件?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

shell編程-文件查找之find命令

1.語(yǔ)法格式

find [路勁][選項(xiàng)][操作]

選項(xiàng)參數(shù)對(duì)照表

python怎么用find命令查找文件python怎么用find命令查找文件

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命令

python怎么用find命令查找文件

實(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é)

python怎么用find命令查找文件

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI