天天看點

Linux指令(19):ln指令

ln指令

功能說明

    ln指令用來在檔案或目錄之間建立連結。

    Linux下的連結有兩種,一種是硬連結(Hard Link),另一種是符号連結(Symbolic Link也就是常說的軟連結),預設使用ln指令建立的是硬連結。

  • 硬連結

    是指通過檔案的inode來進行連結。在Linux的檔案系統中,儲存在磁盤的所有類型的檔案都會配置設定一個編号,這

個編号稱為inode号(Inode Index)。多個檔案指向同一個inode在Linux系統中是允許的,這就是所謂的硬連結。硬連結的作用是允許一個檔案擁有多個有效的路徑名,這樣使用者就可以對一些重要檔案建立硬連結,以防止誤删除操作。因為對就該檔案的inode有一個以上的連結,是以隻删除一個連結并不影響inode本身和其他連結,隻有當最後一個連結被删除後,檔案的資料塊及目錄的連結才會釋放,也就是說,此時檔案才會被真正删除。

  • 符号連結

    也叫軟連結,軟連結類似于Windows的快捷方式,是以軟連結是一個指向真正的檔案或者目錄位置的符号連接配接。

用法如下

硬連結  ln file link

軟連結  ln -s item link      這裡的item可以是檔案也可以是目錄

指令參數

選項 含義
-f 如果在目标位置存在與連結名相同的檔案,這個檔案将被删除
-s 進行軟連結
-d 允許系統管理者硬連結自己的目錄
-b 對将在連結時會被覆寫或者删除的檔案進行備份

示例

    不帶參數,将檔案硬連結

[root@c7 shell]# ln test.sh htest.sh                           #對源檔案test.sh建立硬連結

[root@c7 shell]# ls -li                                               #可以看到二個檔案inode号相同

總用量 8

68033834 -rw-r--r--. 2 root root 4 11月 11 16:47 htest.sh

68033834 -rw-r--r--. 2 root root 4 11月 11 16:47 test.sh

[root@c7 shell]# ln htest.sh /tmp/                            #連結到另一個目錄,目标可以不寫檔案名

[root@c7 shell]# ls -li /tmp/                                     #相同名稱的硬連結,inode号也相同

總用量 32

 68033834 -rw-r--r--. 4 root root     4 11月 11 16:47 htest.sh

101282617 -rw-------. 1 root root 26843 11月 10 15:58 yum_save_tx.2016.r6hAcv.yumtx

    使用-b參數,連結前先備份

[root@c7 shell]# ln -b htest.sh test.sh                      #-b硬連結前先備份

[root@c7 shell]# ls -li                                               #以~結尾的就是備份檔案

總用量 12

68033834 -rw-r--r--. 4 root root 4 11月 11 16:47 htest.sh

68033834 -rw-r--r--. 4 root root 4 11月 11 16:47 test.sh

68033834 -rw-r--r--. 4 root root 4 11月 11 16:47 test.sh~

    -s軟連結,将/etcinittab檔案符号連結到/opt下

[root@c7 ~]# ln -s /etc/inittab /opt                           

[root@c7 ~]# ls -li /opt/inittab                                #下面是軟連結的顯示,inode号不同