关于linux cp命令的一d参数

其实我想讲的是 cp -L
关于-L参数的解释:
-L, --dereference
              always  follow symbolic links in SOURCE
意思是如果复制目标是1个软链接,则复制链接的目标 不是链接本身

做个例子: 例如 ~/tmp/fo1 入面有1个c.txt 文件  和 指向他的软链接,  而我想将距复制到 ~/tmp/fo2


当我执行

cp -L fo1/c1.txt fo2/

复制到fo2/c1.txt 是1个文件 内容等于 fo1/c.txt  相当于  把 fo1/c1.txt 的指想目标 fo1/c.txt 复制到fo2/ 并该名为c1.txt


注意: 其实在linux中, cp 不加参数的话 默认相当于 cp -L

如果想复制链接本身 有一个于 -L 对应的参数
-P, --no-dereference
              never  follow symbolic links in SOURCE

以上面的例子重做1次


可以见到复制到 fo2/的 c1.txt 也是1个链接。 但请注意, fo2/c1.txt 链接目标是 fo2/c.txt 而不是 fo1/c.txt,  而此时fo2/c.txt 是不存在的, 所以fo2/c1.txt 是1个空链。 

cp -P 呢个属性保留了文件之间的软链接属性。  呢个对复制1个包含软链和 軟链目标的文件夹很有用。

如果想复制fo2/c1.txt  而令距指想原来的fo1/c.txt 点算?
请用
ln -s fo1/c.txt fo2/c1.txt 做多1个軟链..
posted @ 2013-04-02 00:54  Gateman  阅读(518)  评论(0编辑  收藏  举报