91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux下符號鏈接的具體使用方法

在 Linux 底下的連結(jié)檔有兩種,一種是類似 Windows 的快捷方式功能的文件,可以讓你快速的鏈接到目標(biāo)文件(或目錄),這種是軟鏈接; 另一種則是透過文件系統(tǒng)的 inode 連結(jié)來產(chǎn)生新檔名,而不是產(chǎn)生新文件!這種稱為硬鏈接 (hard link),下面為大家分享一下Linux下符號鏈接的具體使用方法。

創(chuàng)新互聯(lián)是專業(yè)的福清網(wǎng)站建設(shè)公司,福清接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行福清網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

符號鏈接的類型

主要有兩種類型的符號鏈接,即:

**硬鏈接:**硬鏈接是指向文件系統(tǒng)中的文件或目錄的直接指針。硬鏈接只能在與目標(biāo)文件相同的文件系統(tǒng)中創(chuàng)建。

**軟連接:**軟鏈接是文件或目錄的間接快捷方式,可以存在于文件系統(tǒng)中的任何位置。軟鏈接可以指向不同文件系統(tǒng)中的文件。

如何創(chuàng)建符號鏈接

要在 Linux 中創(chuàng)建符號鏈接,我們使用 ln 命令。執(zhí)行不帶選項(xiàng)的命令會(huì)創(chuàng)建指向指定目標(biāo)文件的硬鏈接。

ln 命令的一般語法是:

ln [OPTIONS]

如要?jiǎng)?chuàng)建軟鏈接,需要添加 -s 選項(xiàng):

ln -s [OPTION]

實(shí)例一:創(chuàng)建文件的軟連接

以下命令在我們的主目錄中創(chuàng)建指向/var/log/audit/audit.log文件的軟鏈接:

[root@localhost ~]# ln -s /var/log/audit/audit.log ~/audit.log

Bash 腳本實(shí)例:獲取符號鏈接的目標(biāo)位置Bash 腳本實(shí)例:獲取符號鏈接的目標(biāo)位置

實(shí)例二:創(chuàng)建目錄的軟連接

以下命令在我們的主目錄中創(chuàng)建指向/var/log目錄的軟鏈接:

[root@localhost ~]# ln -s /var/log ~/log

Bash 腳本實(shí)例:獲取符號鏈接的目標(biāo)位置Bash 腳本實(shí)例:獲取符號鏈接的目標(biāo)位置

如何刪除符號鏈接

要?jiǎng)h除符號鏈接,我們使用命令 unlink 后跟要?jiǎng)h除的符號鏈接的路徑。

[root@localhost ~]# unlink ~/log

下圖可看到,log的快捷方式?jīng)]有了。 注意:如果刪除目標(biāo)文件或目錄,請記得刪除符號鏈接,因?yàn)榉栨溄硬粫?huì)隨著文件的刪除而刪除。

如何獲取符號鏈接的目標(biāo)文件或目錄

每個(gè)符號鏈接都會(huì)指向一個(gè)目標(biāo)文件或目錄(除非損壞)。要獲取符號鏈接的目標(biāo)文件/目錄,我們使用readlink命令顯示符號鏈接的目標(biāo)。

例如,要獲取我們在前面部分中創(chuàng)建的 audit.log 文件的目標(biāo),我們可以執(zhí)行以下操作:

[root@localhost ~]# readlink ~/audit.log
/var/log/audit/audit.log

獲取符號鏈接的 Bash 腳本

我們可以創(chuàng)建一個(gè)簡單的 bash 腳本,該腳本接受路徑并列出所有符號鏈接及其目標(biāo)文件或目錄:

[root@localhost ~]# vim symlink.sh
#!/bin/bash
read -p "Provide the directory to evaluate: " target_dir
cd $target_dir
links=$(find . -maxdepth 1 -type l -ls | awk '{print $11}')
for link in $links
do
   echo "$link -> $(readlink $link)"
done

該腳本首先詢問用戶要獲取的目錄。然后,腳本轉(zhuǎn)到提供的目錄并找到目錄中的所有符號鏈接,并將輸出傳遞給awk命令。

awk 輸出并定位符號鏈接,并將它們保存到一個(gè)名為 links 的變量中。

然后我們創(chuàng)建一個(gè)循環(huán),抓取links變量中的每個(gè)鏈接,并使用 readlink 命令獲取它們的目標(biāo)位置。

最后,顯示符號鏈接和目標(biāo)目錄。下面是一個(gè)示例輸出:

[root@localhost ~]# ./symlink.sh
Provide 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

Bash 腳本實(shí)例:獲取符號鏈接的目標(biāo)位置Bash 腳本實(shí)例:獲取符號鏈接的目標(biāo)位置

總結(jié)

本文介紹了如何在 Linux 中使用符號鏈接的基礎(chǔ)知識。然后我們創(chuàng)建了一個(gè)簡單的腳本來查找指定目錄中的符號鏈接并顯示它們的源和目標(biāo)位置。


分享文章:Linux下符號鏈接的具體使用方法
網(wǎng)站鏈接:http://m.jiaoqi3.com/article/dppojej.html