- 浏览: 255146 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
红小豆:
Criteria和Detachedcriteria的区别及应用 -
fjjiaboming:
那就稍微翻译一下 啊....
Mysql autoReconnect 的问题 -
woyaowenzi:
非常感谢,我正想做一个画线的控件,就和windows的画图板一 ...
一个简单的FLEX画图demo -
guzen:
可以用一下flash builder 4,现在支持绝对定位了, ...
how to use flex layouts -
suifeng:
好!
一个简单的FLEX画图demo
檔案的搜尋:
檔案的搜尋可就厲害了!因為我們常常需要知道那個檔案放在哪裡,所以來談一談怎麼搜尋吧!在 Linux 底下也有相當優異的搜尋系統呦!通常 find 不很常用的!因為速度慢之外,也很操硬碟!通常我們都是先使用 whereis 或者是 locate 來檢查,如果真的找不到了,才以 find 來搜尋呦!為什麼呢?因為 whereis 與 locate 是利用資料庫來搜尋資料,所以相當的快速,而且並沒有實際的搜尋硬碟,比較省時間啦!
--------------------------------------------------------------------------------
which (尋找『執行檔』)
[root@linux ~]# which [-a] command
參數:
-a :將所有可以找到的指令均列出,而不止第一個被找到的指令名稱
範例:
[root@linux ~]# which passwd
/usr/bin/passwd
[root@linux ~]# which traceroute -a
/usr/sbin/traceroute
/bin/traceroute
這個指令是根據『PATH』這個環境變數所規範的路徑,去搜尋『執行檔』的檔名~ 所以,重點是找出『執行檔』而已!且 which 後面接的是
『完整檔名』喔!若加上 -a 參數,則可以列出所有的可以找到的同名執行檔,而非僅顯示第一個而已!
--------------------------------------------------------------------------------
whereis (尋找特定檔案)
[root@linux ~]# whereis [-bmsu] 檔案或目錄名
參數:
-b :只找 binary 的檔案
-m :只找在說明檔 manual 路徑下的檔案
-s :只找 source 來源檔案
-u :沒有說明檔的檔案!
範例:
[root@linux ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
/usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
# 任何與 passwd 有關的檔名都會被列出來~
[root@linux ~]# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
[root@linux ~]# whereis -m passwd
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
等一下我們會提到 find 這個搜尋指令, find 是很強大的搜尋指令,但時間花用的很大! (因為 find 是直接搜尋硬碟,為如果你的硬碟比
較老舊的話,嘿嘿!有的等的!) 這個時候 whereis 就相當的好用了!另外, whereis 可以加入參數來找尋相關的資料, 例如如果你是要找
可執行檔 ( binary ) 那麼加上 -b 就可以啦!例如上面的範例針對 passwd 這支程式來說明!如果不加任何參數的話,那麼就將所有的資料
列出來囉!
那麼 whereis 到底是使用什麼咚咚呢?為何搜尋的速度會比 find 快這麼多?! 其實那也沒有什麼!這是因為 Linux 系統會將系統內的所有
檔案都記錄在一個資料庫檔案裡面, 而當使用 whereis 或者是底下要說的 locate 時,都會以此資料庫檔案的內容為準, 因此,有的時後你
還會發現使用這兩個執行檔時,會找到已經被殺掉的檔案! 而且也找不到最新的剛剛建立的檔案呢! 這就是因為這兩個指令是由資料庫當中
的結果去搜尋檔案的所在啊!
另外,基本上 Linux 每天會針對 Linux 主機上所有檔案的所在進行搜尋資料庫的更新, 更新的程式就是 updatedb ,你可以在 FC4 系統的
/etc/cron.daily/slocate.cron 這個檔案找到相關的機制呦!當然,也可以直接使用 /usr/bin/updatedb 來更新資料庫檔案呢!
--------------------------------------------------------------------------------
locate
[root@linux ~]# locate filename
[root@linux ~]# locate passwd
/lib/security/pam_passwdqc.so
/lib/security/pam_unix_passwd.so
/usr/lib/kde3/kded_kpasswdserver.so
/usr/lib/kde3/kded_kpasswdserver.la
.......中間省略.......
這個 locate 的使用更簡單,直接在後面輸入『檔案的部分名稱』後,就能夠得到結果。 舉上面的例子來說,我輸入 locate passwd ,那麼
在完整檔名 (包含路徑名稱) 當中,只要有 passwd 在其中, 就會被顯示出來的!這也是個很方便好用的指令,如果您忘記某個檔案的完整檔
名時~~
但是,這個東西還是有使用上的限制呦!為什麼呢?您會發現使用 locate 來尋找資料的時候特別的快, 這是因為 locate 尋找的資料是由『
已建立的資料庫 /var/lib/slocate/』 裡面的資料所搜尋到的,所以不用直接在去硬碟當中存取資料,呵呵!當然是很快速囉! 那麼有什麼
限制呢?就是因為他是經由資料庫來搜尋的,而資料庫的建立預設是在每天執行一次 (每個 distribution 都不同, FC4 是每天更新資料庫一
次!),所以當您新建立起來的檔案, 卻還在資料庫更新之前搜尋該檔案,那麼 locate 會告訴您『找不到!』呵呵!因為必須要更新資料庫
呀!
那麼我到底要建立哪些資料庫呢?是否全部都要建立?似乎不需要,這個時候, 你可以自己選擇需要建立檔案資料庫的目錄呢!你可以在
/etc/updatedb.conf 這個檔案內設定。 建議您使用預設值就好了,不過,在 /etc/updatedb.conf 裡面,請把『DAILY_UPDATE=no』改成
『DAILY_UPDATE=yes』就好了。至於修改的方法等到我們第三章提完 vi 後,您就會曉得囉~ 當然啦,也可以自行手動執行 updatedb 即可!
--------------------------------------------------------------------------------
find
[root@linux ~]# find [PATH] [option] [action]
參數:
1. 與時間有關的參數:
-atime n :n 為數字,意義為在 n 天之前的『一天之內』被 access 過的檔案;
-ctime n :n 為數字,意義為在 n 天之前的『一天之內』被 change 過狀態的檔案;
-mtime n :n 為數字,意義為在 n 天之前的『一天之內』被 modification 過的檔案;
-newer file :file 為一個存在的檔案,意思是說,只要檔案比 file 還要新,
就會被列出來~
2. 與使用者或群組名稱有關的參數:
-uid n :n 為數字,這個數字是使用者的帳號 ID,亦即 UID ,這個 UID 是記錄在
/etc/passwd 裡面與帳號名稱對應的數字。這方面我們會在第四篇介紹。
-gid n :n 為數字,這個數字是群組名稱的 ID,亦即 GID,這個 GID 記錄在
/etc/group,相關的介紹我們會第四篇說明~
-user name :name 為使用者帳號名稱喔!例如 dmtsai
-group name:name 為群組名稱喔,例如 users ;
-nouser :尋找檔案的擁有者不存在 /etc/passwd 的人!
-nogroup :尋找檔案的擁有群組不存在於 /etc/group 的檔案!
當您自行安裝軟體時,很可能該軟體的屬性當中並沒有檔案擁有者,
這是可能的!在這個時候,就可以使用 -nouser 與 -nogroup 搜尋。
3. 與檔案權限及名稱有關的參數:
-name filename:搜尋檔案名稱為 filename 的檔案;
-size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 的規格有:
c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
還要大的檔案,就是『 -size +50k 』
-type TYPE :搜尋檔案的類型為 TYPE 的,類型主要有:一般正規檔案 (f),
裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s),
及 FIFO (p) 等屬性。
-perm mode :搜尋檔案屬性『剛好等於』 mode 的檔案,這個 mode 為類似 chmod
的屬性值,舉例來說, -rwsr-xr-x 的屬性為 4755 !
-perm -mode :搜尋檔案屬性『必須要全部囊括 mode 的屬性』的檔案,舉例來說,
我們要搜尋 -rwxr--r-- ,亦即 0744 的檔案,使用 -perm -0744,
當一個檔案的屬性為 -rwxr-xr-x ,亦即 4755 時,也會被列出來,
因為 -rwxr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
-perm +mode :搜尋檔案屬性『包含任一 mode 的屬性』的檔案,舉例來說,我們搜尋
-rwxr-xr-x ,亦即 -perm +755 時,但一個檔案屬性為 -rw-------
也會被列出來,因為他有 -rw.... 的屬性存在!
4. 額外可進行的動作:
-exec command :command 為其他指令,-exec 後面可再接額外的指令來處理搜尋到
的結果。
-print :將結果列印到螢幕上,這個動作是預設動作!
範例:
範例一:將過去系統上面 24 小時內有更動過內容 (mtime) 的檔案列出
[root@linux ~]# find / -mtime 0
# 那個 0 是重點!0 代表目前的時間,所以,從現在開始到 24 小時前,
# 有變動過內容的檔案都會被列出來!那如果是三天前的 24 小時內?
# find / -mtime 3 ,意思是說今天之前的 3*24 ~ 4*24 小時之間
# 有變動過的檔案都被列出的意思!同時 -atime 與 -ctime 的用法相同。
範例二:尋找 /etc 底下的檔案,如果檔案日期比 /etc/passwd 新就列出
[root@linux ~]# find /etc -newer /etc/passwd
# -newer 用在分辨兩個檔案之間的新舊關係是很有用的!
範例三:搜尋 /home 底下屬於 dmtsai 的檔案
[root@linux ~]# find /home -user dmtsai
# 這個東西也很有用的~當我們要找出任何一個使用者在系統當中的所有檔案時,
# 就可以利用這個指令將屬於某個使用者的所有檔案都找出來喔!
範例四:搜尋系統中不屬於任何人的檔案
[root@linux ~]# find / -nouser
# 透過這個指令,可以輕易的就找出那些不太正常的檔案。
# 如果有找到不屬於系統任何人的檔案時,不要太緊張,
# 那有時候是正常的~尤其是您曾經以原始碼自行編譯軟體時。
範例五:找出檔名為 passwd 這個檔案
[root@linux ~]# find / -name passwd
# 利用這個 -name 可以搜尋檔名啊!
範例六:搜尋檔案屬性為 f (一般檔案) 的檔案
[root@linux ~]# find /home -type f
# 這個 -type 的屬性也很有幫助喔!尤其是要找出那些怪異的檔案,
# 例如 socket 與 FIFO 檔案,可以用 find /var -type p 或 -type s 來找!
範例七:搜尋檔案當中含有 SGID/SUID/SBIT 的屬性
[root@linux ~]# find / -perm +7000
# 所謂的 7000 就是 ---s--s--t ,那麼只要含有 s 或 t 的就列出,
# 所以當然要使用 +7000 ,使用 -7000 表示要含有 ---s--s--t 的所有三個權限,
# 因此,就是 +7000 ~瞭乎?
範例八:將上個範例找到的檔案使用 ls -l 列出來~
[root@linux ~]# find / -perm +7000 -exec ls -l {} \;
# 注意到,那個 -exec 後面的 ls -l 就是額外的指令,
# 而那個 {} 代表的是『由 find 找到的內容』的意思~所以, -exec ls -l {}
# 就是將前面找到的那些檔案以 ls -l 列出長的資料!至於 \; 則是表示
# -exec 的指令到此為止的意思~意思是說,整個指令其實只有在
# -exec (裡面就是指令下達) \;
# 也就是說,-exec 最後一定要以 \; 結束才行!這樣瞭解了嗎?!
範例九:找出系統中,大於 1MB 的檔案
[root@linux ~]# find / -size +1000k
# 雖然在 man page 提到可以使用 M 與 G 分別代表 MB 與 GB,
# 不過,俺卻試不出來這個功能~所以,目前應該是僅支援到 c 與 k 吧!
如果你要尋找一個檔案的話,那麼使用 find 會是一個不錯的主意! 他可以根據不同的參數來給予檔案的搜尋功能!例如你要尋找一個檔名為
httpd.conf 的檔案,你知道他應該是在 /etc 底下,那麼就可以使用『 find /etc -name httpd.conf 』嚕! 那如果你記得有一個檔案檔名
包含了 httpd ,但是不知道全名怎辦?!呵呵,就用萬用字元 * 吧,如上以:『 find /etc -name '*httpd*' 』就可將檔名含有 httpd 的
檔案都列出來囉!不過,由於 find 在尋找資料的時後相當的耗硬碟!所以沒事情不要使用 find 啦!有更棒的指令可以取代呦!那就是
whereis 與 locate 囉!!
但,不管怎麼說, find 在找尋特殊的檔案屬性,以及特殊的檔案權限 (SUID/SGID等等) 時, 是相當有用的工具程式之一!重要重要!
檔案的搜尋可就厲害了!因為我們常常需要知道那個檔案放在哪裡,所以來談一談怎麼搜尋吧!在 Linux 底下也有相當優異的搜尋系統呦!通常 find 不很常用的!因為速度慢之外,也很操硬碟!通常我們都是先使用 whereis 或者是 locate 來檢查,如果真的找不到了,才以 find 來搜尋呦!為什麼呢?因為 whereis 與 locate 是利用資料庫來搜尋資料,所以相當的快速,而且並沒有實際的搜尋硬碟,比較省時間啦!
--------------------------------------------------------------------------------
which (尋找『執行檔』)
[root@linux ~]# which [-a] command
參數:
-a :將所有可以找到的指令均列出,而不止第一個被找到的指令名稱
範例:
[root@linux ~]# which passwd
/usr/bin/passwd
[root@linux ~]# which traceroute -a
/usr/sbin/traceroute
/bin/traceroute
這個指令是根據『PATH』這個環境變數所規範的路徑,去搜尋『執行檔』的檔名~ 所以,重點是找出『執行檔』而已!且 which 後面接的是
『完整檔名』喔!若加上 -a 參數,則可以列出所有的可以找到的同名執行檔,而非僅顯示第一個而已!
--------------------------------------------------------------------------------
whereis (尋找特定檔案)
[root@linux ~]# whereis [-bmsu] 檔案或目錄名
參數:
-b :只找 binary 的檔案
-m :只找在說明檔 manual 路徑下的檔案
-s :只找 source 來源檔案
-u :沒有說明檔的檔案!
範例:
[root@linux ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
/usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
# 任何與 passwd 有關的檔名都會被列出來~
[root@linux ~]# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
[root@linux ~]# whereis -m passwd
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
等一下我們會提到 find 這個搜尋指令, find 是很強大的搜尋指令,但時間花用的很大! (因為 find 是直接搜尋硬碟,為如果你的硬碟比
較老舊的話,嘿嘿!有的等的!) 這個時候 whereis 就相當的好用了!另外, whereis 可以加入參數來找尋相關的資料, 例如如果你是要找
可執行檔 ( binary ) 那麼加上 -b 就可以啦!例如上面的範例針對 passwd 這支程式來說明!如果不加任何參數的話,那麼就將所有的資料
列出來囉!
那麼 whereis 到底是使用什麼咚咚呢?為何搜尋的速度會比 find 快這麼多?! 其實那也沒有什麼!這是因為 Linux 系統會將系統內的所有
檔案都記錄在一個資料庫檔案裡面, 而當使用 whereis 或者是底下要說的 locate 時,都會以此資料庫檔案的內容為準, 因此,有的時後你
還會發現使用這兩個執行檔時,會找到已經被殺掉的檔案! 而且也找不到最新的剛剛建立的檔案呢! 這就是因為這兩個指令是由資料庫當中
的結果去搜尋檔案的所在啊!
另外,基本上 Linux 每天會針對 Linux 主機上所有檔案的所在進行搜尋資料庫的更新, 更新的程式就是 updatedb ,你可以在 FC4 系統的
/etc/cron.daily/slocate.cron 這個檔案找到相關的機制呦!當然,也可以直接使用 /usr/bin/updatedb 來更新資料庫檔案呢!
--------------------------------------------------------------------------------
locate
[root@linux ~]# locate filename
[root@linux ~]# locate passwd
/lib/security/pam_passwdqc.so
/lib/security/pam_unix_passwd.so
/usr/lib/kde3/kded_kpasswdserver.so
/usr/lib/kde3/kded_kpasswdserver.la
.......中間省略.......
這個 locate 的使用更簡單,直接在後面輸入『檔案的部分名稱』後,就能夠得到結果。 舉上面的例子來說,我輸入 locate passwd ,那麼
在完整檔名 (包含路徑名稱) 當中,只要有 passwd 在其中, 就會被顯示出來的!這也是個很方便好用的指令,如果您忘記某個檔案的完整檔
名時~~
但是,這個東西還是有使用上的限制呦!為什麼呢?您會發現使用 locate 來尋找資料的時候特別的快, 這是因為 locate 尋找的資料是由『
已建立的資料庫 /var/lib/slocate/』 裡面的資料所搜尋到的,所以不用直接在去硬碟當中存取資料,呵呵!當然是很快速囉! 那麼有什麼
限制呢?就是因為他是經由資料庫來搜尋的,而資料庫的建立預設是在每天執行一次 (每個 distribution 都不同, FC4 是每天更新資料庫一
次!),所以當您新建立起來的檔案, 卻還在資料庫更新之前搜尋該檔案,那麼 locate 會告訴您『找不到!』呵呵!因為必須要更新資料庫
呀!
那麼我到底要建立哪些資料庫呢?是否全部都要建立?似乎不需要,這個時候, 你可以自己選擇需要建立檔案資料庫的目錄呢!你可以在
/etc/updatedb.conf 這個檔案內設定。 建議您使用預設值就好了,不過,在 /etc/updatedb.conf 裡面,請把『DAILY_UPDATE=no』改成
『DAILY_UPDATE=yes』就好了。至於修改的方法等到我們第三章提完 vi 後,您就會曉得囉~ 當然啦,也可以自行手動執行 updatedb 即可!
--------------------------------------------------------------------------------
find
[root@linux ~]# find [PATH] [option] [action]
參數:
1. 與時間有關的參數:
-atime n :n 為數字,意義為在 n 天之前的『一天之內』被 access 過的檔案;
-ctime n :n 為數字,意義為在 n 天之前的『一天之內』被 change 過狀態的檔案;
-mtime n :n 為數字,意義為在 n 天之前的『一天之內』被 modification 過的檔案;
-newer file :file 為一個存在的檔案,意思是說,只要檔案比 file 還要新,
就會被列出來~
2. 與使用者或群組名稱有關的參數:
-uid n :n 為數字,這個數字是使用者的帳號 ID,亦即 UID ,這個 UID 是記錄在
/etc/passwd 裡面與帳號名稱對應的數字。這方面我們會在第四篇介紹。
-gid n :n 為數字,這個數字是群組名稱的 ID,亦即 GID,這個 GID 記錄在
/etc/group,相關的介紹我們會第四篇說明~
-user name :name 為使用者帳號名稱喔!例如 dmtsai
-group name:name 為群組名稱喔,例如 users ;
-nouser :尋找檔案的擁有者不存在 /etc/passwd 的人!
-nogroup :尋找檔案的擁有群組不存在於 /etc/group 的檔案!
當您自行安裝軟體時,很可能該軟體的屬性當中並沒有檔案擁有者,
這是可能的!在這個時候,就可以使用 -nouser 與 -nogroup 搜尋。
3. 與檔案權限及名稱有關的參數:
-name filename:搜尋檔案名稱為 filename 的檔案;
-size [+-]SIZE:搜尋比 SIZE 還要大(+)或小(-)的檔案。這個 SIZE 的規格有:
c: 代表 byte, k: 代表 1024bytes。所以,要找比 50KB
還要大的檔案,就是『 -size +50k 』
-type TYPE :搜尋檔案的類型為 TYPE 的,類型主要有:一般正規檔案 (f),
裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s),
及 FIFO (p) 等屬性。
-perm mode :搜尋檔案屬性『剛好等於』 mode 的檔案,這個 mode 為類似 chmod
的屬性值,舉例來說, -rwsr-xr-x 的屬性為 4755 !
-perm -mode :搜尋檔案屬性『必須要全部囊括 mode 的屬性』的檔案,舉例來說,
我們要搜尋 -rwxr--r-- ,亦即 0744 的檔案,使用 -perm -0744,
當一個檔案的屬性為 -rwxr-xr-x ,亦即 4755 時,也會被列出來,
因為 -rwxr-xr-x 的屬性已經囊括了 -rwxr--r-- 的屬性了。
-perm +mode :搜尋檔案屬性『包含任一 mode 的屬性』的檔案,舉例來說,我們搜尋
-rwxr-xr-x ,亦即 -perm +755 時,但一個檔案屬性為 -rw-------
也會被列出來,因為他有 -rw.... 的屬性存在!
4. 額外可進行的動作:
-exec command :command 為其他指令,-exec 後面可再接額外的指令來處理搜尋到
的結果。
-print :將結果列印到螢幕上,這個動作是預設動作!
範例:
範例一:將過去系統上面 24 小時內有更動過內容 (mtime) 的檔案列出
[root@linux ~]# find / -mtime 0
# 那個 0 是重點!0 代表目前的時間,所以,從現在開始到 24 小時前,
# 有變動過內容的檔案都會被列出來!那如果是三天前的 24 小時內?
# find / -mtime 3 ,意思是說今天之前的 3*24 ~ 4*24 小時之間
# 有變動過的檔案都被列出的意思!同時 -atime 與 -ctime 的用法相同。
範例二:尋找 /etc 底下的檔案,如果檔案日期比 /etc/passwd 新就列出
[root@linux ~]# find /etc -newer /etc/passwd
# -newer 用在分辨兩個檔案之間的新舊關係是很有用的!
範例三:搜尋 /home 底下屬於 dmtsai 的檔案
[root@linux ~]# find /home -user dmtsai
# 這個東西也很有用的~當我們要找出任何一個使用者在系統當中的所有檔案時,
# 就可以利用這個指令將屬於某個使用者的所有檔案都找出來喔!
範例四:搜尋系統中不屬於任何人的檔案
[root@linux ~]# find / -nouser
# 透過這個指令,可以輕易的就找出那些不太正常的檔案。
# 如果有找到不屬於系統任何人的檔案時,不要太緊張,
# 那有時候是正常的~尤其是您曾經以原始碼自行編譯軟體時。
範例五:找出檔名為 passwd 這個檔案
[root@linux ~]# find / -name passwd
# 利用這個 -name 可以搜尋檔名啊!
範例六:搜尋檔案屬性為 f (一般檔案) 的檔案
[root@linux ~]# find /home -type f
# 這個 -type 的屬性也很有幫助喔!尤其是要找出那些怪異的檔案,
# 例如 socket 與 FIFO 檔案,可以用 find /var -type p 或 -type s 來找!
範例七:搜尋檔案當中含有 SGID/SUID/SBIT 的屬性
[root@linux ~]# find / -perm +7000
# 所謂的 7000 就是 ---s--s--t ,那麼只要含有 s 或 t 的就列出,
# 所以當然要使用 +7000 ,使用 -7000 表示要含有 ---s--s--t 的所有三個權限,
# 因此,就是 +7000 ~瞭乎?
範例八:將上個範例找到的檔案使用 ls -l 列出來~
[root@linux ~]# find / -perm +7000 -exec ls -l {} \;
# 注意到,那個 -exec 後面的 ls -l 就是額外的指令,
# 而那個 {} 代表的是『由 find 找到的內容』的意思~所以, -exec ls -l {}
# 就是將前面找到的那些檔案以 ls -l 列出長的資料!至於 \; 則是表示
# -exec 的指令到此為止的意思~意思是說,整個指令其實只有在
# -exec (裡面就是指令下達) \;
# 也就是說,-exec 最後一定要以 \; 結束才行!這樣瞭解了嗎?!
範例九:找出系統中,大於 1MB 的檔案
[root@linux ~]# find / -size +1000k
# 雖然在 man page 提到可以使用 M 與 G 分別代表 MB 與 GB,
# 不過,俺卻試不出來這個功能~所以,目前應該是僅支援到 c 與 k 吧!
如果你要尋找一個檔案的話,那麼使用 find 會是一個不錯的主意! 他可以根據不同的參數來給予檔案的搜尋功能!例如你要尋找一個檔名為
httpd.conf 的檔案,你知道他應該是在 /etc 底下,那麼就可以使用『 find /etc -name httpd.conf 』嚕! 那如果你記得有一個檔案檔名
包含了 httpd ,但是不知道全名怎辦?!呵呵,就用萬用字元 * 吧,如上以:『 find /etc -name '*httpd*' 』就可將檔名含有 httpd 的
檔案都列出來囉!不過,由於 find 在尋找資料的時後相當的耗硬碟!所以沒事情不要使用 find 啦!有更棒的指令可以取代呦!那就是
whereis 與 locate 囉!!
但,不管怎麼說, find 在找尋特殊的檔案屬性,以及特殊的檔案權限 (SUID/SGID等等) 時, 是相當有用的工具程式之一!重要重要!
发表评论
-
redhat as5.4 安装网站截图软件CutyCapt
2012-02-23 09:21 2080先安装Qt47 Java代码 收藏代码 增加qt4 ... -
linux中将前台进程转入后台的方法
2011-09-07 17:31 2764今天在网上偶然看到一个不错的建议。先更新一下: 以前在使用no ... -
Vnstat: 简单实用的网络流量统计工具
2011-05-18 22:02 1468http://www.linuxeden.com/html/s ... -
视频网站架构
2011-01-23 01:01 1582http://www.doorsolutions.cn/ 概述 ... -
how to install ffmpeg
2011-01-23 00:33 1540A little while back, I posted a ... -
CentOS安装MPlayer
2010-05-31 14:36 1507http://wiki.centos.org/TipsAndT ... -
linux下tomcat启动80端口不能访问的问题
2009-06-15 21:18 7069service iptables save [code=&a ... -
Understanding memory usage on Linux
2009-06-12 10:50 1158This entry is for those people ... -
上传文件到linux时出现的乱码
2009-04-30 16:32 2125遇到见很郁闷的事。 维护一个很老的代码,编码都是gbk的,别 ... -
gdb 使用手册
2009-04-28 16:46 2095简述 一 列文件清单 二 ... -
OOM 机制
2009-03-26 21:40 1221When a system runs out of memor ... -
OOM killer "Out of Memory: Killed process SOLUTION
2009-03-26 21:39 1858Since this problem seems to pop ... -
A Quick Benchmark: Gzip vs. Bzip2 vs. LZMA
2009-03-09 09:50 1475How the test files were selecte ... -
linux 网络配置
2009-03-03 15:54 1153网络信息查看 查看网路接口信息 1.了解lin ... -
linux下删除文件出错
2009-01-12 16:27 2086今天忘记把程序停止, ... -
linux下自动备份mysql数据库
2009-01-12 16:22 1131新建文件: vi /home/bzhang/mysql_aut ... -
计划任务工具 cron 的配置和说明
2009-01-12 10:01 1107计划任务工具 cron 的配置和说明 作者: 北南南 ... -
用vsFTPd自架Linux网络安装服务器,以及Redhat局域网安装的解决办法
2009-01-05 12:06 1311ZZ FROM: http://www.linuxsir.or ... -
Clock in a Linux Guest Runs More Slowly or Quickly
2009-01-04 10:55 2074Clock in a Linux Guest R ... -
IPTABLE 学习
2008-12-30 15:40 960To be continued...
相关推荐
### which, whereis, locate, find 的用法与区别 #### 一、引言 在 Linux 操作系统中,文件管理是一项重要的技能。熟练掌握如何查找文件能够大大提高工作效率。本文将详细介绍 `which`, `whereis`, `locate` 和 `...
### Linux下which、whereis、locate、find命令的详细区别及应用 #### 1. which命令 `which`命令主要用于查找可执行文件的位置。当您不确定一个命令或程序的完整路径时,`which`可以帮助您快速定位其所在位置。这个...
本文将详细介绍`which`、`whereis`、`locate`、`find`这四个命令的区别,并通过具体示例进行对比,帮助读者更好地理解这些命令的功能及应用场景。 ### 1. `which` 命令 `which` 命令用于查找用户可执行命令的完整...
本文将详细介绍四个主要的命令,帮助用户在 Linux 环境下有效地查找目录或文件:`find`、`locate`、`which` 和 `whereis`。 1. **find 命令** `find` 是 Linux 中最强大的文件查找工具,它允许用户基于各种条件来...
`whereis` 是 Linux 系统中一个非常实用的命令,用于查找系统中的命令或程序文件。它主要关注的是程序的二进制...在实际工作中,结合其他查找命令如 `find`、`which` 和 `locate`,可以更全面地进行文件和程序的搜索。
在Linux系统中,查找文件和命令是日常操作的重要部分,本章主要介绍四个常用的查找工具:`which`、`whereis`、`locate`和`find`,它们各自有不同的特性和用途。 首先,`which`命令用于查找指定的可执行程序或文件。...
例如,使用 whereis 命令查找 g++ 命令,可以找到 g++ 命令对应的二进制文件和用户手册文档: #g++: /usr/bin/g++ /usr/share/man/man1/g++.1.gz 3.locate 命令 locate 命令可以查找文件系统中的文件,而不仅限于...
本文将详细介绍几个在Linux系统中常用的命令,包括`grep`、`find`、`locate`、`whereis`、`which`,以及用户管理和权限管理的基础知识。 1. `grep`命令: `grep`是“Global Regular Expression Print”的缩写,用于...
whereis和which命令则用于查找程序的位置;type命令则用来区分某个命令是shell的内置功能还是外部程序。 总的来说,这些命令是Linux系统管理员和用户必备的工具,通过灵活运用它们可以极大地提高工作效率。在实践...
whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。 01. 命令概述 查找环境变量中的文件 which 命令用于查找并显示给定命令的绝对路径,环境变量 PATH 中保存了查找...
这篇文档主要涵盖了几个常用的查找命令,包括`which`、`whereis`、`locate`、`find`,以及它们的使用方法和参数。这些工具帮助用户在系统中快速定位文件,以便进行编辑、删除或执行其他操作。 1. **which**: `...
本文将详细介绍三个常用的文件搜索命令:`which`、`whereis`和`find`,以及相关的使用技巧。 1. **which命令** `which`命令主要用于查找指定命令在系统中的具体路径。当你在终端输入一个命令时,系统会从环境变量`...
- **whereis**:whereis命令不仅可以找到命令的可执行文件,还能找到源代码文件和手册页。比如,`whereis ifconfig`会显示`/sbin/ifconfig`的路径以及手册页的位置。 - **locate**:locate命令快速查找文件,它...
(which is 或者 whereis vim ) locate:文件查找,依赖数据库。 而今天的主角find查找命令是在linux中最重要也是应用最多的,通常的用法是在指定目录里查找文件。 find的语法是 :find [ path…] [options] ...
# whereis vim 二、任意文件 find 语法 find [path...] [options] [expression] [action] 命令 路径 选项 表达式 动作 ①按文件名: [root@qianfeng ~]# find /etc -name "hosts" ...
查看 Linux 命令帮助信息 - 关键词:help, whatis, info, which, whereis, man Linux 文件目录管理 - 关键词:cd, ls, pwd, mkdir, rmdir, tree, touch, ln, rename, stat, file, chmod, chown, locate, find, cp, ...
查看 Linux 命令帮助信息 - 关键词:help, whatis, info, which, whereis, man Linux 文件目录管理 - 关键词:cd, ls, pwd, mkdir, rmdir, tree, touch, ln, rename, stat, file, chmod, chown, locate, find, cp, ...
文章目录1 文件搜索——locate2 命令搜索——whereis与which3 文件名搜索——find命令4 字符串搜索——grep 注:转载请标明原文出处链接:https://xiongyiming.blog.csdn.net/article/details/105856510 1 文件...
3. locate 命令:该命令与 whereis 类似,是通过查找预先生成的文件列表后可直接跟文件名。 4. find 命令:用于查找文件,find 命令可以根据文件的访问时间、修改时间、文件名、文件类型等条件来查找文件。 四、...
#whereis vim 任意文检查找find 语法 find [path…] [options] [expression] [action] 命令 路径 选项 表达式 动作 按文件名查找: [root@cyb ~]# find /etc -iname “hos*”(查找/etc下所有开头是hos的文件) 按...