cp -s 和ln -s有什么区别

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

cp -s 和ln -s有什么区别

#1

帖子 木泥黑 » 2008-11-13 9:40

同样是创建连接,有什么区别呢
ryoohki
帖子: 3249
注册时间: 2008-10-28 20:18

Re: cp -s 和ln -s有什么区别

#2

帖子 ryoohki » 2008-11-13 12:53

CP 是将源目标复制一个
ln 只是将2个进行捆绑
bingyuan
帖子: 244
注册时间: 2007-09-17 16:20

Re: cp -s 和ln -s有什么区别

#3

帖子 bingyuan » 2008-11-13 13:08

ln类似于Win下的快捷方式
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: cp -s 和ln -s有什么区别

#4

帖子 木泥黑 » 2008-11-13 13:55

代码: 全选

root@ubuntu:~# cp -s test.php stest.php
root@ubuntu:~# ls -l
lrwxrwxrwx 1 root root        8 2008-11-13 00:52 stest.php -> test.php
-rw-r--r-- 1 root root       55 2008-11-11 22:45 test.php
root@ubuntu:~# ln -s test.php lnstest.php
root@ubuntu:~# ls -l
lrwxrwxrwx 1 root root        8 2008-11-13 00:52 lnstest.php -> test.php
lrwxrwxrwx 1 root root        8 2008-11-13 00:52 stest.php -> test.php
-rw-r--r-- 1 root root       55 2008-11-11 22:45 test.php
怎么我用这两个命令的效果一样的呢
ryoohki
帖子: 3249
注册时间: 2008-10-28 20:18

Re: cp -s 和ln -s有什么区别

#5

帖子 ryoohki » 2008-11-13 14:20

打个比喻 你有个文件 可以是文本文件里面的内容写着 123 我们给这个文件取名 a 你有另一个文件也是文本文件,你面的内容写着 xyz 文件取名 b
你现在用 CP 做链接的话 就会用 a 这个文件 把 b 文件覆盖掉,你打开a或b 任意一个文件的内容里面是 123 , 那个写着 xyz 的 b文件 没有了, 如果你用 ln 来做链接 你再打开a或b文件内容显示 123xyz ,a和b文件的内容合并了.
ln 命令的引深应用:你有2个文件目录一个叫 B ,在它下面有若干文件 比如 1 、 2、3、4 、z(这个文件是重点) 另一个叫 S 它下面有也有若干文件 a、 b、 c、 d、 z(这个文件和B下的同名但是内容不同),如果用 CP做两个文件目录链接B文件目录写在前面S在后面,做完链接后打开B或S任意目录显示它们下面的文件有 1 、 2、3、4 、a、 b、 c、 d、z(这个文件是原来B目录下的z,S的那个因为和B的z同名因为B文件在做链接是写在是做为源目标来除理的因此就把S目录下的z文件覆盖掉了),改用ln 来做链接 就会变成 a、 b、 c、 d、 z(这个文件和B下的同名但是内容不同),如果用 ln 做两个目录链接后打开B或S任意目录显示它们下面的文件有 1 、 2、3、4 、a、 b、 c、 d、z、z, z文件出现2个.

另外说明下 CP 这条命令我们可以把它看作M$ 系统的 copy 命令来就不难理解其中的运作原理了
binghuen
帖子: 156
注册时间: 2008-07-19 15:00
来自: 浙江
联系:

Re: cp -s 和ln -s有什么区别

#6

帖子 binghuen » 2008-11-13 14:33

建议看看鸟哥的私房菜,里面有详细介绍
CP是复制命令
LN是建立连结档,又分为两种 Hard Link和Symbolic Link 有点类似WIN下的快捷方式,但又不完全一样
Hard Link使用后,新的连结档一般来说不会占用空间,但你修改了新的LINK,源文件也会被改变
Symbolic Link相对来说更像WIN下的快捷方式,你如果删除了源文件,新的连结档就会打不开
但HARD LINK的限制比较多,所以还是SYMBOLIC LINK用的比较多

这些都是这几天看教程学到的,有错误的话,还请高手指点
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: cp -s 和ln -s有什么区别

#7

帖子 木泥黑 » 2008-11-15 9:03

谢谢5楼和6楼,我懂了
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: cp -s 和ln -s有什么区别

#8

帖子 自由建客 » 2008-11-15 9:09

bingyuan 写了:ln类似于Win下的快捷方式
.desktop 文件才类似于Win下的快捷方式,Windows 的 junction 才类似于 UNIX 的软链接。
至于 cp -s 和 ln -s 的确没什么区别,有的仅仅是 ln -s 在没有源的情况下也可以用。当 /usr/opt 并不存在时 ln -s /usr/opt /opt 也能成功。
头像
木泥黑
帖子: 1339
注册时间: 2008-10-18 12:41

Re: cp -s 和ln -s有什么区别

#9

帖子 木泥黑 » 2008-11-15 9:18

谢谢楼上指教
回复