linux 軟連結是什麼

2022-06-17 18:01:24

在linux中,軟連線相當於windows中的快捷方式,以路徑的形式存在;在軟連線中,檔案實際上是一個文字檔案,其中包含的有另一檔案的位置資訊。建立軟連線的語法為「ln -s target source」,引數「target」表示目標檔案(夾),即被指向的檔案(夾),而引數「source」表示當前目錄的軟連線名,即原始檔(夾)。

本教學操作環境:linux7.3系統、Dell G3電腦。

Linux連結分兩種,一種被稱為硬連結(Hard Link),另一種被稱為符號連結(Symbolic Link),又稱軟連結。

Linux軟連線

相當於windows中的快捷方式,由於軟連線所建立的檔案為一個獨立的新的檔案,所以會佔用掉indoe與block

它實際上是一個特殊的檔案。在軟連線中,檔案實際上是一個文字檔案,其中包含的有另一檔案的位置資訊。

  • 軟連結,以路徑的形式存在。類似於Windows作業系統中的快捷方式

  • 軟連結可以 跨檔案系統 ,硬連結不可以

  • 軟連結可以對一個不存在的檔名進行連結

  • 軟連結可以對目錄進行連結

1、建立語法

ln -s target source

解釋下:

ln -s:表示建立一個軟連線;

target:表示目標檔案(夾)【即被指向的檔案(夾)】

source:表示當前目錄的軟連線名。【原始檔(夾)】

2 具體範例

  • step 1.建立測試檔案及資料夾
[root@server6 ~]# mkdir test_chk
[root@server6 ~]# touch test_chk/test.txt 
[root@server6 ~]# echo "hello spark" > test_chk/test.txt 
[root@server6 ~]# cat test_chk/test.txt 
hello spark
[root@server6 ~]# ll
總用量 84
-rw-------.  1 root root  1257 6月  16 01:17 anaconda-ks.cfg
drwxr-xr-x. 25 root root  4096 11月  1 10:28 azkabanJob
-rw-r--r--.  1 root root 67322 11月  4 10:24 azkabanJob.zip
drwxr-xr-x.  4 root root    37 7月  13 11:01 hadoop_temp
-rw-r--r--.  1 root root    54 7月   4 14:11 HelloLinux.txt
drwxr-xr-x.  2 root root    22 11月  4 10:41 test_chk
-rw-r--r--.  1 root root    67 10月  8 15:52 zookeeper.out
[root@server6 ~]# ln -s test_chk/ test_chk_ln
[root@server6 ~]# ll
總用量 84
-rw-------.  1 root root  1257 6月  16 01:17 anaconda-ks.cfg
drwxr-xr-x. 25 root root  4096 11月  1 10:28 azkabanJob
-rw-r--r--.  1 root root 67322 11月  4 10:24 azkabanJob.zip
drwxr-xr-x.  4 root root    37 7月  13 11:01 hadoop_temp
-rw-r--r--.  1 root root    54 7月   4 14:11 HelloLinux.txt
drwxr-xr-x.  2 root root    22 11月  4 10:41 test_chk
lrwxrwxrwx.  1 root root     9 11月  4 10:42 test_chk_ln -> test_chk/
-rw-r--r--.  1 root root    67 10月  8 15:52 zookeeper.out
[root@server6 ~]# cd test_chk_ln/
[root@server6 test_chk_ln]# ll
總用量 4
-rw-r--r--. 1 root root 12 11月  4 10:41 test.txt
[root@server6 test_chk_ln]# cat test.txt 
hello spark
[root@server6 test_chk_ln]# ll
總用量 4
-rw-r--r--. 1 root root 12 11月  4 10:41 test.txt
[root@server6 test_chk_ln]# cat test.txt 
hello spark

注意

1、建立軟連線時,不用建立資料夾。

2、命令範例解釋

執行的命令是: ln -s /storage/lawson/scores scor

其含義就是:將scor指向 /storage/lawson/scores/目錄下

在這裡插入圖片描述

這裡是當前的scor 指向 /storage/lawson/scores 中。這裡顯示紅色,是因為/storage/lawson/scores這個目錄不存在,如果建立該目錄,那就可以得到藍色的顯示了。

在這裡插入圖片描述
需要注意的是,當前所有目錄下的檔案都不能重名,因為我之前有一個資料夾是scores,所以這裡就簡單的命名成了scor

軟連線的刪除

rm -rf ./test_chk_ln/ 會刪除資料夾下的所有內容,但是沒有刪除這個連結;
rm -rf ./test_chk_ln 則是僅刪除這個軟連結,不會刪除下面的內容。

  • 錯誤示範
[root@server6 test_chk_ln]# cd ..
[root@server6 ~]# ll
總用量 84
-rw-------.  1 root root  1257 6月  16 01:17 anaconda-ks.cfg
drwxr-xr-x. 25 root root  4096 11月  1 10:28 azkabanJob
-rw-r--r--.  1 root root 67322 11月  4 10:24 azkabanJob.zip
drwxr-xr-x.  4 root root    37 7月  13 11:01 hadoop_temp
-rw-r--r--.  1 root root    54 7月   4 14:11 HelloLinux.txt
drwxr-xr-x.  2 root root    22 11月  4 10:41 test_chk
lrwxrwxrwx.  1 root root     9 11月  4 10:42 test_chk_ln -> test_chk/
-rw-r--r--.  1 root root    67 10月  8 15:52 zookeeper.out
[root@server6 ~]# rm -rf ./test_chk_ln/
[root@server6 ~]# ll
總用量 84
-rw-------.  1 root root  1257 6月  16 01:17 anaconda-ks.cfg
drwxr-xr-x. 25 root root  4096 11月  1 10:28 azkabanJob
-rw-r--r--.  1 root root 67322 11月  4 10:24 azkabanJob.zip
drwxr-xr-x.  4 root root    37 7月  13 11:01 hadoop_temp
-rw-r--r--.  1 root root    54 7月   4 14:11 HelloLinux.txt
drwxr-xr-x.  2 root root     6 11月  4 10:42 test_chk
lrwxrwxrwx.  1 root root     9 11月  4 10:42 test_chk_ln -> test_chk/
-rw-r--r--.  1 root root    67 10月  8 15:52 zookeeper.out
[root@server6 ~]# cd test_chk
[root@server6 test_chk]# ll
總用量 0
[root@server6 test_chk]# ll
總用量 0

可以發現該資料夾下的內容都被刪了。。。

  • 正確刪除軟連線
[root@server6 ~]# rm -rf ./test_chk_ln
[root@server6 ~]# ll
總用量 84
-rw-------.  1 root root  1257 6月  16 01:17 anaconda-ks.cfg
drwxr-xr-x. 25 root root  4096 11月  1 10:28 azkabanJob
-rw-r--r--.  1 root root 67322 11月  4 10:24 azkabanJob.zip
drwxr-xr-x.  4 root root    37 7月  13 11:01 hadoop_temp
-rw-r--r--.  1 root root    54 7月   4 14:11 HelloLinux.txt
drwxr-xr-x.  2 root root    22 11月  4 10:44 test_chk
-rw-r--r--.  1 root root    67 10月  8 15:52 zookeeper.out
[root@server6 ~]# cd test_chk/
[root@server6 test_chk]# ll
總用量 4
-rw-r--r--. 1 root root 12 11月  4 10:44 test.txt

相關推薦:《Linux視訊教學

以上就是linux 軟連結是什麼的詳細內容,更多請關注TW511.COM其它相關文章!