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