Linux基礎(chǔ)命令之: Linux常用命令
9.find
(1)作用。
在指定目錄中搜索文件,它的使用權(quán)限是所有用戶。
(2)格式。
find[路徑][選項][描述]
其中的路徑為文件搜索路徑,系統(tǒng)開始沿著此目錄樹向下查找文件。它是一個路徑列表,相互用空格分離。若缺省路徑,那么默認(rèn)為當(dāng)前目錄。
其中的描述是匹配表達(dá)式,是find命令接受的表達(dá)式。
(3)常見參數(shù)。
[選項]主要參數(shù)如表2.19所示。
表2.19 find選項常見參數(shù)列表
選項 | 參數(shù)含義 |
-depth | 使用深度級別的查找過程方式,在某層指定目錄中優(yōu)先查找文件內(nèi)容 |
-mount | 不在其他文件系統(tǒng)(如Msdos、Vfat等)的目錄和文件中查找 |
[描述]主要參數(shù)如表2.20所示。
表2.20 find描述常見參數(shù)列表
選項 | 參數(shù)含義 |
-name | 支持通配符*和? |
-user | 用戶名:搜索文件屬主為用戶名(ID或名稱)的文件 |
輸出搜索結(jié)果,并且打印 |
(4)使用實例。
[root@localhosttest]#find./-namehello*.c
./hello1.c
./iscit2005/hello2.c
在該實例中使用了-name的選項支持通配符。
(5)使用說明。
n 若使用目錄路徑為“/”,通常需要查找較多的時間,可以指定更為確切的路徑以減少查找時間。
n find命令可以使用混合查找的方法,例如,想在/etc目錄中查找大于500000字節(jié),并且在24小時內(nèi)修改的某個文件,則可以使用-and(與)把兩個查找參數(shù)鏈接起來組合成一個混合的查找方式,如“find/etc-size+500000c-and-mtime+1”。
10.locate
(1)作用。
用于查找文件。其方法是先建立一個包括系統(tǒng)內(nèi)所有文件名稱及路徑的數(shù)據(jù)庫,之后當(dāng)尋找時就只需查詢這個數(shù)據(jù)庫,而不必實際深入檔案系統(tǒng)之中了。因此其速度比find快很多。
(2)格式。
locate[選項]
(3)locate主要選項參數(shù)如表2.21所示。
表2.21 locate命令常見參數(shù)列表
選項 | 參數(shù)含義 |
-u | 從根目錄開始建立數(shù)據(jù)庫 |
-U | 在指定的位置開始建立數(shù)據(jù)庫 |
-f | 將特定的文件系統(tǒng)排除在數(shù)據(jù)庫外,例如proc文件系統(tǒng)中的文件 |
-r | 使用正則運算式做尋找的條件 |
-o | 指定數(shù)據(jù)庫的名稱 |
(4)使用實例。
[root@localhosttest]#locateissue-U./
[root@localhosttest]#updatedb
[root@localhosttest]#locate-rissue*
./ARM_TOOLS/uClinux-Samsung/lib/libpam/doc/modules/pam_issue.sgml
./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue
./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue/Makefile
./ARM_TOOLS/uClinux-Samsung/lib/libpam/modules/pam_issue/pam_issue.c
…
實例中首先在當(dāng)前目錄下建立了一個數(shù)據(jù)庫,并且在更新了數(shù)據(jù)庫之后進(jìn)行正則匹配查找。通過運行可以發(fā)現(xiàn)locate的運行速度非??臁?/p>
(5)使用說明。
locate命令所查詢的數(shù)據(jù)庫由updatedb程序來更新,而updatedb是由crondaemon周期性建立的,但若所找到的檔案是最近才建立或剛改名的,可能會找不到,因為updatedb默認(rèn)每天運行一次,用戶可以由修改crontab配置(etc/crontab)來更新周期值。
11.ln
(1)作用。
為某一個文件在另外一個位置建立一個符號鏈接。當(dāng)需要在不同的目錄用到相同的文件時,Linux允許用戶不用在每一個需要的目錄下都存放一個相同的文件,而只需將其他目錄下的文件用ln命令鏈接即可,這樣就不必重復(fù)地占用磁盤空間。
(2)格式。
ln[選項]目標(biāo)目錄
(3)常見參數(shù)。
n -s建立符號鏈接(這也是通常惟一使用的參數(shù))。
(4)使用實例。
[root@localhosttest]#ln-s../genromfs-0.5.1.tar.gz./hello
[root@localhosttest]#ls-l
total77948
lrwxrwxrwx1rootroot24Jan1400:25hello->../genromfs-0.5.1.tar.gz
該實例建立了當(dāng)前目錄的hello文件與上級目錄之間的符號鏈接,可以看見,在hello的ls–l中的第一位為“l”,表示符號鏈接,同時還顯示了鏈接的源文件。
(5)使用說明。
n ln命令會保持每一處鏈接文件的同步性,也就是說,不論改動了哪一處,其他的文件都會發(fā)生相同的變化。
n ln的鏈接分軟鏈接和硬鏈接兩種。
軟鏈接就是上面所說的ln-s****,它只會在用戶選定的位置上生成一個文件的鏡像,不會重復(fù)占用磁盤空間,平時使用較多的都是軟鏈接。
硬鏈接是不帶參數(shù)的ln****,它會在用戶選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論