Linux cp 命令,主要用来复制文件和目录的Linux常用命令,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能。
你可以用Xshell工具登录你的服务器测试这个Linux常用命令: Xshell+Xftp 优秀的Linux VPS管理工具使用教程
[root@localhost ~]# cp [选项] 源文件 目标文件
Linux cp 命令选项 | Linux cp 后面带参数的效果 |
---|---|
-a | 相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍; |
-d | 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接; |
-i | 询问,如果目标文件已经存在,则会询问是否覆盖; |
-l | 把目标文件建立为源文件的硬链接文件,而不是复制源文件; |
-s | 把目标文件建立为源文件的软链接文件,而不是复制源文件; |
-p | 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间); |
-r | 递归复制,用于复制目录; |
-u | 若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。 |
Linux cp 命令 源文件可以有多个,但这种情况下,目标文件必须是目录才可以。
复制到另外目录
[root@localhost ~]# cp backup.sh /home/wwwroot/
代码解释: 用Linux cp命令将backup.sh文件复制到 /home/wwwroot/
你可以使用 Xshell+Xftp 优秀的Linux VPS管理工具使用教程 查看是否修改过去了
Linux cp 改名复制
[root@localhost ~]# cp backup.sh backup.sh.bk
代码解释: 用Linux cp命令将backup.sh文件复制为backup.sh.bk
因为我们有时候会去修改配置文件,为了快速备份,将文件复制为 .bk后缀方便以后识别,同时快速备份.
[root@localhost ~]# cp ceshi.php /home/tmp/ceshi2.php
将文件ceshi.php复制到目录/home/tmp下,并改名为ceshi2.php
不过这样权限会变更为root,你可以使用ls命令查看效果,稍后我会说明
当然你也可以在后缀加上备份日期,方便多个配置文件备份保存,比如:
[root@localhost ~]# cp backup.sh backup.sh.2020.02.20.bk
将当前目录”test/”下的所有文件复制到新目录”newtest”下
[root@localhost ~]#cp –r test/ newtest
注意事项:用户使用该指令复制目录时,必须使用参数”-r”或者”-R”。
当我们执行备份、曰志备份的时候,这些文件的时间可能是一个重要的参数,这就需执行 “-p” 选项了。这个选项会保留源文件的属性,包括所有者、所属组和时间。
[root@localhost ~]# cp -p backup.sh /home/wwwroot/
这样文件所属的用户组与权限不会改变.
比如我们一个文件的所属用户组是 www ,不用 -p 选项进行复制,文件的所属用户组会变更为 root[由于复制命令由root用户执行,]
可以通过Linux ls查看文件所属用户组以及权限.
当我们在Linux vps下使用cp命令复制文件时候,有时候会需要覆盖一些同名文件,覆盖文件的时候都会有提示:需要不停的按Y来确定执行覆盖,如果几百个文件就需要按几百次Y。
这时可以通过
[root@localhost ~]#\cp -r -a aaa/* /bbb/
注意前面加了\