linux下文件复制命令cp
发布日期: 2024-06-30
FontSize: 【小 中 大】
cp 命令是在Unix和类Unix操作系统(如Linux)中用于复制文件和目录的命令。
基本语法
cp [options] source destination
source:要复制的源文件或目录的路径。
destination:目标路径,可以是文件名或目录名。
复制文件到目标路径
cp file1.txt /path/test/
将 file1.txt 复制到 /path/test/ 目录中。
复制多个文件到目录
cp file1.txt file2.txt /path/test/
将 file1.txt 和 file2.txt 复制到 /path/test/ 目录中。
递归复制目录及其内容
cp -r dir /path/test/
将dir下所有的文件和目录复制到/path/test/目录中。
-r 或 --recursive 参数用于递归复制目录及其所有内容。
保留原文件属性
cp -a file1.txt /path/test/
将 file1.txt 复制到 /path/test/ 目录中,并保留文件属性。
-a 或 --archive 参数会保留文件的所有属性(包括权限、时间戳等),通常用于备份目的。
强制覆盖目标文件
cp -f file1.txt /path/test/file1.txt
将 file1.txt 复制到 /path/test/ 目录中,如果文件已存在,强制覆盖。
-f 或 --force 参数强制复制,如果目标文件已存在,则覆盖。
实际运用中,会收到是否覆盖的提示cp: overwrite……?
例如:
yes | cp -rf /en/. /cn/
该命令会将en目录下的所有目录和文件复制到cn目录下,强制覆盖,并且不提示cp: overwrite……
显示复制过程
cp -v file1.txt /path/test/
-v 或 --verbose 参数会显示详细的复制过程,包括每个文件复制的状态信息。
交互式复制
cp -i file1.txt /path/test/
-i 或 --interactive 参数会在复制文件前进行交互式确认,避免意外覆盖已存在的文件。
如果file1.txt文件已存在,会提示是否覆盖,如果按Y,将进行覆盖。
递归复制并保持硬链接关系
cp -al dir /path/test/
-al 参数会递归复制目录,并保持硬链接关系,这在备份时非常有用。
重命名文件
cp file1.txt file2.txt
将 file1.txt 复制为 file2.txt,实现重命名效果,file1.txt也会存在。