文章目錄
一、最強大的搜索命令:find
find命令是Linux系統中用來進行文件搜索用的最多的命令,功能特別強大。但是能搜索到的文件特別多,所以儘量少用find命令,就算要搜索也應該儘量的縮小範圍,也不要在服務器使用高峯期進行文件搜索,因爲搜索也是很佔系統資源的。
- 英文原意:
- 命令所在路徑:/bin/find
- 執行權限:所有用戶
- 功能描述:進行各種花式文件搜索
- 語法:
- find 搜索範圍 匹配條件
注意:Linux搜索和windows是有明顯區別的,Linux嚴格區分文件大小寫。
1)根據 文件或目錄名稱 搜索
語法:
- find 搜索目錄 -name或者-iname 搜索字符
- -name和-iname的區別一個區分大小寫,一個不區分大小寫
find . -name "*.txt" (模糊搜索)
插播兩個通配符:
2)根據 文件大小 搜索
語法:
- 在根目錄下查找大於 1024 的文件
find / -size +1024c
- 這裏 +n 表示大於,-n 表示小於,n 表示等於
c 表示字節,k表示千字節,M表示兆字節
3)根據 所有者和所屬組 搜索
語法:
- 在目錄下查詢所屬組爲 gxl 的文件
find ./ -group gxl
- 在目錄下查詢所有者爲 gxl 的文件
find ./ -user gxl
4)根據 時間屬性 搜索
語法:
- find 路徑 選項 時間
- -amin 按文件訪問時間來查找文件
- -cmin 按文件創建時間來查找文件
- -mmin 按文件更改時間來查找文件
- 時間:+n,-n,n分別表示超過n分鐘,n分鐘以內和n分鐘
例子:
- 在目錄下查找60分鐘內被修改過屬性的文件和目錄
find ./ -mmin -60
5)根據 文件類型或i節點 搜索
語法:
- -type 根據文件類型查找:f 表示文件,d 表示目錄,l 表示軟鏈接
例子:
- 查找 ./ 目錄下文件類型是目錄的 find ./ -type d l f
6)組合條件 搜索
這裏有兩個參數:
- -a 表示兩個條件同時滿足(and)
- -o 表示兩個條件滿足任意一個即可(or)
例子:
- 查找/etc目錄下大於80MB同時小於100MB的文件
find ./ -size +1024c -a -type d -mmin +100
不加也可以!
二、在文件中搜尋字符串匹配的行並輸出:grep
- 英文原意:
- 命令所在路徑:/bin/grep
- 執行權限:所有用戶
- 功能描述:在文件中搜尋字符串匹配的行並輸出
- 語法:
- grep -iv 指定字符串 文件
- -i 不區分大小寫
- -v 排除指定字符串
例子:
- 查找文件中包含main字符串的行,並輸出
grep -n main hello