大家都知道,有的時候,我們為了省下空間,都會使用鏈接的方式來進行引用操作。同樣的,在系統級別也有。在Windows系列中,我們稱其為快捷方式,在Linux中我們稱其為鏈接(基本上都差不多了,其中可能有差別,但是那又怎樣呢?我們只要實現我們的效果,誰會有精力去管它茴香的茴字有幾種寫法呢?)。
Windows老姑娘的那幾個姿勢這里就不贅述了,我們今天主要說下Linux中的茴香的茴字怎么寫。說錯了,是Linux中的軟鏈接怎么操作。
在Linux中,鏈接分為軟的和硬的,至於兩者之間有什么差別,大家可以參考下https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/
鏈接繞不過ln/link 命令(當然,如果你用圖形界面的話,接寫來你就當我說的是廢話了,您可以直接關閉當前頁面了)。關於ln的命令詳解,我們在后面再說。
創建軟鏈接
ln -s [源文件或目錄] [目標文件或目錄]
例如:
當前路徑創建test 引向/var/www/test 文件夾
ln –s /var/www/test test
創建/var/test 引向/var/www/test 文件夾
ln –s /var/www/test /var/test
刪除軟鏈接
和刪除普通的文件是一樣的,刪除都是使用rm來進行操作
rm –rf 軟鏈接名稱(請注意不要在后面加”/”,rm –rf 后面加不加”/” 的區別,可自行去百度下啊)
例如:
刪除test
rm –rf test
修改軟鏈接
ln –snf [新的源文件或目錄] [目標文件或目錄]
這將會修改原有的鏈接地址為新的地址
例如:
創建一個軟鏈接
ln –s /var/www/test /var/test
修改指向的新路徑
ln –snf /var/www/test1 /var/test
一 建立軟鏈接和硬鏈接的語法
軟鏈接:ln -s 源文件 目標文件
硬鏈接:ln 源文件 目標文件
源文件:即你要對誰建立鏈接
二 什么是軟鏈接和硬鏈接
1,軟鏈接可以理解成快捷方式。它和windows下的快捷方式的作用是一樣的。
2,硬鏈接等於cp -p 加 同步更新。
為了方便說明,我在根分區(/)下建立test文件夾,然后新建了一個jys

建立軟鏈接和硬鏈接:

區別: 軟鏈接文件的大小和創建時間和源文件不同。軟鏈接文件只是維持了從軟鏈接到源文件的指向關系(從jys.soft->jys可以看出),不是源文件的內容,大小不一樣容易理解。
硬鏈接文件和源文件的大小和創建時間一樣。硬鏈接文件的內容和源文件的內容一模一樣,相當於copy了一份。

但是簡單的copy的文件創建文件的時間應該是復制文件時的時間,肯定不會像硬鏈接那樣和創建源文件的時間相同。你想的沒錯。

但是只要加一個選項-p,時間就一樣了


那么cp -p的文件是不是就相當於硬鏈接了呢?其實不然,對於源文件的內容有修改,硬鏈接文件會同步更新修改,始終保持和源文件的內容相同,而復制的文件則不可能做到這一點。

所以,硬鏈接等於cp -p加同步更新。
軟鏈接像快捷方式,方便我們打開源文件,這一點在windows中深有體會,那硬鏈接有哪些應用呢?
在多用戶的操作系統里,你寫一個腳本,程序等,沒有完成,保存后等下次有時間繼續寫,但是其他用戶有可能將你未寫完的東西當成垃圾清理掉,這時,你對你的程序,腳本等做一個硬鏈接,利用硬鏈接的同步更新,就可以方式,別人誤刪你的源文件了。
-------------------------我是有深度的分割線------------------------
如果您想更深入的了解,可以ln –help 查看詳細。
常用的參數:
-b 刪除,覆蓋以前建立的鏈接
-d 允許超級用戶制作目錄的硬鏈接
-f 強制執行
-i 交互模式,文件存在則提示用戶是否覆蓋
-n 把符號鏈接視為一般目錄
-s 軟鏈接(符號鏈接)
-v 顯示詳細的處理過程
(當前路徑創建test 引向/var/www/test 文件夾 )
