濮阳杆衣贸易有限公司

主頁 > 知識庫 > CentOS下如何搜尋檔案或目錄命令

CentOS下如何搜尋檔案或目錄命令

熱門標簽:400外呼系統(tǒng) 配置要求 仙桃外呼系統(tǒng) 廣州點撥外呼系統(tǒng)多少錢一個月 貴港便宜外呼系統(tǒng)報價 太原外呼電銷機器人軟件 怎樣在北斗地圖標注商戶 電話外呼系統(tǒng)解決方案 辦理400電話的好處都有哪些 日立hgp外呼線路圖

搜尋檔案或目錄:

檔案的搜尋可就厲害了!因為我們常常需要知道那個檔案放在哪里,所以來談一談怎么搜尋吧!在 Linux 底下也有相當優(yōu)異的

搜尋系統(tǒng)呦!通常 find 不很常用的!因為速度慢之外,也很操硬盤!通常我們都是先使用 whereis 或者是 locate 來檢查,如果

真的找不到了,才以 find 來搜尋呦!為什么呢?因為 whereis 與 locate 是利用數(shù)據(jù)庫來搜尋數(shù)據(jù),所以相當?shù)目焖伲也]

有實際的搜尋硬盤,比較省時間啦!

which   查看可執(zhí)行檔案的位置

whereis 查看檔案的位置

locate  配合數(shù)據(jù)庫查看檔案位置

find    實際搜尋硬盤去查詢文件名稱

• which

語法:

[root @test /root ]# which  [文件名稱]

參數(shù)說明:

范例:

[root @test /root]# which passwd

/usr/bin/passwd

說明: which 的基本功能是『藉由 PATH 這個環(huán)境變量的內(nèi)容,去該路徑內(nèi)尋找可執(zhí)行文件』,所以基本的功能在于『尋找

執(zhí)行檔』啰!

• whereis

語法:

[root @test /root ]# whereis [-bmsu] [目錄名稱]

參數(shù)說明:

-b    :只找 binary 的檔案

-m    :只找在說明文件 manual 路徑下的檔案

-s    :只找 source 來源檔案

-u    :沒有說明檔的檔案!

范例:

[root @test /root]# whereis passwd

passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.bz2

將 passwd 相關字眼的檔案或目錄都列出來!

[root @test /root]# whereis -b passwd

passwd: /usr/bin/passwd /etc/passwd

僅列出binary 檔案!

[root @test /root]# whereis -m passwd

passwd: /usr/share/man/man1/passwd.1.bz2

僅搜尋 man page 所在的目錄!

說明:

如果使用 find 太麻煩,而且時間花用的很大?。ㄒ驗槿绻愕挠脖P比較老舊的話,嘿嘿!有的等的!)這個時候

whereis 就相當?shù)暮糜昧?!另外?whereis 可以加入?yún)?shù)來找尋相關的資料,例如如果你是要找可執(zhí)行檔( binary )

那么加上 -b 就可以啦!例如上面的范例針對 passwd 這支程序來說明!如果不加任何參數(shù)的話,那么就將所有的數(shù)

據(jù)列出來啰!那么 whereis 到底是使用什么咚咚呢?為何搜尋的速度會比 find 快這么多?!其實那也沒有什么!這是

因為 Linux 系統(tǒng)會將系統(tǒng)內(nèi)的所有檔案都記錄在一個數(shù)據(jù)庫檔案里面,而當使用 whereis 或者是底下要說的 locate 時,

都會以此數(shù)據(jù)庫檔案的內(nèi)容為準,因此,有的時后你還會發(fā)現(xiàn)使用這兩個執(zhí)行檔時,會找到已經(jīng)被殺掉的檔案!這就

是因為他是一個『數(shù)據(jù)庫』檔案呀!另外,基本上 Linux 每天會針對 Linux 主機進行 updatedb (就是那一個數(shù)據(jù)庫

檔案啰?。┑膭幼?,你可以在 /etc/cron.weekly/slocate.cron 這個檔案找到相關的機制呦!當然,也可以直接使用

/usr/bin/updatedb 來更新數(shù)據(jù)庫檔案呢!

• locate

語法:

[root @test /root ]# locate [目錄名稱]

參數(shù)說明:

范例:

[root @test /root]# locate root

……一大堆跟 root 有關字眼的檔案都出來了 @_@

[root @test /root]# updatedb        ==立刻更新數(shù)據(jù)庫

說明:

locate 的使用方式就更簡單了!直接鍵入你要找的檔名即可!但是,這個東西還是有使用上的限制呦!為什么呢?您

會發(fā)現(xiàn)使用 locate 來尋找數(shù)據(jù)的時候特別的快,這是因為 locate 尋找的數(shù)據(jù)是由『已建立的數(shù)據(jù)庫 /var/lib/slocate』

里面的數(shù)據(jù)所搜尋到的,所以不用直接在去硬盤當中存取數(shù)據(jù),呵呵!當然是很快速啰!那么有什么限制呢?就是因

為他是經(jīng) 由數(shù)據(jù)庫來搜尋的,而數(shù)據(jù)庫的建立預設是在每個禮拜執(zhí)行一次,所以當您新建立起來的檔案,卻還在數(shù)

據(jù)庫更新之前搜尋該檔案,那么 locate 會告訴您『找不到!』呵呵!因為必須要更新數(shù)據(jù)庫呀!

那么我到底要建立哪些數(shù)據(jù)庫呢?是否全部都要建立?似乎不需要,這個時候,你可以自己選擇需要建立檔案數(shù)據(jù)庫

的目錄呢!在 /etc/updatedb.conf 這個內(nèi)即可設定了!

[root @test root]# more /etc/updatedb.conf

## Linux-Mandrake configuration.

# 由何處開始查詢數(shù)據(jù),當然是由根目錄啦!所以填入 / 即可

FROM="/"

# 哪些目錄不想要建立檔案搜尋數(shù)據(jù),呵呵!就是那些不要的數(shù)據(jù)嘛!

# 忘記的話,記得回上一章去看看內(nèi)容,就知道為何如此設定了!

PRUNEPATHS="/proc,/tmp,/var/tmp,/usr/tmp,/net,/afs,/mnt"

# 安全等級

#   0 代表關閉安全檢驗,速度上面較快速,但較不安全;

#   1 啟動安全簡易,這是系統(tǒng)的默認值; SECURITY="1"

# 查詢的時候是否要由屏幕輸出?當然不要,否則多麻煩?

VERBOSE="NO"

# 數(shù)據(jù)庫所在處!這是默認值,不要隨意移動,否則會找不到!

DATABASE="/var/lib/slocate/slocate.db"

# 哪些檔案系統(tǒng)我們也不搜尋建立?就是光盤啦、非 Linux 的檔案格式啦,

# 我們都不要進行搜尋信息的建立啦!

PRUNEFS="nfs,smbfs,ncpfs,proc,devpts,supermount,vfat,iso9660,udf,usbdevfs,devfs"

• find

語法:

[root @test /root ]# find [路徑] [參數(shù)]

參數(shù)說明:

1. 時間:

-atime n    :在 n*24 小時內(nèi)被 access 即存取過的檔案列出來!

-ctime n    :在 n*24 小時內(nèi)被 changed 即改變、新增的檔案或目錄印出

-mtime n    :在 n*24 小時內(nèi)被 modified 即修改過的檔案印出

-newer file :比 file 還要新的檔案就列出來!

2. 使用名稱:

-gid n      :尋找 群組 ID 為 n 的檔案

-group name :尋找群組名稱為 name 的檔案

-uid n      :尋找擁有者 ID 為 n 的檔案

-user name  :尋找使用者名稱為 name 的檔案

-name file  :尋找檔名為 file 的文件名稱(可以使用萬用字符)

-type type  :尋找檔案屬性為 type 的檔案,type 包含了 b, c, d, p, l, s,

這些與前一章的屬性相同!例如 l 為 Link 而 d 為路徑之意!

范例:

[root @test /root]# find / -name testing            ==尋找檔名為 testing 

[root @test /root]# find / -name 'test*'       ==尋找檔名包含 test 的!

[root @test /root]# find . -ctime 1                 ==尋找目前目錄下一天內(nèi)新增的目錄或檔案

[root @test /root]# find /home/test -newer .bashrc  ==尋找 /home/test 目錄下比 .bashrc 還要新的檔案

[root @test /root]# find /home -user test       ==尋找 /home 底下?lián)碛姓邽?test 的檔案

[root @test /root]# find /dev -type b               ==尋找 /dev 這個目錄下,檔案屬性為 b 的檔案

說明:

如果你要尋找一個檔案的話,那么使用 find 會是一個不錯的主意!他可以根據(jù)不同的參數(shù)來給予檔案的搜尋功能!

例如你要尋找一個檔名為 httpd.conf 的檔案,你知道他應該是在 /etc 底下,那么就可以使用『 find /etc -name

httpd.conf 』嚕!那如果你記得有一個檔案檔名包含了 httpd ,但是不知道全名怎辦?!呵呵,就用萬用字符 * 吧,

如上以:『 find /etc -name '*httpd*' 』就可將檔名含有 httpd 的檔案都列出來啰!不過,由于 find 在尋找數(shù)據(jù)的時

后相當?shù)暮挠脖P!所以沒事情不要使用 find 啦!有更棒的指令可以取代呦!那就是 whereis 與 locate 啰?。?/p>

標簽:公主嶺 青島 六盤水 商丘 麗水 廣安 河源 雅安

巨人網(wǎng)絡通訊聲明:本文標題《CentOS下如何搜尋檔案或目錄命令》,本文關鍵詞  CentOS,下,如何,搜尋,檔案,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《CentOS下如何搜尋檔案或目錄命令》相關的同類信息!
  • 本頁收集關于CentOS下如何搜尋檔案或目錄命令的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    澄江县| 杨浦区| 柳州市| 辽源市| 枣阳市| 邻水| 遂宁市| 始兴县| 衡南县| 吉安市| 阿坝| 南宁市| 钟祥市| 昌黎县| 济南市| 棋牌| 宿州市| 永顺县| 英吉沙县| 自治县| 武定县| 双鸭山市| 天镇县| 瑞金市| 湄潭县| 涟水县| 冷水江市| 襄垣县| 加查县| 景洪市| 兰坪| 延庆县| 礼泉县| 卓资县| 阿克陶县| 鄂托克旗| 山阳县| 常山县| 无棣县| 临潭县| 四平市|