濮阳杆衣贸易有限公司

主頁 > 知識庫 > 詳解Linux命令與文件查找

詳解Linux命令與文件查找

熱門標(biāo)簽:東莞人工智能電銷機(jī)器人供應(yīng)商 智能電話機(jī)器人線路 廣州電銷機(jī)器人系統(tǒng)圖 賀州市地圖標(biāo)注app 金融行業(yè)外呼線路 百度地圖標(biāo)注要不要錢 高德地圖標(biāo)注無營業(yè)執(zhí)照 長沙開福怎么申請400電話 江蘇電銷外呼防封系統(tǒng)是什么

一、執(zhí)行文件名查找

which(查找‘執(zhí)行文件')  //根據(jù)PATH環(huán)境變量所規(guī)范的路徑查詢
which [-a] command         //其中參數(shù)-a是指列出找到所有命令,而非只顯示找到的第一個
例如:which ifconfig

二、文件名的查找

1、whereis(尋找特定文件)

whereis [-bmsu] filename/directoryname
-b :只找二進(jìn)制的文件
-m :只找在說明文件manual路徑下的文件
-s :只找source源文件
-u :查找不在上面三個規(guī)定下的特殊文件
例如:whereis ifconfig

2、locate

依賴于事先構(gòu)建好的索引庫,查找速度快;
用法:locate [-ir] keyword
 -i : 忽略大小寫的差異
 -r : 后面可接正則表達(dá)式的顯示防方式
例如:locate ifconfig
說明:lcoate是根據(jù)/var/lib/mlocate內(nèi)記錄數(shù)據(jù)查找,而數(shù)據(jù)來源通過更新數(shù)據(jù)庫updatedb根據(jù)/etc/updatedb.config的配置從硬盤獲取數(shù)據(jù)更新到/var/lib/mlocate;
注意:whereis和locate命令可能搜索到已經(jīng)刪除的文件,原因數(shù)據(jù)庫沒及時更新(一般一天更新一次),不過可以手動執(zhí)行updatedb更新。
 
 安裝locate:
  yum -y install mlocate
 查看包:
  yum search mlocate
 安裝好更新數(shù)據(jù)庫該命令才生效:
  直接執(zhí)行updatedb即可


3、find

實時查找工具,通過遍歷指定目錄下的文件系統(tǒng)層級結(jié)構(gòu)完成文件查找;
工作特性:
查找速度略慢;
精確查找;
實時查找;
用法:
find [option] [PATH] [查找條件] [action]
查找條件:指定查找標(biāo)準(zhǔn),可以根據(jù)文件名、大小、類型、從屬關(guān)系、權(quán)限等標(biāo)準(zhǔn)進(jìn)行;
action:對符合查找條件的文件作出操作,例如刪除操作;

查找條件:

1)根據(jù)時間查詢

以‘天'為單位:
 -atime、-ctime、-mtime
 以mtime為列
  -mtime n :n為數(shù)字,在n天前的‘一天之內(nèi)'被改過的文件;
  -mtime -n :n天內(nèi)(包含第n天),修改過的文件;
  -mtime +n :n天前(不包含第n天),修改過的文件;
以‘分'為單位:
 -amin、-mmin、-cmin
說明:時間的計算從現(xiàn)在開始以24小時為一天來計算,如下圖所示:

2)根據(jù)用戶和用戶組來查詢

-uid n:其中n即指定屬主的UID,在/etc/passwd可以查看;
-gid n:其中n即指定屬組的GID,在/etc/group可以查看
-user name: 查找屬主為name的文件;
-group name:查找屬組為name的文件;
-nouser:查找/etc/passwd中沒得屬主的文件;
-nogroup:查找/etc/group中沒得屬組的文件;
 例如:find /home -user legayu


3)根據(jù)文件名和文件權(quán)限查找

-name ‘pattern':查找文件;
-iname ‘pattern':同-name,但忽略查找的文件大小寫;
 支持glob通配符*,?,[],[^];
-type TYPE:查找文件類型為TYPE的文件,常見的文件類型有正規(guī)文件(f)、設(shè)備文件(b、c)、目錄(d)、連接文件(l)、socket(s)、及FIFO文件(p)等屬性;
-size [+-]SIZE:查找比SIZE還大(+)或還?。?)的文件,大小規(guī)格:c:代表byte,k:代表1024byte,還可用M、G表示:MB和GB,如查找大于50kB的文件:-size +50k
-perm mode:查找文件權(quán)限“剛好等于”mode的文件;
-perm -mode:查找文件權(quán)限“必須包含全部”mode的文件;
-perm /mode:查找文件權(quán)限“包含任一”mode的文件;
 例如:find / -name passwd


4)組合邏輯

與:-a
或:-o
非:-not,!
 說明:邏輯關(guān)系拆分與合并
  !A -a !B = !(A -o B)
  !A -o !B = !(A -a B )
例如:
 查找/tmp中非root用戶的文件
  兩種方法:
   find /tmp -not -user root -ls
   find /tmp -not -uid 0 -ls   
找出/tmp目錄下屬主為非root,而且文件名不包含fstab字符串的文件

5)find特殊功能

對查詢的結(jié)果做操作
 -print:輸出至標(biāo)準(zhǔn)輸出;默認(rèn)的動作;
 -ls:類似于對查找到的文件執(zhí)行“l(fā)s -l”命令,輸出文件的詳細(xì)信息,這里不可以使用‘ll'別名;
 -delete:刪除查找到的文件;
 -fls /PATH/TO/SOMEFILE:把查找到的所有文件的長格式信息保存至指定文件中;
 -ok COMMAND {} \;   :對查找到的每個文件執(zhí)行由COMMAND表示的命令;每次操作都由用戶進(jìn)行確認(rèn);
 -exec COMMAND {} \;  :對查找到的每個文件執(zhí)行由COMMAND表示的命令;
注意:find傳遞查找到的文件路徑至后面的命令時,是先查找出所有符合條件的文件路徑,并一次性傳遞給后面的命令;
 但是有些命令不能接受過長的參數(shù),此時命令執(zhí)行會失??;
 另一種方式可規(guī)避此問題:
  即find | xargs COMMAND
如:find /root -perm +644 -exec ls -l {} \;
 說明:其中的{}指find查找到的內(nèi)容,‘\;'代表結(jié)束符‘\'是轉(zhuǎn)義符
舉例:
 查找/etc目錄下所有用戶都沒有寫權(quán)限的文件;
  ~]# find /etc -not -perm /222 -type f -ls 
  說明:所有用戶至少有一個寫的權(quán)限,則取反就是都沒有寫權(quán) 
 查找/etc目錄至少有一類用戶沒有執(zhí)行權(quán)限的文件;
  ~]# find /etc -not -perm -111 -type f -ls
  說明:至少有一類用戶沒有執(zhí)行權(quán)限就是都有執(zhí)行權(quán)限的取反

以上所述是小編給大家介紹的了Linux命令與文件查找詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

標(biāo)簽:張家界 玉樹 永州 洛陽 北京 廊坊 松原 滄州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Linux命令與文件查找》,本文關(guān)鍵詞  詳解,Linux,命令,與,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Linux命令與文件查找》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解Linux命令與文件查找的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    黄骅市| 蒲城县| 通渭县| 葫芦岛市| 乌海市| 大港区| 云林县| 南溪县| 满洲里市| 赤水市| 开封市| 靖江市| 中宁县| 昆山市| 陇川县| 永修县| 丹巴县| 诏安县| 济南市| 唐河县| 崇州市| 环江| 本溪市| 巫山县| 榕江县| 平遥县| 沧源| 衡阳市| 玉林市| 三原县| 南城县| 大化| 郴州市| 寿阳县| 铜梁县| 高邮市| 孟连| 射阳县| 上思县| 山丹县| 沭阳县|