python怎么用find命令查找文件?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司是一家網(wǎng)站建設、做網(wǎng)站,提供網(wǎng)頁設計,網(wǎng)站設計,網(wǎng)站制作,建網(wǎng)站,定制網(wǎng)站建設,網(wǎng)站開發(fā)公司,2013年開創(chuàng)至今是互聯(lián)行業(yè)建設者,服務者。以提升客戶品牌價值為核心業(yè)務,全程參與項目的網(wǎng)站策劃設計制作,前端開發(fā),后臺程序制作以及后期項目運營并提出專業(yè)建議和思路。
shell編程-文件查找之find命令
1.語法格式
find [路勁][選項][操作]
選項參數(shù)對照表
2.-name
查找/etc/目錄下以.conf結尾的文件
find /etc/ -name "*.conf"
-iname 不區(qū)分大小寫
find /etc/ -iname "*.conf"
-user 查找當前目錄為root用戶的文件
find ./ -user root
3.-type
文件的類型
f 文件
d 目錄
c 字符設備文件
b 塊設備文件
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
修改時間
-n n天以內修改的文件
+n n天以外修改的文件
n 正好n天修改的文件
查找/etc目錄下5天之內修改并且以conf結尾的文件
find /etc -mtime -5 -name '*.conf'
查找/etc目錄下10天之前修改并且屬主為root的文件
find /etc -mtime +10 -user root
6.-mmin
-n n分鐘以內修改的文件
+n n分鐘以外修改的文件
修改/etc目錄下30分鐘以內修改的目錄
find /etc -mmin -30 -type d
7.-mindepth
表示從n級子目錄開始搜索
find /etc -mindepth 3 -type -f
-madepth n
表示最多搜索到n-1級子目錄
8.操作-exec
對搜索的文件常用操作
-print 打印輸出
-exec 對文件執(zhí)行特定的操作
-ok 和exec功能意義,只是每次操作都會給用戶提示
-exec的格式為
-exec 'command' {} \
例子一:
搜索/home/shell_learn/下的文件,文件名以.sh結尾,且修改時間在一個星期之內的,然后將其刪除
#打印 find /home/shell_learn/ -type f -name '*.sh' -mtime -7 -print #復制 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ù)庫文件中查找
find是默認全局匹配,locate則是默認部分匹配
updatedb命令
用戶更新/var/lib/mlocate/mlocate.db
所使用的配置文件/etc/updatedb.conf
實例:updatedb命令把文件更新到數(shù)據(jù)庫(默認是第二天系統(tǒng)才會自動更新到數(shù)據(jù)庫),否則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命令
實例
[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
作用:僅查找二進制程序文件
[root@VM_0_9_centos shell_learn]# which mysql
/usr/bin/mysql
[root@VM_0_9_centos shell_learn]#
12.各查找命令總結
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。