ln(即link)的功能是爲某一個文件在另外一個位置建立一個同步的鏈接。
有兩種鏈接方式,一種是硬鏈接(hard link),另一種是符號鏈接(symbolic link),又稱軟鏈接。
硬鏈接和原有文件是存儲在同一物理地址的兩個不同的名字,因此硬鏈接是相互的;
符號鏈接的內容只是一個所鏈接文件的文件名,在使用ls –l時,符號鏈接的第一項的第一位爲“l”。
當在不同的目錄,用到相同的文件時,可以不需要在每一個需要的目錄下都放一個必須相同的文件,只要在某個固定的目錄,放上該文件,然後在其它的目錄下用ln命令鏈接(link)它就可以,不必重複的佔用磁盤空間。
例如:ln -s /lib64/libc-2.14.so /lib64/libc.so.6
這個命令最常用的參數是-s, 是代號(symbolic)的意思。
用ls -l命令去察看,可以看到顯示的link的路徑了
有三點要注意:
第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;
第二,ln的鏈接又軟鏈接 和硬鏈接兩種,軟鏈接就是ln -s src dst,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁盤空間,硬鏈接ln src dst,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
第三,指向一個文件的所有 硬鏈接都刪掉的話文件的內容纔會被刪掉軟鏈接只要刪掉了源鏈接文件,軟鏈接也就失效了
創建軟鏈接
ln -s [源文件或目錄] [目標文件或目錄]
例如:當前路徑創建libc.so.6引向/lib64/libc-2.14.so文件夾
ln –s /lib64/libc-2.14.so libc.so.6
刪除軟鏈接
例如:刪除libc.so.6 rm –rf libc.so.6
修改軟鏈接
這將會修改原有的鏈接地址爲新的地址
ln –snf [新的源文件或目錄] [目標文件或目錄]
例如:
創建一個軟鏈接
ln -snf libc-2.14.so libc.so.6
修改指向的新路徑
ln –snf libc-2.14.so libc.so.6.bak
-一個------------------------有思想的分割----------------線--------
可以ln –help 查看詳細。
常用的參數:
-b 刪除,覆蓋以前建立的鏈接
-d 允許超級用戶製作目錄的硬鏈接
-f 強制執行
-i 交互模式,文件存在則提示用戶是否覆蓋
-n 把符號鏈接視爲一般目錄
-s 軟鏈接(符號鏈接)
-v 顯示詳細的處理過程