Linux下文件搜索、查找、查看命令
1、最強大的搜索命令:find 查找各種文件的命令
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字符串匹配的行並輸出:grep
6、分頁顯示一個文件或任何輸出結果:more
7、分頁顯示一個文件並且可以回頭:less
8、指定顯示前多少行文件內容:head
9、指定顯示文件后多少行內容:tail
10、查看一個文件:cat
11、查看文件內容多少字符多少行多少字節:wc
12、排序文件內容:sort
1、最強大的搜索命令:find查找各種文件的命令
一、根據 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區別一個區分大小寫,一個不區分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精准搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精准搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字符,即搜索到 init___)
二、根據 文件大小 搜索
eg:在根目錄下查找大於 100M 的文件
find / -size +204800
這里 +n 表示大於,-n 表示小於,n 表示等於
1 數據塊 == 512 字節 0.5KB,也就是1KB等於2數據塊
100MB == 102400KB204800數據塊
三、根據 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內容被修改
時間:+n,-n,n分別表示超過n分鍾,n分鍾以內和n分鍾
eg:在 /etc 目錄下查找5 分鍾內被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據 文件類型或i節點 搜索
-type 根據文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據i節點查找
eg:查找 /tmp 目錄下i節點為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個參數:
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
范例:查找/etc目錄下大於80MB同時小於100MB的文件
find /etc -size +163840 -a -size -204800
2、在文件資料中查找文件:locate
語法:locate【文件名】 -i 不區分大小寫
注意:這里和 find 命令是有區別的,find是全盤檢索,而locate 是在文件資料庫中進行搜索。所以locate命令的執行要比find命令執行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對於/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬於文件資料庫的收錄范圍。
eg:locate hcf
3、搜索命令所在的目錄及別名信息:which
功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls
4、搜索命令所在的目錄及幫助文檔路徑:whereis**
功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls
5、在文件中搜尋字符串匹配的行並輸出:grep
功能描述:在文件中搜尋字符串匹配的行並輸出
語法:grep -iv 【指定字符串】【文件】
-i 不區分大小寫
-v 排除指定字符串
eg:查找 /root/install.log 文件中包含 mysql 字符串的行,並輸出
grep mysql /root/install.log
本搜索工具,根據用戶指定的模式,對目標文件逐行進行匹配檢查,打印匹配到的行
grep是在文件中搜索匹配的字符串,是在文件中進行內容搜索,這個命令后面用到的比較多
6、分頁顯示一個文件或任何輸出結果:more
描述:
分頁顯示一個文件或任何輸出結果
用於查看純文本文件(較長的)格式
格式:
more[選項] 文件
7、分頁顯示一個文件並且可以回頭:less
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。
8、顯示前幾行文件內容:head
head[必要參數][選擇參數][文件]
用於顯示指定文件開始多少行內容
命令參數:
-n 10 顯示前10行
-n -10 正常輸出但不顯示最后的10行
eg:顯示new.txt的前兩行內容
head -n 2 new.txt
head -2 new.txt
9、指定顯示文件后多少行內容:tail
tail[必要參數][選擇參數][文件]
用於顯示指定文件末尾多少行內容
命令參數:
-n 10 顯示后面10行
-f 持續刷新顯示的內容
eg:顯示new.txt的末尾兩行內容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt
10、查看一個文件:cat
描述:一次顯示整個文件內容
cat 命令 用於查看純文本文件(較短)
cat [選項] [文件]…
11、查看文件內容多少字符多少行多少字節:wc
描述:wc 命令默認情況下會打印換行符數、單詞數和字符數。
用法:wc [選項] [文件]
12、排序文件內容:sort
用法:sort [選項] [文件]
eg:sort -b h.txt