舉例:
1.對某個檔案建立一個串連
[root@A ~]# ln -s /home/kk/ss.sh ~ #如果不寫目標地址,即在目前的目錄建接立連結
[root@A ~]# ls
CentOS-Base.repo.oldboy anaconda-ks.cfg install.log install.log.syslog ss.sh此命令表示在家目錄下建立與源檔案同名的連結到/home/kk/ss.sh 符號串連
[root@A ~]# ln -s /home/kk/ss.sh ~/dd
[root@A ~]# ls
CentOS-Base.repo.oldboy anaconda-ks.cfg dd install.log install.log.syslog
此命令表示在家目錄下建立連結到/home/kk/ss.sh 並且名字為dd的符號串連(前提是在家目錄下沒有abc這個目錄)
2.對某個目錄建立符號串連
[root@A home]# ln -s /home/kk /home/abc
[root@A home]# ls
abc apache kk oldboy
[root@A home]# cd abc
[root@A abc]# ls
ss.sh
此命令表示在/home目錄下建立一個連結到/home/kk目錄的名字為abc的符號串連。
[root@A home]# rm abc
rm: remove symbolic link `abc'? y #刪除所作目錄連結時的提示
[root@A ~]# ln -s /tmp ~/
[root@A ~]# ls
CentOS-Base.repo.oldboy anaconda-ks.cfg install.log install.log.syslog tmp
此命令表示在家目錄下建立一個與源檔案夾同名的符號串連
3.對某個檔案建立一個硬串連
[root@A ~]# ln /home/kk/ss.sh ~/
[root@A ~]# ls -l
total 60
-rw-r--r-- 1 root root 2239 Oct 24 09:30 CentOS-Base.repo.oldboy
-rw------- 1 root root 1074 Nov 10 12:28 anaconda-ks.cfg
-rw-r--r-- 1 root root 26403 Nov 10 12:28 install.log
-rw-r--r-- 1 root root 4378 Nov 10 12:28 install.log.syslog
-rw-r--r-- 2 root root 82 Dec 26 14:31 ss.sh
此命令表示在家目錄下建立與源檔案同名的連結到/home/kk/ss.sh永久連結,而且目標檔案的顏色和原來一樣,
ls –l也無法顯示連結的路徑
[root@A ~]# ln /home/kk/ss.sh ~/abc
[root@A ~]# ls
CentOS-Base.repo.oldboy abc anaconda-ks.cfg install.log install.log.syslog
此命令表示在家目錄下建立連結到/tmp/abc.txt 並且名字為abc的永久連結(前提是在家目錄下沒有abc這個目錄)
abc目錄己存在的情況
[root@A ~]# mkdir abc
[root@A ~]# ls
CentOS-Base.repo.oldboy abc anaconda-ks.cfg install.log install.log.syslog
[root@A ~]# ln /home/kk/ss.sh ~/abc #做永久連結
[root@A ~]# ls
CentOS-Base.repo.oldboy abc anaconda-ks.cfg install.log install.log.syslog
[root@A ~]# cd abc
[root@A abc]# ls
ss.sh
源檔案是目錄不可以做永久連結
[root@A ~]# ln /home/kk ~/abc
ln: `/home/kk': hard link not allowed for directory
4.參數 -v的用法
永久連結:
[root@A home]# ln -v /home/kk/ss.sh /home #加上參數v後,
create hard link `/home/ss.sh' to `/home/kk/ss.sh' #會用文字顯示源檔案到目標的連結
[root@A home]# ls
apache kk oldboy ss.sh
[root@A home]# ln -vs /home/kk/ss.sh /home #建立名子相同的軟連結
create symbolic link `/home/ss.sh' to `/home/kk/ss.sh' #會用文字顯示源檔案到目標的連結
ln: creating symbolic link `/home/ss.sh' to `/home/kk/ss.sh': File exists #同時也出現了己存在提示
軟連結
[root@A home]# ln -vs /home/kk/ss.sh /home/dd #加上參數v後的軟連結
create symbolic link `/home/dd' to `/home/kk/ss.sh' #會用文字顯示源檔案到目標的連結
[root@A home]# ls
apache dd kk oldboy ss.sh
青綠色的軟連結,跟原來顏色一樣的是永久連結
5.-f的用法
[root@A home]# ls
apache dd kk oldboy ss.sh #dd 是己存在軟連結;ss.sh是己存在永久連結
[root@A home]# ln -s -f /home/kk/ss.sh /home #建立/home/kk/ss.sh的軟連結
[root@A home]# ls
apache dd kk oldboy ss.sh #上面加了f參數,ss.sh現在是軟連結
[root@A home]# ln /home/kk/ss.sh /home/dd #建立/home/kk/ss.sh 的永久連結,名子同樣是dd
ln: creating hard link `/home/dd' to `/home/kk/ss.sh': File exists #提示出現了,己存在
[root@A home]# ln -f /home/kk/ss.sh /home/dd #加上f參數後,提示沒有了
[root@A home]# ls
apache dd kk oldboy ss.sh #dd變成連結了,
-f的主要過程:先將同名的軟連結dd刪除,然後再建立永久連結dd
6.-d和-b的用法
[root@A home]# ln /home/kk /home/dd #建立永久連結不允許
ln: `/home/kk': hard link not allowed for directory #不允許對目錄建立永久連結
[root@A home]# ln -F /home/kk /home/dd #加上-d參數
ln: creating hard link `/home/dd' to `/home/kk': Operation not permitted #為什麼還是不行呀。
7.-i的用法
[root@A home]# ln -s /home/kk/ss.sh #建立軟連結
[root@A home]# ls #查看
apache kk oldboy ss.sh
[root@A home]# ln -fi /home/kk/ss.sh #加上-f參數刪除同名的,加上-i參數-在刪除之前給出提示
ln: replace `./ss.sh'? #提示
[root@A home]# ln -fi /home/kk/ss.sh
ln: replace `./ss.sh'? n #我選擇了n
[root@A home]# ls #查看
apache kk oldboy ss.sh #還存在
[root@A home]# ln -fb /home/kk/ss.sh #加上參數b
[root@A home]# ls #查看
apache kk oldboy ss.sh ss.sh~ #之前存在的軟連結被更名備份了,然後建立同名的永久連結