系统相关
首页 > 系统相关> > Linux中cp命令的使用方法

Linux中cp命令的使用方法

作者:互联网

作为一个Linux管理员,在工作中怎么能少掉cp命令呢?毕竟对于搭建一个环境或者部署一个应用都少不了使用cp命令,为了能够把一个文件拷贝到另外一个目录,比如在docker镜像构建文件脚本中都经常用到cp命令,把一个配置文件目录拷贝到具体的路径下。

1,拷贝文件从一个目录到另外一个目录

通过使用"cp 源文件 目标文件"来拷贝一个文件,通过使用该命令来把源文件拷贝到目标文件中。

[root@sharplee creatfile]# cp hello.txt test1/test.txt

如何想要拷贝到目的目录下的文件名不发生改变,在拷贝目录下不用加文件名,直接添加拷贝目录即可。

[root@sharplee creatfile]# cp hello.txt test1/

2,拷贝多个文件到另外一个目录

cp命令可以拷贝多个文件到另外一个目录,通过以下命令来实现,前面是源文件,最后一个是要拷贝到的目录 。

[root@sharplee creatfile]# cp tt1.log tt3.log tt4.log test3/

如果要拷贝的文件名有多个并且文件的扩展名都相同的话,则可以使用以下方式全部把文件拷贝到另一个目录下。

[root@sharplee creatfile]# cp *.log test3/

3,拷贝时备份同名文件

通过cp命令来拷贝一个文件,有些是会进行交互提示是否重新同名文件,有些是不会提醒是否重新同名文件的,这个时候在拷贝文件时建议加上以下选项来对同名文件进行备份操作,备份操作会提示是否重写,选择是,接着会生成一个备份文件出来。

[root@sharplee creatfile]# cp --backup hello.txt test2/
         or
[root@sharplee sharplee]# cp -b hello.txt test2/

4,拷贝文件保留链接

执行 cp 命令时,如果源文件是链接文件,则将复制实际文件,而不是链接文件。如果您只想按原样复制链接文件,请指定选项 -d,如下所示:

[root@sharplee creatfile]# cp -d softlinkfile.txt test1/

5,拷贝不重写一个存在的文件

如果只想在目标文件不存在时进行复制,请使用选项 -n,如下所示。这样不会覆盖现有文件,并且 cp 命令将返回成功。

[root@sharplee creatfile]# cp -n hello.txt test1/

6,拷贝同名文件提示是否重写

当拷贝文件使用 -i 选项时,它将在覆盖文件之前要求确认,如下所示。

[root@sharplee creatfile]# cp hello.txt test1/

7,创建指向文件的硬链接(而不是复制)

通过cp命令来创建一个文件的硬链接,而不是复制,通过以下命令。

[root@sharplee sharplee]# cp -l hello.txt test4/

8,创建指向文件的硬链接(而不是复制)

通过cp命令来创建一个文件的硬链接,而不是复制,通过以下命令,最后test5/hello.txt 和上一级目录的hello.txt是相同的文件。

[root@sharplee sharplee]# cp -l hello.txt test5/

8,创建指向文件的软链接(而不是复制)

通过cp命令来创建一个文件的软链接,而不是复制,创建软连接文件只能在相同目录下进行操作,不能拷贝到其它目录。以下是创建软连接的实例。

[root@sharplee sharplee]# cp -s hello.txt hello1.txt

9,拷贝文件保留文件的属性

通过cp命令来拷贝文件,保留文件的模式,文件拥有的所有权,以及文件的时间戳等。

[root@sharplee sharplee]# cp -p hello.txt test6/

通过cp命令来拷贝文件,保留文件的模式通过以下命令,然而时间戳是已经被改变了,也可以使用时间戳改变模式改变时间戳。使用选项--preserve=timestamp。

[root@sharplee sharplee]# cp --preserve=mode hello.txt test6/

 

10,拷贝最新文件,旧文件不拷贝

通过cp命令来拷贝文件,只拷贝最新的文件,旧文件不进行拷贝,根据时间戳来看是否是最新的文件。

[root@sharplee sharplee]# cp -u hello.txt test6/

11,拷贝目录

通过cp -r命令来拷贝目录,把一个目录拷贝到另外一个目录。

[root@sharplee sharplee]# cp -r test7 test8/

12,拷贝多个目录

通过cp命令来拷贝多个目录,把多个目录拷贝到一个目录下。

[root@sharplee sharplee]# cp -r test6 test7 test8 test9 test10

总结:cp主要用于拷贝一个文件或者目录到另外一个文件或者目录,通过本文主要讲解了拷贝命令的使用方法,拷贝命令的使用还是得非常小心,不然使用不当,就会造成文件未备份导致文件被覆盖。

标签:文件,txt,sharplee,命令,Linux,拷贝,cp,root
来源: https://www.cnblogs.com/Hackerman/p/16062963.html