cp是linux中最基础常用的命令,主要用于复制文件或目录。语法:
cp [options] source dest
或
cp [options] source... directory
参数说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件
cp是有一定危险的操作,所以当覆盖目标文件时,默认会询问用户是否覆盖。具体原因是因为cp的别名会带上 -i参数:
[root@localhost log]# alias cp alias cp='cp -i'
当复制文件夹和大量文件时,一个一个去确认会很麻烦,有2种方式可以解决
1、永久关闭当前用户下的cp别名配置
sed -i "s/alias cp='cp -i'/#alias cp='cp -i'/g" ~/.bashrc source ~/.bashrc
2、屏蔽当前命令使用别名
cp -f test1.txt test2.txt
这个是转义符,可以把魔法(别名)取消。
参考资料:
https://www.runoob.com/linux/linux-shell.html