1. 程式人生 > >linux基本命令【文件搜索命令】

linux基本命令【文件搜索命令】

where 新建 大小 時間 ros 文件類型 exec 使用 修改文件內容

文件搜索命令:locate whereis which find

字符串搜索命令 grep

locate

用法 : locate 文件名

-因為locate命令是在後臺數據庫中按文件名搜索,並不需要搜索整個系統文件,所有搜索速度更快.

-/var/lib/mlocate

locate命令所搜索的後臺數據庫,後臺數據庫並不是實時更新的,默認是一天一更新.在某些linux系統中這個後臺數據庫名並不是相同的.

-updatedb

更新數據庫(更新後即可搜索新建的文件)

缺點:只可以按照文件名進行搜索.

優點:搜索速度更快,耗費資源較少.

locate默認規則是按照 /etc/updatedb.conf配置文件內容進行搜索,whereis which 也是按照這個規則進行搜索.

-PRUNE_BIND_MOUNTS = "yes"

#開啟搜索限制.

-PRUNEFS =

#搜索時,不搜索的文件系統.

-PRUNENAMES =

#搜索時,不搜索的文件類型.

-PRUNEPATHS =

#搜索時,不搜索的路徑.

where 與 which

命令的搜索命令

用法: whereis 命令名

#搜索命令所在路徑及幫助文檔所在位置

選項:

-b:   只查找可執行文件

-m:  只查看幫助文件

用法 which 命令名

#搜索命令所在路徑及別名

find

find [搜索範圍] [搜索條件]

#搜索文件

find / -name install.log

#避免大範圍搜索,會非常耗費系統資源

#find是在系統當中搜索符合條件的文件名. 如果需要匹配,使用通配符匹配,通配符是完全匹配

linux中的通配符

*   匹配任意內容 find / -name "*".php

?   匹配任意一個字符 find / -name a"?".php

[]  匹配任意一個中括號內的字符 find / -name "ab[cd]"

-  find / -iname install.log

#不區分大小寫

-   find / -user root

#按照所有者搜索

-   find / -nouser

#查找沒有所有者的文件

-   find /var/log -mtime +10

#查找10天前修改的文件

-10 10天內修改的文件

10 10天當天修改的文件

+10 10天前修改的文件

atime 文件訪問時間

ctime 改變文件屬性

mtime 修改文件內容

-   find . -size +25k 按照M字節搜索 +25M

#按照文件大小搜索文件

-  find . inum 262422

#查找i節點是262422的文件

-   find /etc/ -size +20k -a -size -50k

#查找/etc/目錄下,大於20k並且小於50k的文件

-a : and

-o : or

-  find /etc/ -size +20k -a -size -50k -exec ls -lh {} \ ;

#查找/etc/目錄下,大於20k並且小於50k的文件,並顯示詳細信息

# -exec/ -ok 命令{} \;對搜索結果執行操作

grep

grep [選項] 字符串 文件名

#在文件中匹配符合條件的字符串

選項:

-i : 忽略大小寫

-v : 取反

-n:顯示匹配行及行號。

find和grep的區別:

find命令:在系統當中搜索符合條件的文件名, 如果需要匹配,使用通配符匹配,通配符是完全匹配.

grep命令:在文件當中搜素符合條件的字符串,如果需要匹配,使用正則表達式進行匹配,正則表達式是包含匹配

linux基本命令【文件搜索命令】