目录
cp 命令参数
Linux cp(英文全拼:copy file)命令主要用于复制文件或目录。
语法
cp [options] source dest
或
cp [options] source… directory
参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
实例
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
$ cp –r source/ dest
注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R 。
2.cp -rf 出现复制不覆盖文件问题
一般我们在linux系统使用命令cp -rf 复制并覆盖文件,会提示文件覆盖确认操作。
输入alias命令,显示 cp=‘cp -i’, cp命令被系统设置了别名,-i参数是文件覆盖提示确认操作,可以看到别名 ,也就是当执行cp的时候,其实执行的是cp -i参数
3.解决文件复制覆盖提示操作问题,以下四种方式,供大家参考使用。
方法1:编写带cp的路径复制覆盖文件
[root@localhost ~]# /bin/cp -rf 源码文件 目标文件
方法2:在CP命令前面加一个斜杠\,实现强制覆盖文件
[root@localhost ~]# \cp -rf 源码文件 目标文件
我用的这个
方法3:取消cp命令别名,去掉 cp 命令的别名,这时你再用 cp -rf 复制文件时,就不会提示确认.
#取消cp命令别名
[root@localhost ~]# unalias cp
[root@localhost ~]# cp -rf 源码文件 目标文件
#复制完成后恢复别名
[root@localhost ~]# alias cp=‘cp -i’
方法4:编辑~/.bashrc文件注释掉cp的alias,在alias cp=’cp -i’前加上”#”注释,修改后,重新登录即可实现复制不提示。一定要重新登录系统,不然不生效;
[root@localhost ~]# vi ~/.bashrc
[root@localhost ~]# cp -rf 源码文件 目标文件
感谢大佬:https://blog.csdn.net/qq_27608711/article/details/126549682