shell查找符號(hào)鏈接及其指向目標(biāo)的方法介紹
在類(lèi)unix系統(tǒng)中,符號(hào)鏈接是很常見(jiàn)的,我們會(huì)碰到各種與符號(hào)鏈接相關(guān)的處理工作。
本文為大家介紹一些處理符號(hào)鏈接的實(shí)踐方法,希望對(duì)大家編寫(xiě)shell腳本時(shí)帶來(lái)一些幫助,有需要的朋友不妨參考下。
1、符號(hào)鏈接可以看作是指向其它文件的指針。它在功能上類(lèi)似于Mac OS中的別名或windows中的快捷方式,記住是類(lèi)似,而非就是哦。
2、刪除符號(hào)鏈接不會(huì)影響到原始的文件。
創(chuàng)建符號(hào)鏈接:
$ ln -s target symbolic_link_name
例如:
$ ln -s /var/www/ ~/web
這個(gè)命令在已登錄用戶(hù)的home目錄中創(chuàng)建了一個(gè)名為web的符號(hào)鏈接。這個(gè)鏈接指向/var/www/。這些信息可以從下面的命令輸出中看到:
$ ls web
lrwxrwxrwx 1 slynux slynux 8 2013-02-07 19:16 web -> /var/www
上面顯示信息中的:web -> /var/www 表明web指向/var/www。
對(duì)于每個(gè)符號(hào)鏈接而言,權(quán)限標(biāo)記部分以字母"l"作為起始,表示這是一個(gè)符號(hào)鏈接。
因此,為了打印出當(dāng)前目錄下的符號(hào)鏈接,可以使用下面的命令:
$ ls -l | grep "^l" | awk '{print $8}'
grep對(duì) ls -l 的輸出進(jìn)行過(guò)濾,只顯示以l起始的那些行。^是字符串起始標(biāo)記。awk用來(lái)打印出第8列,也就是文件名部分。
另一種方法是用find打印符號(hào)鏈接,如下所示:
$ find . -type l -print
在上面的命令中,將find命令的type參數(shù)指定為"l",告訴 find 只搜索符號(hào)鏈接文件。
-print 選項(xiàng)將符號(hào)鏈接列表打印到標(biāo)準(zhǔn)輸出(stdout)。而"."表示從當(dāng)前目錄開(kāi)始搜索。
使用下面的命令,可以打印出符號(hào)鏈接的指向目標(biāo):
$ ls -l web | awk '{print $10}'
/var/www
ls -l命令輸出的每一行都對(duì)應(yīng)一個(gè)文件的詳細(xì)信息。
ls -l web會(huì)將符號(hào)鏈接文件web的詳細(xì)信息全部列出。輸出的第10列包含文件指向的目標(biāo)(如果這是一個(gè)符號(hào)鏈接的話(huà))。
因此,為了找出與符號(hào)鏈接相關(guān)聯(lián)的目標(biāo),我們可以用awk打印出文件的詳細(xì)列表(ls -l的輸出)的第10列。
另外,我們也可以用readlink命令來(lái)完成同樣的任務(wù)。某些時(shí)候,這是應(yīng)該最優(yōu)先考慮的用法,其用法如下:
$ readlink web
/var/www
好了,有關(guān)bash中創(chuàng)建與查找符號(hào)鏈接的方法,就介紹到這了,希望對(duì)大家有所幫助。
相關(guān)文章
Shell腳本實(shí)現(xiàn)ftok函數(shù)
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)ftok函數(shù),ftok函數(shù)是操作系統(tǒng)底層中很有名的一個(gè)函數(shù),本文講在Shell中如何實(shí)現(xiàn)同樣算法的函數(shù),需要的朋友可以參考下2015-01-01awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結(jié)
這篇文章主要介紹了awk中RS、ORS、FS、OFS的區(qū)別和聯(lián)系小結(jié),用大量實(shí)例來(lái)說(shuō)明和講解,需要的朋友可以參考下2014-07-07Shell實(shí)現(xiàn)判斷進(jìn)程是否存在并重新啟動(dòng)腳本分享
這篇文章主要介紹了Shell實(shí)現(xiàn)判斷進(jìn)程是否存在并重新啟動(dòng)腳本分享,本文給出了兩個(gè)實(shí)現(xiàn)腳本,分簡(jiǎn)潔版和詳細(xì)版,需要的朋友可以參考下2014-09-09Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享
這篇文章主要介紹了Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享,本文同時(shí)提供了多種語(yǔ)言的實(shí)現(xiàn)方法,如awk、python、bash、C語(yǔ)言等,需要的朋友可以參考下2014-12-12Shell腳本實(shí)現(xiàn)批量生成nagios配置文件
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)批量生成nagios配置文件,本文使用配置文件模板加上文件替換的方法實(shí)現(xiàn)批量生成配置文件,需要的朋友可以參考下2015-07-07linux 獲取文件名稱(chēng)并生成列表txt的方法
今天小編就為大家分享一篇linux 獲取文件名稱(chēng)并生成列表txt的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06