python檔案查詢之find命令

joytoy發表於2021-09-11

python檔案查詢之find命令

shell程式設計-檔案查詢之find命令

1.語法格式

find [路勁][選項][操作]

選項引數對照表

1561947919799000.png1561947932521353.png

2.-name   

查詢/etc/目錄下以.conf結尾的檔案

find /etc/ -name "*.conf"

-iname   不區分大小寫

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    對檔案執行特定的操作

-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命令是在資料庫檔案中查詢

find是預設全域性匹配,locate則是預設部分匹配

updatedb命令

使用者更新/var/lib/mlocate/mlocate.db

所使用的配置檔案/etc/updatedb.conf

 例項:updatedb命令把檔案更新到資料庫(預設是第二天系統才會自動更新到資料庫),否則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命令

cc.png

例項

[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.各查詢命令總結

1561947973930290.png

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4650/viewspace-2837334/,如需轉載,請註明出處,否則將追究法律責任。

相關文章