小編還為您整理了以下內容,可能對您也有幫助:
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命令,相應命令的形式為'命令{};,注意{}和;之間的空格,{}代表查到的內容