Linux命令之CP命令

Linux中复制文件的命令我们都知道是CP命令

 

但是有一些选项可能我们这些小白没怎么注意过

下面来总结一下cp命令的一些选项和注意事项

1、当我们复制一个链接文档的时候,不加任何选项的话,是复制这个连接文档所指向的文档

cp file_link /tmp  :file_link文件是一个链接文件,这条命令是将file_link所指向的文件复制过去

cp -d file_link /tmp    :通过加上-d选项,可以将file_link的链接文件复制过去,并保存其与源文件之间的链接,不加-d的时候,复制的是链接文件指向的源文件。


2、当我们以root身份去复制一个普通用户的文件的时候,在不加任何选项的前提下,被复制过来的文件的属主和数组都改成了root了

如果我们想要保持被复制的文件的属主和属组不被改变的话,我们就是用-a选项,来保留源文件的这些不被改变

cp -a file1 file2   : 这样的话file3就可以保留了file1的属主和属组了。

但是请注意,此时的用户是root,如果用户是普通的user,我们复制的时候,即使加上-a选项,也没办法保留root的权限。


3、当我们需要把一个非空目录复制到另一个目录下的时候,我们必须使用-r选项才能复制过去

-r 选项代表了递归复制该目录下的所有文件,但是文件的权限可能会被改变


4、当我们想为某个文件创建连接档的时候,使用-s选项,相当于创建了一个快捷方式

cp -s file file_link  :为file创建一个连接档:file_link


 

5、-u选项:当目标档案与原档案有差异时才会被复制(常用作备份)

cp -u file file_copy

当file的数据被更新的时候,才会复制


 

6、将file1,file2。。。复制到/tmp下

cp file1 file2 /tmp

将多个文件复制到同一个目录下是被允许的,但是最后一个必须要是目录:


 

当我们使用cp命令的时候,一定要注意:

1.是否需要完整的保留来源档案的信息?

2.来源档案是否为连接档

3.来源当是否为特殊档案,例如FIFO,socket

4.来源文件是否为目录

 

posted @ 2017-09-29 14:33  money云  阅读(481)  评论(0编辑  收藏  举报