小編還爲您整理了以下內容,可能對您也有幫助:
linux下按檔案名和檔案內容查找檔案
在當前目錄下,查找所有內容包含‘abc'的檔案
find . -type f | xargs grep -l 'abc'
或
find . -type f -exec grep -l 'abc' {} ;
linux查找檔案命令find
根據部分檔案名查找方法:
這個方法和在WINDOWS中查找已知的檔案名方法是一樣的。不過在Linux中根據部分檔案名查找檔案的方法要比在WINDOWS中的同類查找方法要強大得多。
例如我們知道某個檔案包含有srm這3個字母,那麼要找到系統中所有包含有這3個字母的檔案是可以實現的,輸入:
find /etc -name '*srm*'
這個命令表明了Linux系統將在/etc整個目錄中查找所有的包含有srm這3個字母的檔案,比如 absrmyz, tibc.srm等等符合條件的檔案都能顯示出來。如果你還知道這個檔案是由srm 這3個字母打頭的,那麼我們還可以省略最前面的星號,命令如下:
find/etc -name 'srm*'
這是隻有像srmyz 這樣的檔案才被查找出來,象absrmyz或者 absrm這樣的檔案都不符合要求,不被顯示,這樣查找檔案的效率和可靠性就大大增強了。
linux怎樣查找檔案?
1、使用find命令
Linux
find命令用來在指定目錄下查找檔案。任何位於參數之前的字元串都將被視爲欲查找的目錄名。如果使用該命令時,不設定任何參數,則find命令將在當前目錄下查找子目錄或檔案。並且將查找到的子目錄和檔案全部進行顯示。
語法:find path -option [ -print ] [ -exec -ok command ] {} ;
2、使用locate命令
Linux locate命令用於查找符合條件的文檔,他會去儲存文檔和目錄名稱的數據庫內,查找合乎範本樣式條件的文檔或目錄。
一般情況我們只需要輸入locate your_file_name即可查找指定檔案。
語法:locate [-d ][--help][--version][範本樣式...]
3、使用which命令
Linux which命令用於查找檔案。
which指令會在環境變量$PATH設定的目錄裏查找符合條件的檔案。
語法:which [檔案...]
4、使用whereis命令
Linux whereis命令用於查找檔案。
該指令會在特定目錄中查找符合條件的檔案。這些檔案應屬於原始代碼、二進制檔案,或是幫助檔案。
該指令只能用於查找二進制檔案、原始碼檔案和man手冊頁,一般檔案的定位需使用locate命令。
語法:whereis [-bfmsu][-B <目錄>...][-M <目錄>...][-S
<目錄>...][檔案...]
find命令怎麼使用
本視頻是由ThinkpadE15品牌、centos7系統、find4.6版本錄製的。Linux中find的使用法?
操作系統:centos7
軟件版本:find4.6
設備型號:ThinkPadE15
find命令用於查找指定目錄下的檔案,同時也可以調用其它命令執行相應的操作。
find語法格式:find路徑名稱選項
find命令選項:
-name 按照檔案名查找檔案。“名稱”
-perm 按照檔案權限來查找檔案。666777等
-user 按照檔案屬主來查找檔案
-group 按照檔案所屬的組來查找檔案
-mtime-n/+n 按照檔案的更改時間來查找檔案,
-n 表示檔案更改時間距現在n天以內
+n 表示檔案更改時間距現在n天以前
-type 查找某一類型的檔案
b-塊設備檔案
d-目錄
c-字元設備檔案
p-管道檔案
l-符號連結檔案
f-普通檔案
-sizen查找符合指定的檔案大小的檔案
-exec 對匹配的檔案執行該參數所給出的其他linux命令,相應命令的形式爲'命令{};,注意{}和;之間的空格,{}代表查到的內容
例1:查找當前目錄下所有的TXT格式的檔案
[root@xuegod63~]#toucha.txtxuegod.txt
[root@xuegod63~]#find.-name"*.txt"
。。。
./a.txt
./xuegod.txt
2、按照更改時間或訪問時間等查找檔案
如果希望按照更改時間來查找檔案,可以使用mtime,atime或ctime選項
mtime:檔案最後一次修改的時間
atime:最後一次訪問時間
ctime:檔案的最後一次變化時間,也就是修改時間
例1:在root目錄下查找更改時間在1天以內,被黑客修改的檔案
[root@xuegod63~]#find/root/-mtime-1
對查找內容執行相應命令
-exec這個選項參數後面可以跟自訂的SHELL命令,格式如下:
例2:把查找到的檔案複製到一個指定的目錄
[root@xuegod63~]#touch{1,2,3}.back
[root@xuegod63mnt]#find/root-name"*.txt"-exe{}/opt;
例3:查找多個類型檔案
find命令中比較符的使用:
-aand並且
-oor或者
+超過
-低於
[root@xuegod63~]#toucha.pdfback.sh
[root@xuegod63~]#find./-name"*.sh"-o-name"*.pdf"
[root@xuegod63~]#find/etc-size+20k-a-size-50k|wc-l
22
[root@xuegod63~]#find/etc-size+20k|wc-l
49
例4:按權限查找:-perm
[root@xuegod63~]#find/bin/-perm755#等於0755權限的檔案或目錄
[root@xuegod63~]#find/bin/-perm-644#-perm-644至少有644權限的檔案或目錄
例5:查找的目錄深度:
-maxdepth1#只查找目錄第一層的檔案和目錄
如:查找/bin目錄下權限等於644的檔案
[root@xuegod63~]#find/etc/-maxdepth1-perm644|more
總結:find命令使用方法和參數
find命令選項:
-name 按照檔案名查找檔案。“名稱”
-perm 按照檔案權限來查找檔案。666777等
-user 按照檔案屬主來查找檔案
-group 按照檔案所屬的組來查找檔案
-mtime-n/+n 按照檔案的更改時間來查找檔案,
-n 表示檔案更改時間距現在n天以內
+n 表示檔案更改時間距現在n天以前
-type 查找某一類型的檔案
b-塊設備檔案
d-目錄
c-字元設備檔案
p-管道檔案
l-符號連結檔案
f-普通檔案
-sizen查找符合指定的檔案大小的檔案
-exec 對匹配的檔案執行該參數所給出的其他linux命令,相應命令的形式爲'命令{};,注意{}和;之間的空格,{}代表查到的內容