分类: LINUX
2011-11-24 13:40:59
cp 命令用于复制文件或目录。注意,默认情况下,该命令只复制文件内容,文件属性不会被复制。
如果您复制文件时需要保持其属性值也不变的话,请使用-p选项,详情见下。
介绍几个比较实用的参数选项:
常用选项:
-a, –archive
与同时指定 -dpR 这三个选项效果一样,用于复制整个目录,包括目录中的子目录等都递归的复制,而且还要保持文件的访问模式,所有者,时间戳等属性与原文件一样。
一般这个选项最实用了^_^. 我就经常使用这个选项
-i, –interactive
覆盖目标文件时给与提醒.默认cp命令覆盖目标文件时是不会提示的,很多Linux发行版里的cp都被设置别名`cp -i`,其实作用就是给用户一个提醒。如果你不想被提示,那么请这样输入:\cp source target,或者使用cp命令的绝对路径/bin/cp
-L, –dereference
跟随符号连接。这个默认选项。举个例子:
# ll /tmp/goods.xml
-rw-r--r-- 1 root root 466074 Oct 30 14:57 /tmp/goods.xml
ln -s /tmp/goods.xml /tmp/tsteln
# cp /tmp/tsteln /tmp/Release1029/
# ll Release1029/tsteln
-rw-r--r-- 1 root root 466074 Oct 30 16:36 Release1029/tsteln
-P, –no-dereference
不跟随符号连接. 也即保持连接原状,我想这才是我们大部分人想要的吧。例子接上:
# cp -P tsteln Release1029
# ll Release1029/tsteln
lrwxrwxrwx 1 root root 14 Oct 30 16:40 Release1029/tsteln -> /tmp/goods.xml
默认都不是我想要的,悲剧啊,看来这些命令的默认设置应该好好地考虑下从工作需要的实际需求出发为原则。
-u, –update
只有当 SOURCE 比目标文件新时,或则目标文件不存在时才复制。此选项一般用于备份。目前还没试用。
综上,我平时操作中用得最多的选项为aP。
cp -aP