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