歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux ln命令 - 建立文件/目錄鏈接

Linux ln命令 - 建立文件/目錄鏈接

日期:2017/2/28 14:24:33   编辑:Linux教程

1. 使用方式:ln [option] source_file dist_file
-f 建立時,將同檔案名刪除.
-i 刪除前進行詢問.
ln -s abc cde 建立abc 的軟連接
ln abc cde 建立abc的硬連接,
2. 軟鏈接與硬鏈接的區別(通俗):

硬鏈接可認為是一個文件擁有兩個文件名;而軟鏈接則是系統新建一個鏈接文件,此文件指向其所要指的文件

ln -s /root/lntest/source/ /root/lntest/dist/

這裡看到軟鏈就是個快捷方式

3. 軟鏈接與硬鏈接的區別(講解):

Linux 軟連接與硬連接

對於一個文件來說,有唯一的索引接點與之對應,而對於一個索引接點號,卻可以有多個文件名與之對應。因此,在磁盤上的同一個文件可以通過不同的路徑去訪問該文件。注意在Linux下是一切皆文件的啊,文件夾、新加的硬盤 ...都可以看著文件來處理的啊。

連接有軟連接和硬連接(hard link)之分的,軟連接(symbolic link)又叫符號連接。符號連接相當於Windows下的快捷方式。

不可以對文件夾建立硬連接的,我們通常用的還是軟連接比較多。

eg:

ln -s source dist # 建立軟連接

ln -s /mnt/hgfs/ /home/luo/ 注意後面的“/” 是將目錄裡所有的文件鏈接過去,必須加上,否則,建立的目錄顯示顏色異常,還不能正常訪問,如cd 進不去

ln source dist # 建立硬連接

軟鏈接實際上只是一段文字,裡面包含著它所指向的文件的名字,系統看到軟鏈接後自動跳到對應的文件位置處進行處理;相反,硬聯接為文件開設一個新的目錄項,硬鏈接與文件原有的名字是平權的,在Linux看來它們是等價的。由於這個原因,硬鏈接不能連接兩個不同文件系統上的文件。

(1)軟連接可以 跨文件系統 ,硬連接不可以 。實踐的方法就是用共享文件把windows下的 aa.txt文本文檔連接到linux下/root目錄 下 bb,cc . ln -s aa.txt /root/bb 連接成功 。ln aa.txt /root/bb 失敗 。

(2)關於 I節點的問題 。硬連接不管有多少個,都指向的是同一個I節點,會把 結點連接數增加,只要結點的連接數不是 0,文件就一直存在,不管你刪除的是源文件還是 連接的文件 。只要有一個存在 ,文件就 存在 (其實也不分什麼源文件連接文件的 ,因為他們指向都是同一個 I節點)。 當你修改源文件或者連接文件任何一個的時候 ,其他的文件都會做同步的修改。軟鏈接不直接使用i節點號作為文件指針,而是使用文件路徑名作為指針。所以 刪除連接文件 對源文件無影響,但是刪除源文件,連接文件就會找不到要指向的文件 。軟鏈接有自己的inode,並在磁盤上有一小片空間存放路徑名.

(3)軟連接可以對一個不存在的文件名進行連接 。

(4)軟連接可以對目錄進行連接。

備注:I節點 :它是UNIX內部用於描述文件特性的數據結構.我們通常稱I節點為文件索引結點(信息結點).i節點含有關於文件的大部分的重要信息,包括文件數據塊在磁盤上的地址.每一個I節點有它自己的標志號,我們稱為文件順序號.I節點包含的信息 1.文件類型 2.文件屬主關系 3.文件的訪問權限 4.文件的時間截.

Copyright © Linux教程網 All Rights Reserved