linux 創建連接命令 ln -s 軟連接


ln 的功能是為某一個文件在另外一個位置建立一個同步的鏈接
這個命令最常用的參數是-s,
具體用法是:ln -s 源文件 目標文件
 
當在不同的目錄,用到相同的文件時,可以不需要在每一個需要的目錄下都放一個必須相同的文件,只要在某個固定的目錄,放上該文件,然后在其它的目錄下用ln命令鏈接(link)它就可以,不必重復的占用磁盤空間。
例如:ln -s /bin/hello.sh /usr/local/bin/hello         -s 是代號(symbolic)的意思
 
這 里有兩點要注意:
第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;
第二,ln的鏈接又軟鏈接 和硬鏈接兩種,
軟鏈接就是ln -s src  dst,它只會在你選定的位置上生成一個文件的鏡像,不會占用磁盤空間,
硬鏈接ln src  dst,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。  
連接的刪除:
直接 rm dst
例如:rm /usr/local/bin/hello
 
如果你用ls察看一個目錄時,發現有的文件后面有一個@的符號,那就是一個用ln命令生成的文件,用ls -l命令去察看,就可以看到顯示的link的路徑了。

book@ubuntu:/home/shell$ ./hello.sh 
hello
book@ubuntu:/home/shell$ sudo ln -s hello.sh /bin/hhello
book@ubuntu:/home/shell$ 
book@ubuntu:/home/shell$ 
book@ubuntu:/home/shell$ hhello
No command 'hhello' found, did you mean:
 Command 'hello' from package 'hello-debhelper' (main)
 Command 'hello' from package 'hello' (main)
hhello: command not found
book@ubuntu:/home/shell$ sudo ln  hello.sh /bin/hhello1
book@ubuntu:/home/shell$ hhello1 
hello


我們可以發現,建立軟鏈接后,不可以運行,但是建立硬鏈接后,是可以運行的!

部分內容轉自:http://blog.csdn.net/williamfan21c/article/details/53524853


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM