Linux中查找文件夾的命令是find命令。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供宜黃企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站制作、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為宜黃眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
Linux-文件搜索命令find的操作使用方法如下:
1、全盤搜索,也可以指定目錄搜索。find?搜索目錄 -name?目標(biāo)名字,find / -name file
2、這樣搜索看到的都是file的完全匹配,區(qū)分大小寫的,可以用-iname不區(qū)分大小寫,find / -iname file。這樣我們就可以多查找到大寫的相關(guān)文件了。
3、我們先使用*通配符來匹配下包含file的相關(guān)文件區(qū)分大小寫的:find / -name *file*。不區(qū)分大小寫的:find / -iname *file*。這樣匹配的話文件就比較多了,越精準(zhǔn)的匹配越有利于查找。
4、find?搜索目錄 -size?文件大小。下面我們查找下大于100MB的文件,應(yīng)該實際是102400KB*2,所有搜索命令為:find / -size +204800。-號是小于,直接寫數(shù)字就是等于。
5、find?搜索目錄 -user?用戶名。這里是查找屬于用戶名為user1的文件,linux如何添加刪除用戶名,可以參考Linux 用戶管理命令:find / -user user1。
6、find?搜索目錄 -type d。查找某個目錄下的所有目錄:find /tmp -type d。
7、find?搜索目錄 -cmin -時間(單位分鐘)。查找etc下面1小時內(nèi)被修改的文件,根目錄下面太多了,指定一個目錄:find /etc -cmin -60。
8、當(dāng)然find命令是可以多個選項一起添加查詢的:-a?是前后條件都要滿足,-o?是滿足一個條件就好,這樣我們可以清除的看到被過濾掉的文件。
linux命令之find命令詳解find命令是一個在UNIX文件系統(tǒng)中查找文件的常用命令,可以進(jìn)行很多條件查找。
讓我們來看一些find命令的實例。語法:
find
路徑
約束條件如何查找在文件名中含有指定關(guān)鍵字的文件?下面這條命令查找在/etc目錄下所有文件名中含有mail的文件。#
find
/etc
-name
*mail*
如何查找文件大小超過指定值的文件?下面這個命令會列出系統(tǒng)中所有大于100M的文件#
find
/
-type
f
-size
+100M如何查找在最近幾天沒有被修改過的文件?下面這條命令會列出在當(dāng)前目錄下在最近60天沒有被修改過文件#
find
.
-mtime
+60如何查找在最近幾天被修改的文件?下面這條命令會列出在當(dāng)前目錄下在最近2天被修改過文件#
find
.
–mtime
-2如何刪除擴(kuò)展名為.tar.gz并且大于100M的壓縮文件?當(dāng)你不想意外刪除文件時,那么當(dāng)執(zhí)行下列命令要小心點。
最好的方法是利用ls
-l去執(zhí)行下列相同命令以確保當(dāng)執(zhí)行rm命令時,你知道什么文件會被刪除。
#
find
/
-type
f
-name
*.tar.gz
-size
+100M
-exec
ls
-l
{}
/;#
find
/
-type
f
-name
*.tar.gz
-size
+100M
-exec
rm
-f
{}
/;如何對最近幾天沒有被修改的文件進(jìn)行存檔?下面的命令查找到在/home/jsmith目錄下最近60天沒有被修改的文件并且在/tmp下創(chuàng)建一個格式為ddmmyyyy_archive.tar的歸檔文件#
find
/home/jsmith
-type
f
-mtime
+60
|
xargs
tar
-cvf
/tmp/`date
'+%d%m%Y'_archive.tar`提醒一下:你可以使用midnight
commander上進(jìn)行有關(guān)文件的一些操作,
它是UNIX字符界面下一款非常強(qiáng)大的文件管理器。本文來自于青藤園
1、最強(qiáng)大的搜索命令:find 查找各種文件的命令
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字符串匹配的行并輸出:grep
6、分頁顯示一個文件或任何輸出結(jié)果:more
7、分頁顯示一個文件并且可以回頭:less
8、指定顯示前多少行文件內(nèi)容:head
9、指定顯示文件后多少行內(nèi)容:tail
10、查看一個文件:cat
11、查看文件內(nèi)容多少字符多少行多少字節(jié):wc
12、排序文件內(nèi)容:sort
一、根據(jù) 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區(qū)別一個區(qū)分大小寫,一個不區(qū)分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準(zhǔn)搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準(zhǔn)搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結(jié)尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字符,即搜索到 init___)
二、根據(jù) 文件大小 搜索
eg:在根目錄下查找大于 100M 的文件
find / -size +204800
這里 +n 表示大于,-n 表示小于,n 表示等于
1 數(shù)據(jù)塊 == 512 字節(jié) 0.5KB,也就是1KB等于2數(shù)據(jù)塊
100MB == 102400KB204800數(shù)據(jù)塊
三、根據(jù) 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據(jù) 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內(nèi)容被修改
時間:+n,-n,n分別表示超過n分鐘,n分鐘以內(nèi)和n分鐘
eg:在 /etc 目錄下查找5 分鐘內(nèi)被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據(jù) 文件類型或i節(jié)點 搜索
-type 根據(jù)文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據(jù)i節(jié)點查找
eg:查找 /tmp 目錄下i節(jié)點為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個參數(shù):
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
范例:查找/etc目錄下大于80MB同時小于100MB的文件
find /etc -size +163840 -a -size -204800
語法:locate【文件名】 -i 不區(qū)分大小寫
注意:這里和 find 命令是有區(qū)別的,find是全盤檢索,而locate 是在文件資料庫中進(jìn)行搜索。所以locate命令的執(zhí)行要比find命令執(zhí)行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創(chuàng)建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對于/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬于文件資料庫的收錄范圍。
eg:locate hcf
功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls
功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls
功能描述:在文件中搜尋字符串匹配的行并輸出
語法:grep -iv 【指定字符串】【文件】
-i 不區(qū)分大小寫
-v 排除指定字符串
eg:查找 /root/install.log 文件中包含 mysql 字符串的行,并輸出
grep mysql /root/install.log
本搜索工具,根據(jù)用戶指定的模式,對目標(biāo)文件逐行進(jìn)行匹配檢查,打印匹配到的行
grep是在文件中搜索匹配的字符串,是在文件中進(jìn)行內(nèi)容搜索,這個命令后面用到的比較多
描述:
分頁顯示一個文件或任何輸出結(jié)果
用于查看純文本文件(較長的)格式
格式:
more[選項] 文件
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。
head[必要參數(shù)][選擇參數(shù)][文件]
用于顯示指定文件開始多少行內(nèi)容
命令參數(shù):
-n 10 顯示前10行
-n -10 正常輸出但不顯示最后的10行
eg:顯示new.txt的前兩行內(nèi)容
head -n 2 new.txt
head -2 new.txt
tail[必要參數(shù)][選擇參數(shù)][文件]
用于顯示指定文件末尾多少行內(nèi)容
命令參數(shù):
-n 10 顯示后面10行
-f 持續(xù)刷新顯示的內(nèi)容
eg:顯示new.txt的末尾兩行內(nèi)容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt
描述:一次顯示整個文件內(nèi)容
cat 命令 用于查看純文本文件(較短)
cat [選項] [文件]…
描述:wc 命令默認(rèn)情況下會打印換行符數(shù)、單詞數(shù)和字符數(shù)。
用法:wc [選項] [文件]
用法:sort [選項] [文件]
轉(zhuǎn)自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索
find
find是最常見和最強(qiáng)大的查找命令,也是我們用的最多的命令
locate
locate要比find快得多,因為它不搜索具體目錄,而是搜索一個數(shù)據(jù)庫(/var/lib/locatedb),這個數(shù)據(jù)庫中含有本地所有文件信息,linux系統(tǒng)會自動 創(chuàng)建這個數(shù)據(jù)庫,并且第天自動更新一次,所以使用locate查不到最新變動過的文件,為了避免這種情況,在使用locate之前,使用updatedb命令,手動更新數(shù)據(jù)庫
whereis
這個命令只能用于程序名的搜索,而且只搜索二進(jìn)制文件(參數(shù)-b),man說明文件(參數(shù)-m)和源代碼文件(-s),如果活力參數(shù),則返回所有信息
which
這個命令是在PATH變量的指定路徑中,搜索某個系統(tǒng)命令的位置,并且返回第一個搜索結(jié)果,也就是說,使用which命令,其實就是查看某個系統(tǒng)命令是否存在,以及執(zhí)行命令的位置
type
這個命令,不算查找命令,是用來區(qū)分某個命令是否為shell自帶的,還是由shell外部的獨立二進(jìn)制文件提供,如果一個命令是外部命令,那么使用-p參數(shù),會顯示命令的路徑相當(dāng)于which命令
可以使用find命令。例如:find test . 就是在當(dāng)前目錄下查找test文件
find詳細(xì)描述:命令用來在指定目錄下查找文件。任何位于參數(shù)之前的字符串都將被視為欲查找的目錄名。如果使用該命令時,不設(shè)置任何參數(shù),則find命令將在當(dāng)前目錄下查找子目錄與文件。并且將查找到的子目錄和文件全部進(jìn)行顯示。
語法:find(選項)(參數(shù))
選項:
-amin分鐘:查找在指定時間曾被存取過的文件或目錄,單位以分鐘計算;?-anewer參考文件或目錄:查找其存取時間較指定文件或目錄的存取時間更接近現(xiàn)在的文件或目錄;?
-atime24小時數(shù):查找在指定時間曾被存取過的文件或目錄,單位以24小時計算;?-cmin分鐘:查找在指定時間之時被更改過的文件或目錄;
-cnewer參考文件或目錄查找其更改時間較指定文件或目錄的更改時間更接近現(xiàn)在的文件或目錄;?
-ctime24小時數(shù):查找在指定時間之時被更改的文件或目錄,單位以24小時計算;?-daystart:從本日開始計算時間;?
-depth:從指定目錄下最深層的子目錄開始查找;?
-expty:尋找文件大小為0?Byte的文件,或目錄下沒有任何子目錄或文件的空目錄;?-exec執(zhí)行指令:假設(shè)find指令的回傳值為True,就執(zhí)行該指令;?
-false:將find指令的回傳值皆設(shè)為False;?
-fls列表文件:此參數(shù)的效果和指定“-ls”參數(shù)類似,但會把結(jié)果保存為指定的列表文件;?
-follow:排除符號連接;?
-fprint列表文件:此參數(shù)的效果和指定“-print”參數(shù)類似,但會把結(jié)果保存成指定的列表文件;?
-fprint0列表文件:此參數(shù)的效果和指定“-print0”參數(shù)類似,但會把結(jié)果保存成指定的列表文件;?
-fprintf列表文件輸出格式:此參數(shù)的效果和指定“-printf”參數(shù)類似,但會把結(jié)果保存成指定的列表文件;?
-fstype文件系統(tǒng)類型:只尋找該文件系統(tǒng)類型下的文件或目錄;?-gid群組識別碼:查找符合指定之群組識別碼的文件或目錄;?
-group群組名稱:查找符合指定之群組名稱的文件或目錄;?
-help或——help:在線幫助;
-ilname范本樣式:此參數(shù)的效果和指定“-lname”參數(shù)類似,但忽略字符大小寫的差別;?
-iname范本樣式:此參數(shù)的效果和指定“-name”參數(shù)類似,但忽略字符大小寫的差別;?-inum:查找符合指定的inode編號的文件或目錄;?-ipath范本樣式:此參數(shù)的效果和指定“-path”參數(shù)類似,但忽略字符大小寫的差別;?-iregex范本樣式:此參數(shù)的效果和指定“-regexe”參數(shù)類似,但忽略字符大小寫的差別;?
-links連接數(shù)目:查找符合指定的硬連接數(shù)目的文件或目錄;?
-iname范本樣式:指定字符串作為尋找符號連接的范本樣式;?
-ls:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出;?
-maxdepth目錄層級:設(shè)置最大目錄層級;?
-mindepth目錄層級:設(shè)置最小目錄層級;?
-mmin分鐘:查找在指定時間曾被更改過的文件或目錄,單位以分鐘計算;?
-mount:此參數(shù)的效果和指定“-xdev”相同;?
-mtime24小時數(shù):查找在指定時間曾被更改過的文件或目錄,單位以24小時計算
-name范本樣式:指定字符串作為尋找文件或目錄的范本樣式;?
-newer參考文件或目錄:查找其更改時間較指定文件或目錄的更改時間更接近現(xiàn)在的文件或目錄;?
-nogroup:找出不屬于本地主機(jī)群組識別碼的文件或目錄;?
-noleaf:不去考慮目錄至少需擁有兩個硬連接存在;?
-nouser:找出不屬于本地主機(jī)用戶識別碼的文件或目錄;?
-ok執(zhí)行指令:此參數(shù)的效果和指定“-exec”類似,但在執(zhí)行指令之前會先詢問用戶,若回答“y”或“Y”,則放棄執(zhí)行命令;?
-path范本樣式:指定字符串作為尋找目錄的范本樣式;?
-perm權(quán)限數(shù)值:查找符合指定的權(quán)限數(shù)值的文件或目錄;?
-print:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出。格式為每列一個名稱,每個名稱前皆有“./”字符串;?
-print0:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出。格式為全部的名稱皆在同一行;?
-printf輸出格式:假設(shè)find指令的回傳值為Ture,就將文件或目錄名稱列出到標(biāo)準(zhǔn)輸出。格式可以自行指定;?
-prune:不尋找字符串作為尋找文件或目錄的范本樣式;?
-regex范本樣式:指定字符串作為尋找文件或目錄的范本樣式;?
-size文件大?。翰檎曳现付ǖ奈募笮〉奈募?;?
-true:將find指令的回傳值皆設(shè)為True;?
-typ文件類型:只尋找符合指定的文件類型的文件;?
-uid用戶識別碼:查找符合指定的用戶識別碼的文件或目錄;?
-used日數(shù):查找文件或目錄被更改之后在指定時間曾被存取過的文件或目錄,單位以日計算;?
-user擁有者名稱:查找符和指定的擁有者名稱的文件或目錄;?
-version或——version:顯示版本信息;?
-xdev:將范圍局限在先行的文件系統(tǒng)中;?
-xtype文件類型:此參數(shù)的效果和指定“-type”參數(shù)類似,差別在于它針對符號連接檢查。
參數(shù):起始目錄:查找文件的起始目錄。
如:grep “time_t” /usr/include/*.h |grep “typedef”可以查找到“typedef_time_t time_t;”
Locatekeyword.h 可以查找名為keyword 的頭文件所在地目錄樹
使用linux系統(tǒng)難免會忘記文件所在的位置,可以使用以下命令對系統(tǒng)中的文件進(jìn)行搜索。搜索文件的命令為”find“;”locate“;”whereis“;”which“;”type“
linux下最強(qiáng)大的搜索命令為”find“。它的格式為”find 指定目錄 指定條件 指定動作“;比如使用find命令搜索在根目錄下的所有interfaces文件所在位置,命令格式為”find / -name 'interfaces'“
使用locate搜索linux系統(tǒng)中的文件,它比find命令快。因為它查詢的是數(shù)據(jù)庫(/var/lib/locatedb),數(shù)據(jù)庫包含本地所有的文件信息。使用locate命令在根目錄下搜索interfaces文件的命令為”locate interfaces“
使用”whereis“命令可以搜索linux系統(tǒng)中的所有可執(zhí)行文件即二進(jìn)制文件。使用whereis命令搜索grep二進(jìn)制文件的命令為”whereis grep“。
使用which命令查看系統(tǒng)命令是否存在,并返回系統(tǒng)命令所在的位置。使用which命令查看grep命令是否存在以及存在的目錄的命令為”which grep“
使用type命令查看系統(tǒng)中的某個命令是否為系統(tǒng)自帶的命令。使用type命令查看cd命令是否為系統(tǒng)自帶的命令;查看grep 是否為系統(tǒng)自帶的命令。
本文名稱:linux查找命令定義 linux查找命令所在位置
本文URL:http://jinyejixie.com/article32/doscipc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、云服務(wù)器、網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)