歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux學習筆記_3_Linux常用命令_3_文件搜索命令

Linux學習筆記_3_Linux常用命令_3_文件搜索命令

日期:2017/3/1 13:39:50   编辑:關於Linux

文件搜索命令:

1、which /usr/bin/which

顯示系統命令所在目錄,絕對目錄,不能查找文件

which[系統命令]

e.g. whichls

* whereis ls

附:與whereis不同:which會列出這個命令的別名記錄

whereis會顯示出這個命令的幫助文檔所在位置

2、find /usr/bin/find

查找文件或目錄,任何文件皆可,如圖片,壓縮包,網頁。。。

語法:find[搜索路徑][搜索選項]

a)find/etc -name文件名

find/etc -name init //在目錄/etc中查找文件init,最常見

//注意,盡量縮小查找范圍,不要在根目錄下查找

//不然,1、查找速度非常慢;2、占用大量系統資源

查找結果與Windows不同,Windows會把所有包含 init關鍵詞的文件全都列出來而Linux則只會匹配init關鍵詞

使用通配浮:

*:用於匹配任意字符 find/etc -name init* //查找所有以init開頭的文件

find/etc -name * init * // init左右都沒有空格,用於查找所有包含init關鍵詞的文件

?:用於匹配單個字符 find/etc -name init??? //這個文件會有七個字符。

sudofind /etc -name ?init?? // Ubuntu

b)find/etc -size文件大小 //他是以數據塊為單位的!512字節=0.5K

1K=2blocks

100M=?blocks

100M= 102400K = 102400*2blocks

find/etc -size +204800

在/etc下查找大於80MB大於100MB的文件

find/etc -size - 204800

在/etc下查找大於80MB小於100MB的文件

find/etc -size 204800

在/etc下查找等於100MB的文件 //不常用

c)find/etc -user username查找屬於username的文件

find/home/xiaofang/Programme/Data_Structure/ -user xiaofang

d)通過時間值查找:

1、以天為單位: ctime,atime,mtime

2、以分鐘為單位: cmin,amin,mmin //更為常用

c-change改變:表示文件的屬性被修改過,比如:所有者,所屬組,權限

a-access訪問:文件被浏覽過

m-modify修改:文件內容被修改過

-之內,+超過

e)find/etc -type文件類型以文件類型查找

-f二進制文件

-l軟鏈接文件

-d目錄

f)-inum通過i節點進行查找

附:.表示當前目錄

find. -inum 10 -exec rm {} \;

找到i節點為10的文件,並刪除她

find連接符:

1、-a:and邏輯與

-o:or邏輯或

2、-exec

find….. -exec命令 {}\;//固定格式

{}:find的查詢結果

\ :轉義符,使得符號命令使用本身的含義

; :語句結束

find/etc -name inittab -exec ls -l {} \;在/etc下查找inittab文件並顯示其詳細信息

find/home -user sax -exec rm -rf {} \;

刪除用戶sax所有的文件

另: find/home -user sax -ok rm -rf {} \;

刪除用戶sax所有的文件

他會提示你是否確認

3、locate[listfile in databases]: /usr/bin/locate //是Linux所特有的命令

尋找文件或目錄,最好用於快速定文系統命令,配置文件等

locate[搜索關鍵字]//速度很快,但有時候會找不到

//locate是在文件數據庫中查找的,所以速度會很快,但是如果數據庫沒有包含這個文件的話,他就會找不到;

配合命令:updatedb[updatethe slocate database]: /usr/bin/updatedb

建立整個系統目錄文件的數據庫

注意:其執行權限為:root!!!

4、grep: /bin/grep

在文件中搜尋字串匹配的行並輸出

grep[指定字串][源文件]

grepftp /etc/services

附:grep功能特別強大,支持正則表達式,她的更加具體的介紹請參考我的另一篇博文:

《LinuxShell學習筆記 二》

Copyright © Linux教程網 All Rights Reserved