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.来源文件是否为目录