linux?文件管理命令之dirname?\?find?\?finds?\?in?\?indir詳解
dirname:顯示文件除名字外的路徑
- 作用:顯示文件除名字外的路徑。
- 用法:dirname 名稱 dirname 選項
- 主要選項如下:
命令 | 描述 |
---|---|
--help | 顯示此幫助信息并退出。 |
--version | 輸出版本信息并退出。 |
案例練習(xí)
(1)查看/usr/bin/sort 路徑。
# dirname /usr/bin/sort /usr/bin
(2)查看 stdio.h 路徑。
dirname stdio.h
find:查找目錄或者文件
- 作用:查找文件或目錄。 使用權(quán)限:所有用戶。
- 用法:
find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
- 主要選項如下:
命令 | 描述 |
---|---|
path...路徑 | 告訴 find 在哪兒去找用戶要的東西。 |
-exec find | 對匹配的文件執(zhí)行該參數(shù)所給出的其他 linux 命令。相應(yīng)命令的形式為’ 命令 - and’ {} ;,注意{ }和;之間的空格。 |
-ok | 和- exec 的作用相同,只不過和會人交互而已,OK 執(zhí)行前會向用戶確認(rèn)是不是要執(zhí)行。find 命令的主要參數(shù)如下。 |
-name | 按照文件名查找文件。 |
-perm | 按照文件權(quán)限查找文件。 |
-prune | 使用這一選項可以使 find 命令不在當(dāng)前指定的目錄中查找,如果同時使用了-depth 選項,那么-prune 選項將被 find 命令忽略。 |
-user | 按照文件屬主查找文件。 |
-group | 按照文所屬的組查找文件。 |
-mtime -n +n | 按照文件的更改時間查找文件,-n 表示文件更改時間距現(xiàn)在 n 天以內(nèi),+n 表示文件更改時間距現(xiàn)在 n 天以前。find 命令還有-atime 和-ctime 選項,但它們都和-mtime 選項相似,所以在這里只介紹-mtime 選項。 |
-nogroup | 查找無有效所屬組的文件,即該文件所屬的組在/etc/groups 中不存在。 |
-nouser | 查找無有效屬主的文件,即該文件的屬主在/etc/passwd 中不存在。 |
-newer file1 ! file2 | 查找更改時間比文件 file1 新但比文件 file2 舊的文件。 |
-type | 查找某一類型的文件。 |
-size n[c] | 查找文件長度為 n 塊的文件,帶有 c 時表示文件長度以字節(jié)計。 |
-depth | 在查找文件時,首先查找當(dāng)前目錄中的文件,然后再在其子目錄中查找。 |
-fstype | 查找位于某一類型文件系統(tǒng)中的文件,這些文件系統(tǒng)類型通??梢栽谂渲梦募?etc/fstab 中找到,該配置文件中包含了本系統(tǒng)中有關(guān)文件系統(tǒng)的信息。 |
-mount | 在查找文件時不跨越文件系統(tǒng) mount 點。 |
-follow | 如果 find 命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。 |
-cpio | 對匹配的文件使用 cpio 命令,將這些文件備份到磁帶設(shè)備中。 |
案例練習(xí)
find 命令查找文件的 5 種方法如下。
(1)文件名查找法。
find / -name named.conf
(2)快速查找文件法。
如果知道文件存放在某個目錄中,那么只要在這個目錄中往下尋找就能節(jié)省很多時間。比 如 named.conf 文件,從它的文件擴(kuò)展名“.conf”可以判斷這是一個配置文件,那么它應(yīng)該在/etc 目錄內(nèi),此時可以使用下面的命令:
find /etc -name named.conf
(3)根據(jù)部分文件名查找法。 有時僅知道某個文件包含有 abdd 這 4 個字符,那么要查找系統(tǒng)中所有包含這 4 個字符的 文件,可以輸入下面的命令:
find / -name '*abdd*'
輸入這個命令以后,Linux 系統(tǒng)將會在“/”目錄中查找所有包含 abdd 這 4 個字符的文件 (其中“*”是通配符),比如 abddrmyz 等符合條件的文件都能顯示出來。
(4)根據(jù)文件的特征查找法。
有時知道某個文件的大小、修改日期、所屬用戶等特征,也可以使用“find”命令查找出 文件來。例如,查找在系統(tǒng)中屬于已經(jīng)作廢用戶的文件,可以使用下面的命令:
find / -nouser
(5)混合查找方式查找法。
find 命令可以使用混合查找的方法。例如,要想在“/home”目錄中查找大于 500 000 字節(jié), 并且屬于 cao 用戶的文件,可以使用-and(與)把兩個查找參數(shù)連接起來組合成一個混合的查 找方式。
find /home -size +500000c -and -user cao
findfs:通過列表或用戶 ID 查找文件系統(tǒng)
作用:用來查找指定卷標(biāo)的文件系統(tǒng)。
用法:
findfs LABEL=<label> findfs UUID=<uuid>
主要選項如下:
LABEL=<label>:卷標(biāo)名稱。 UUID=<uuid>:分區(qū)的 UUID 號。
說明 隨著 Linux 系統(tǒng)中硬盤容量和數(shù)目的增加,Linux 系統(tǒng)中的分區(qū)數(shù)量也越來越多, 使用 findfs 命令可以通過卷標(biāo)名稱或 UUID 號快速定位分區(qū)位置
案例練習(xí)
查找卷標(biāo)名稱是“/var/ftp”的分區(qū)位置,使用如下命令:
#findfs LABEL=/var/ftp /dev/hda9
ln:鏈接文件或目錄
作用:鏈接文件或目錄。
用法:
? ln [選項] [源文件或目錄] [目標(biāo)文件或目錄]
? ln [選項] [源文件或目錄…] [目的目錄]
主要選項如下:
命令 | 描述 |
---|---|
-b–backup | 刪除、覆蓋目標(biāo)文件之前的備份。 |
-d-F–directory | 建立目錄的硬鏈接。 |
-f–force | 強(qiáng)行建立文件目錄的鏈接,不論文件目錄是否存在。 |
-i–interactive | 覆蓋既有文件之前先詢問用戶。 |
-n–no-dereference | 把符號鏈接的目的目錄視為一般文件。 |
-s–symbolic | 對源文件建立符號鏈接,而非硬鏈接。 |
-S<字尾備份字符串>–suffix=<字尾備份字符串> | 用“-b”參數(shù)備份目標(biāo)文件后,備份文件的字尾會被加上一個備份字符串,預(yù)設(shè)的字尾備份字符串是符號“~”,可通過“-S”參數(shù)來改變它。 |
-v–verbose | 顯示命令執(zhí)行過程。 |
-V<備份方式>–version-control=<備份方式> | 用“-b”參數(shù)備份目標(biāo)文件后,備份文件的字尾會被加上一個備份字符串,這個字符串不僅可用“-S”參數(shù)變更,當(dāng)使用“-V”參數(shù)<備份方式>指定不同的備份方式時,也會產(chǎn)生不同字尾的備份字符串。 |
–help | 在線幫助。 |
–version | 顯示版本信息。 |
說明 ln 命令用于鏈接文件或目錄。如果同時指定兩個以上的文件或目錄,且最后的目 的地是一個已經(jīng)存在的目錄,則會把前面指定的所有文件或目錄復(fù)制到該目錄中。若 同時指定多個文件或目錄,且最后的目的地并非一個已存在的目錄,則會出現(xiàn)錯誤信息。
鏈接有兩種,一種被稱為硬鏈接(Hard Link),另一種被稱為符號鏈接(Symbolic Link)。 建立硬鏈接時,鏈接文件和被鏈接文件必須位于同一個文件系統(tǒng)中,并且不能建立指向目錄的 硬鏈接。而對于符號鏈接,則不存在這個問題。默認(rèn)情況下,ln 產(chǎn)生硬鏈接。
在硬鏈接的情況下,參數(shù)中的“目標(biāo)”被鏈接至[鏈接名]。如果[鏈接名]是一個目錄名, 系統(tǒng)將在該目錄之下建立一個或多個與“目標(biāo)”同名的鏈接文件,鏈接文件和被鏈接文件的內(nèi) 容完全相同。如果[鏈接名]是一個文件,用戶將被告知該文件已存在且不進(jìn)行鏈接。如果指定 了多個“目標(biāo)”參數(shù),那么最后一個參數(shù)必須為目錄。
案例練習(xí)
(1)為當(dāng)前目錄下的文件 lunch 創(chuàng)建一個符號鏈接/home/xu。
$ ln - s lunch /home/xu
說明 給 ln 命令加上-s 選項,則建立符號鏈接。如果[鏈接名]已經(jīng)存在,但不是目錄, 將不進(jìn)行鏈接。[鏈接名]可以是任何一個文件名(可包含路徑),也可以是一個目錄, 并且允許它與“目標(biāo)”不在同一個文件系統(tǒng)中。如果[鏈接名]是一個已經(jīng)存在的目錄, 系統(tǒng)將在該目錄下建立一個或多個與“目標(biāo)”同名的文件,此新建的文件實際上是指 向原“目標(biāo)”的符號鏈接文件。
(2)創(chuàng)建到一個文件的另一個鏈接。
#ln -f chap1 intro
這會將 chap1 鏈接到新的名稱 intro。如果 intro 不存在,則會創(chuàng)建該文件名。如果 intro 已 經(jīng)存在,那么這個文件會被替換為指向 chap1 的一個鏈接,然后 chap1 和 intro 文件名會指向同 一個文件。對這里面任何一個文件的更改都會出現(xiàn)在另一個文件中。如果一個文件名被 rm 命 令刪除,那么該文件并沒有完全被刪除,因為它依舊以其他名字存在。
(3)將文件鏈接為另一個目錄中的相同名字。
#ln index manual
這會將 index 鏈接到新名稱 manual/index。
(4)將幾個文件鏈接為另一個目錄中的名稱。
ln chap2 jim/chap3 /home/manual
這會將 chap2 鏈接到新名稱/home/manual/chap2,將 jim/chap3 鏈接到新名稱/home/ manual/chap3。
(5)在不指明目標(biāo)文件參數(shù)的情況下得到相同的結(jié)果。
ln -s /tmp/toc
lndir:鏈接目錄內(nèi)容
- 作用:鏈接目錄內(nèi)容。
- 用法:lndir [-ignorelinks] [-silent] [源目錄] [目的目錄]
主要選項如下:
命令 | 描述 |
---|---|
-ignorelinks | 直接建立符號鏈接的符號鏈接。 |
-silent | 不顯示命令執(zhí)行過程。 |
說明 執(zhí)行 lndir 命令,可一口氣把源目錄下的文件和子目錄統(tǒng)統(tǒng)建立起相互對應(yīng)的符號 鏈接。
到此這篇關(guān)于linux 文件管理命令:dirname \ find \ finds \ in \ indir的文章就介紹到這了,更多相關(guān)linux 文件管理命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Shell腳本實現(xiàn)檢測某ip網(wǎng)絡(luò)暢通情況(含短信報警功能)
這篇文章主要介紹了Shell腳本實現(xiàn)檢測某ip網(wǎng)絡(luò)暢通情況(含短信報警功能),本文腳本針對一個服務(wù)器IP進(jìn)行檢查,也可改造一下,執(zhí)行個多個IP的檢查,需要的朋友可以參考下2014-12-12實現(xiàn)釋放CentOS系統(tǒng)內(nèi)存的Shell腳本分享
這篇文章主要介紹了實現(xiàn)釋放CentOS系統(tǒng)內(nèi)存的Shell腳本分享,本文對一些小內(nèi)存的VPS特別有用,需要的朋友可以參考下2014-12-12linux shell中實現(xiàn)循環(huán)日期的實例代碼
這篇文章主要介紹了linux shell中實現(xiàn)循環(huán)日期的實例代碼,文中還給大家提到了LINUX SHELL遍歷日期(指定輸入兩個日期)的實現(xiàn)方法,感興趣的朋友跟隨小編一起看看吧2018-09-09Linux執(zhí)行.sh文件時提示No such file or directory該怎么辦(三種解決辦法)
本文通過三種方法給大家介紹Linux執(zhí)行.sh文件,提示No such file or directory錯誤的解決辦法,感興趣的朋友跟著小編一起學(xué)習(xí)學(xué)習(xí)吧2015-10-10Linux batch命令詳解(在系統(tǒng)不繁忙的時候執(zhí)行定時任務(wù))
batch命令 用于在指定時間,當(dāng)系統(tǒng)不繁忙時執(zhí)行任務(wù),用法與at相似,這篇文章主要介紹了Linux batch命令(在系統(tǒng)不繁忙的時候執(zhí)行定時任務(wù)),需要的朋友可以參考下2024-02-02查看某時間段到現(xiàn)在的系統(tǒng)日志的sed命令
查看某時間段到現(xiàn)在的系統(tǒng)日志的sed命令,需要的朋友可以參考下2013-02-02