這是linux中一個非常重要命令,請大家一定要熟悉。它的功能是為某一個檔案或目錄在另外一個位置建立一個同步的連結,類似Windows下的超級連結。
這個命令最常用的參數是-s,具體用法是:
sudo ln -s 源檔案 目標檔案
當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每一個需要的目錄下都放一個必須相同的檔案,我們只要在某個固定的目錄放上該檔案,然後在其它的目錄下用ln命令連結(link)它就可以,不必重複的佔用磁碟空間。
例如:sudo ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin
-s 是代號(symbolic)的意思。
若是可執行檔,一般我們將其連結到/sbin的目錄下,這樣可以直接輸入檔案名稱執行命令了,而不需要帶上目錄位址。
如在上例執行下面兩個語句是等價的
yajiu@yajiu-desktop:~$ mysqladmin -uroot -p password ubuntu
yajiu@yajiu-desktop:~$ /usr/local/mysql/bin/mysqladmin -uroot -p password ubuntu
這裡有兩點要注意:
第一,ln命令會保持每一處連結檔案的同步性,也就是說,不論你改動了哪一處,其它的檔案都會發生相同的變化;
第二,ln的連結又軟連結和永久連結兩種,軟連結就是ln -s ** **,它只會在你選定的位置上產生一個檔案的鏡像,不會佔用磁碟空間,永久連結ln ** **,沒有參數-s, 它會在你選定的位置上產生一個和源檔案大小相同的檔案,無論是軟連結還是永久連結,檔案都保持同步變化。
如果你用ls察看一個目錄時,發現有的檔案右上方有一個箭頭,那就是一個用ln命令產生的檔案,用ls -l命令去察看,就可以看到顯示的link的路徑了
語 法:ln [-bdfinsv][-S <字尾備份字串>][-V <備份方式>][--help][--version][源檔案或目錄][目標檔案或目錄] 或 ln [-bdfinsv][-S <字尾備份字串>][-V <備份方式>][--help][--version][源檔案或目錄...][目的目錄]
補充說明:ln指令用在串連檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有檔案或目錄複寫到該目錄中。若同時指定多個檔案或目錄,且最後的目的地並非是一個已存在的目錄,則會出現錯誤資訊。
參 數:
-b或--backup #刪除,覆蓋目標檔案之前的備份
-d或-F或--directory #建立目錄的硬串連
-f或--force #強行建立檔案或目錄的串連,不論檔案或目錄是否存在
-i或--interactive #覆蓋既有檔案之前先詢問使用者
-n或--no-dereference #將符號串連的目的目錄視為一般檔案
-s或--symbolic #對源檔案建立符號串連,而非硬串連
-S<字尾備份字串>或--suffix=<字尾備份字串> #用"-b"參數備份目標檔案