linux ln鏈接命令
命令名稱:ln 英文原意:link 命令所在路徑:/bin/ln 執行權限:所有用戶 語法:ln -s [原文件] [目標文件]
-s
參數: 創建軟鏈接
軟鏈接就類似於Windows的快捷方式。箭頭指向源文件。
例子:
ln -s /etc/issue /tmp/issue.soft:創建/etc/issue文件的軟鏈接/tmp/issue.soft ln /etc/issue /tmp/issue.hard:創建/etc/issue文件的硬鏈接/tmp/issue.hard
軟鏈接(即創建快捷方式,可對文件和文件夾使用)
lrwxrwxrwx :l 代表 軟鏈接, rwxrwxrwx 代表 所有人擁有所有的操作權限。 但是軟鏈接就相當於快捷方式,只是為了方便使用,具體的操作權限還是要看源文件的權限。
/tmp/issue.soft -> /etc/issue :箭頭指向源文件。
修改軟鏈接
ln –snf [新的源文件或目錄] [目標文件或目錄]
這將會修改原有的鏈接地址為新的地址
創建一個軟鏈接
ln –s /var/www/test /var/test
修改指向的新路徑
ln –snf /var/www/test1 /var/test
刪除軟連接
硬鏈接
(相當於拷貝了一份但是可以同步更新,硬鏈接不可跨分區使用,不可對文件夾操作)
(硬鏈接不可針對目錄使用即不可以對文件夾拷貝,軟連接可以:即可對文件夾創建快捷方式)
軟硬鏈接區別
1.軟硬鏈接都可以同步更新 。刪除文件源文件軟連接找不到文件,硬鏈接可以找到,。就好像是cp -p
命令,是保存了文件屬性的拷貝。但是跟cp -p
最大的區別在於,這兩個文件可以同步更新。 我們在/etc/issue 文件中添加一句話,然后查看兩個文件的變化。
首先查看這兩個文件,發現內容是相同的:
然后我們在/etc/issue文件中添加一句話,再次查看兩個文件的區別:
我們發現兩個文件實現了同步的更新。 如果這個時候我們查看軟鏈接,發現內容也會發生變化,還是因為軟鏈接本身就是一個快捷方式,我們訪問的還是源文件。 但是如果我們這個時候刪除了源文件(這一步要提前做好備份),我們再查看軟鏈接和硬鏈接,看看有什么變化:
我們可以看到,在刪除了源文件之后,再次查看軟鏈接時,提示無法找到文件,而硬鏈接依然可以訪問,內容也沒有丟失。
2.可以通過 i 節點進行識別。
我們進行完上面的操作后,我們把源文件備份恢復,並且重新建立軟鏈接和硬鏈接。
我們利用ls -i查看這三個文件的i節點:
我們看到,源文件和硬鏈接的i節點是一樣的,而軟鏈接的i節點是不同的。
我們也可以得出一個結論,一個文件對應一個i節點,而一個i節點可以對應多個文件,硬鏈接就是一個很特殊的示例。
3.硬鏈接不可以跨分區使用,軟鏈接是可以的。
4.不能針對目錄使用,軟鏈接是可以的。(硬鏈接不可針對目錄使用即不可以對文件夾拷貝,軟連接可以:即可對文件夾創建快捷方式)