linux基礎之檔案查詢

2021-07-11 18:47:52 字數 3036 閱讀 6482

特點:

非實時,模糊匹配,查詢時根據全系統檔案資料庫進行的,

此資料庫會定時更新(取決於系統配置),

也可以使用`updatedb`手動生成檔案資料庫,但是這會相當慢。

用法:

locate filename
特點:

實時查詢,精確,原理就是遍歷指定目錄中的所有檔案完成查詢,所以速度慢。

支援眾多的查詢選項

用法:

find 查詢路徑 查詢選項 查詢到以後的處理運作

查詢路徑:預設為當前目錄

查詢選項:預設為指定路勁下的所有檔案

處理運作:預設為顯示

對檔名做精確匹配

例:在/目錄下查詢passwd檔案

[root@iz28g26851kz opt]# find / -name passwd

/etc/pam.d/passwd

/etc/passwd

/usr/bin/passwd

[root@iz28g26851kz opt]#

查詢時不區分大小寫

按所屬使用者進行查詢

例:查詢jianshi使用者的檔案

[root@iz28g26851kz opt]# find / -user jianshi

/var/spool/mail/jianshi

/opt/gfsd

/opt/asd

/home/jianshi

/home/jianshi/.bashrc

/home/jianshi/.bash_history

/home/jianshi/.bash_profile

/home/jianshi/.bash_logout

find: `/proc/11553/task/11553/fd/5

': no such file or directory

find:

`/proc/11553/task/11553/fdinfo/5

': no such file or directory

find: `/proc/11553/fd/5': no such file or directory

find: `/proc/11553/fdinfo/5

': no such file or directory

[root@iz28g26851kz opt]#

根據所屬組查詢

根據uid查詢

根據gid查詢

查詢沒有屬主的檔案

根據檔案型別查詢

f:普通檔案

d:目錄檔案

c:字元裝置

b:塊裝置

l:鏈結檔案

p:管道檔案

s:套接字檔案

例:查詢tmp目錄下的目錄檔案

[root@iz28g26851kz ~]# find /tmp -type d

/tmp

/tmp/.ice-unix

[root@iz28g26851kz ~]#

按大小查詢檔案

-size 10k    --查詢9-10k之間的檔案,所有小於1的都會當做1,所以,9.#k都算10k

-size 1k --查詢小於1k的檔案

-size +10k --查詢大於10k的檔案

-size -10k --查詢小於10k的檔案

-size 1m

-size 1g

例:查詢etc目錄下9-10k的檔案,並顯示詳細資訊

[root@iz28g26851kz ~]# find /etc -size

10k -ls

-a:與

-o:或

-not:非

例:查詢當前使用者目錄下檔案型別為目錄且小於1m的檔案

[root@iz28g26851kz ~]# find ~/ -type d -a -size

1m -ls

按時間戳查詢檔案

用法

-mtime:修改時間

-ctime:改變時間

-atime:訪問時間

以-atime為例

-atime [+][-]#

//+#:表示至少#天沒有訪問過的檔案

//-#:表示#天內沒有訪問過的檔案

//#:表示#天沒有訪問過的檔案,多一天少一天都不行

例:找找/tmp目錄下至少3天沒有被訪問過的檔案

[root@iz28g26851kz ~]# find /tmp/ -atime +3
根據檔案許可權來查詢

-perm mode

:表示精確匹配,每一位都必須一樣

-perm -mode

:表示包含匹配,每一位只要包含就行(755包含644,那755就可以被644匹配到)

-perm /mode

:是要有一位匹配就能匹配到

例:找到當前目錄下許可權為744的檔案

[root@iz28g26851kz ~]# find ./ -perm 744 -ls
-print:顯示

-ls:類似ls -l的形式顯示每乙個檔案的詳細資訊

-ok command {} \; :每一次操作都需要使用者確認 --{}是檔案佔位符

-exec command {} \; :不提醒使用者直接執行 -- ;號不可丟哦

例:將/opt目錄下的許可權為644的檔案許可權改為755

[root@iz28g26851kz opt]# find /opt -perm 644 -exec chmod 755 {} \;

linux基礎命令之檔案查詢

1 指令碼檔名的查詢 which 尋找 執行檔案 命令格式 which a command 引數 a 將所有由path目錄中可以找到的命令均列出,而不只第乙個被找到的命令名稱 範例一 分別用root與一般賬號查詢ifconfig這個命令的完整檔名 root www which ifconfig sb...

Linux 基礎命令 檔案查詢

查詢目錄下的所有檔案中是否含有某個字串 find xargs grep ri ibm r 遞迴,i 忽略大小寫 查詢目錄下的所有檔案中是否含有某個字串,並且只列印出檔名 find xargs grep ri ibm l 1.正規表示式 1 正規表示式一般用來描述文字模式的特殊用法,由普通字元 例如字...

Linux基礎 檔案查詢find

在linux的日常管理中,find的使用頻率很高,熟練掌握對提高工作效率很有幫助。find的語法比較簡單,常用引數的就那麼幾個,比如 name type ctime等。初學的同學直接看第二部分的例子,如需進一步了解引數說明,可以參考find的幫助文件。find語法如下 find 選項 引數 列出當前...