您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Linux下的符號(hào)鏈接怎么使用”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Linux下的符號(hào)鏈接怎么使用”吧!
主要有兩種類型的符號(hào)鏈接,即:
**硬鏈接:**硬鏈接是指向文件系統(tǒng)中的文件或目錄的直接指針。硬鏈接只能在與目標(biāo)文件相同的文件系統(tǒng)中創(chuàng)建。
**軟連接:**軟鏈接是文件或目錄的間接快捷方式,可以存在于文件系統(tǒng)中的任何位置。軟鏈接可以指向不同文件系統(tǒng)中的文件。
如何創(chuàng)建符號(hào)鏈接
要在 Linux 中創(chuàng)建符號(hào)鏈接,我們使用 ln
命令。執(zhí)行不帶選項(xiàng)的命令會(huì)創(chuàng)建指向指定目標(biāo)文件的硬鏈接。
ln
命令的一般語(yǔ)法是:
ln [OPTIONS]
如要?jiǎng)?chuàng)建軟鏈接,需要添加 -s
選項(xiàng):
ln -s [OPTION]
以下命令在我們的主目錄中創(chuàng)建指向/var/log/audit/audit.log
文件的軟鏈接:
[root@localhost ~]# ln -s /var/log/audit/audit.log ~/audit.log
以下命令在我們的主目錄中創(chuàng)建指向/var/log
目錄的軟鏈接:
[root@localhost ~]# ln -s /var/log ~/log
要?jiǎng)h除符號(hào)鏈接,我們使用命令 unlink
后跟要?jiǎng)h除的符號(hào)鏈接的路徑。
[root@localhost ~]# unlink ~/log
下圖可看到,log的快捷方式?jīng)]有了。
注意:如果刪除目標(biāo)文件或目錄,請(qǐng)記得刪除符號(hào)鏈接,因?yàn)榉?hào)鏈接不會(huì)隨著文件的刪除而刪除。
每個(gè)符號(hào)鏈接都會(huì)指向一個(gè)目標(biāo)文件或目錄(除非損壞)。要獲取符號(hào)鏈接的目標(biāo)文件/目錄,我們使用readlink
命令顯示符號(hào)鏈接的目標(biāo)。
例如,要獲取我們?cè)谇懊娌糠种袆?chuàng)建的 audit.log
文件的目標(biāo),我們可以執(zhí)行以下操作:
[root@localhost ~]# readlink ~/audit.log/var/log/audit/audit.log
我們可以創(chuàng)建一個(gè)簡(jiǎn)單的 bash 腳本,該腳本接受路徑并列出所有符號(hào)鏈接及其目標(biāo)文件或目錄:
[root@localhost ~]# vim symlink.sh#!/bin/bashread -p "Provide the directory to evaluate: " target_dircd $target_dirlinks=$(find . -maxdepth 1 -type l -ls | awk '{print $11}')for link in $linksdo echo "$link -> $(readlink $link)"done
該腳本首先詢問(wèn)用戶要獲取的目錄。然后,腳本轉(zhuǎn)到提供的目錄并找到目錄中的所有符號(hào)鏈接,并將輸出傳遞給awk
命令。
awk
輸出并定位符號(hào)鏈接,并將它們保存到一個(gè)名為 links 的變量中。
然后我們創(chuàng)建一個(gè)循環(huán),抓取links變量中的每個(gè)鏈接,并使用 readlink
命令獲取它們的目標(biāo)位置。
最后,顯示符號(hào)鏈接和目標(biāo)目錄。下面是一個(gè)示例輸出:
[root@localhost ~]# ./symlink.shProvide the directory to evaluate: /etc ./rc.local -> rc.d/rc.local ./redhat-release -> centos-release ./system-release -> centos-release ./init.d -> rc.d/init.d ./rc0.d -> rc.d/rc0.d ./rc1.d -> rc.d/rc1.d ./rc2.d -> rc.d/rc2.d ./rc3.d -> rc.d/rc3.d ./rc4.d -> rc.d/rc4.d ./rc5.d -> rc.d/rc5.d ./rc6.d -> rc.d/rc6.d ./localtime -> ../usr/share/zoneinfo/Asia/Shanghai ./mtab -> ../proc/self/mounts ./yum.conf -> dnf/dnf.conf ./grub2.cfg -> ../boot/grub2/grub.cfg
到此,相信大家對(duì)“Linux下的符號(hào)鏈接怎么使用”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。