Loading... 本文转自:<a href="http://www.cnblogs.com/micky-zhou/archive/2012/08/01/2618203.html" target="_blank">http://www.cnblogs.com/micky-zhou/archive/2012/08/01/2618203.html</a> <strong>举例:</strong> <strong>1.</strong><strong>对某个文件创建一个连接</strong> [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这个目录) <strong>2.</strong><strong>对某个目录创建符号连接</strong> [root@A home]# ln -s /home/kk /home/abc [root@A home]# ls abc apache kk oldboy<!--more--> [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 此命令表示在家目录下创建一个与源文件夹同名的符号连接 <strong>3.</strong><strong>对某个文件创建一个硬连接</strong> [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 <strong>abc</strong> anaconda-ks.cfg install.log install.log.syslog [root@A ~]# ln /home/kk/ss.sh ~/abc <strong> #</strong><strong>做硬链接</strong> [root@A ~]# ls CentOS-Base.repo.oldboy <strong>abc</strong> anaconda-ks.cfg install.log install.log.syslog [root@A ~]# cd abc [root@A abc]# ls <strong>ss.sh</strong> <strong> </strong> <strong>源文件是目录不可以做硬链接</strong> [root@A ~]# ln /home/kk ~/abc <strong>ln: `/home/kk': hard link not allowed for directory</strong> <strong>4.</strong><strong>参数</strong><strong> -v</strong><strong>的用法</strong> <strong>硬链接:</strong> [root@A home]# ln -v /home/kk/ss.sh /home <strong>#</strong><strong>加上参数v</strong><strong>后,</strong> create hard link `/home/ss.sh' to `/home/kk/ss.sh' <strong>#</strong><strong>会用文字显示源文件到目标的链接</strong> [root@A home]# ls apache kk oldboy ss.sh [root@A home]# ln -vs /home/kk/ss.sh /home <strong>#</strong><strong>创建名子相同的软链接</strong> create symbolic link `/home/ss.sh' to `/home/kk/ss.sh' <strong>#</strong><strong>会用文字显示源文件到目标的链接</strong> ln: creating symbolic link `/home/ss.sh' to `/home/kk/ss.sh': File exists <strong>#</strong><strong>同时也出现了己存在提示</strong> <strong>软链接</strong> [root@A home]# ln -vs /home/kk/ss.sh /home/dd <strong>#</strong><strong>加上参数v</strong><strong>后的软链接</strong> create symbolic link `/home/dd' to `/home/kk/ss.sh' <strong>#</strong><strong>会用文字显示源文件到目标的链接</strong> [root@A home]# ls apache dd kk oldboy ss.sh 青绿色的软链接,跟原来颜色一样的是硬链接 <strong>5.-f</strong><strong>的用法</strong> [root@A home]# ls apache dd kk oldboy ss.sh <strong>#dd </strong><strong>是己存在软链接;ss.sh</strong><strong>是己存在硬链接</strong> [root@A home]# ln -s -f /home/kk/ss.sh /home <strong>#</strong><strong>创建/home/kk/ss.sh</strong><strong>的软链接</strong> [root@A home]# ls apache dd kk oldboy ss.sh <strong> #</strong><strong>上面加了f</strong><strong>参数,ss.sh</strong><strong>现在是软链接</strong> [root@A home]# ln /home/kk/ss.sh /home/dd <strong>#</strong><strong>创建/home/kk/ss.sh </strong><strong>的硬链接,名子同样是dd</strong> ln: creating hard link `/home/dd' to `/home/kk/ss.sh': File exists #提示出现了,己存在 [root@A home]# ln -f /home/kk/ss.sh /home/dd <strong>#</strong><strong>加上f</strong><strong>参数后,</strong><strong>提示没有了</strong> [root@A home]# ls apache dd kk oldboy ss.sh #dd变成链接了, -f的主要过程:先将同名的软链接dd删除,然后再创建硬链接dd <strong>6.-d</strong><strong>和</strong><strong>-b</strong><strong>的用法</strong> [root@A home]# ln /home/kk /home/dd <strong> #</strong><strong>创建硬链接不允许</strong> ln: `/home/kk': hard link not allowed for directory <strong>#</strong><strong>不允许对目录创建硬链接</strong> [root@A home]# ln -F /home/kk /home/dd <strong>#</strong><strong>加上-d</strong><strong>参数</strong> ln: creating hard link `/home/dd' to `/home/kk': Operation not permitted <strong>#</strong><strong>为什么还是不行呀?</strong> 7.-i的用法 [root@A home]# ln -s /home/kk/ss.sh <strong> #</strong><strong>创建软链接</strong> [root@A home]# ls <strong>#</strong><strong>查看</strong> apache kk oldboy ss.sh [root@A home]# ln -fi /home/kk/ss.sh #加上-f参数删除同名的,加上-i参数-在删除之前给出提示 ln: replace `./ss.sh'? <strong>#</strong><strong>提示</strong> <strong> </strong> [root@A home]# ln -fi /home/kk/ss.sh ln: replace `./ss.sh'? n <strong>#</strong><strong>我选择了n</strong> [root@A home]# ls <strong> #</strong><strong>查看</strong> apache kk oldboy ss.sh <strong>#</strong><strong>还存在</strong> [root@A home]# ln -fb /home/kk/ss.sh <strong>#</strong><strong>加上参数b</strong> [root@A home]# ls <strong>#</strong><strong>查看</strong> apache kk oldboy ss.sh ss.sh~ <strong>#</strong><strong>之前存在的软链接被更名备份了,然后创建同名的硬链接</strong> Last modification:June 25, 2021 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 如果解决了你的困扰, 赏杯咖啡吧!
One comment
学习了 不错