cp 命令是 Linux 中用于复制文件和目录的标准工具。其基本语法是 cp [SOURCE] [DESTINATION]。
基本文件复制
要复制文件,您需要指定源文件和目标目录或路径。
cp mycoolfile /home/pete/Documents/cooldocs
在此示例中,mycoolfile 是源文件,而 /home/pete/Documents/cooldocs 是目标目录。您也可以复制文件并为其在目标位置指定一个新名称。
cp mycoolfile /home/pete/Documents/mycoolfile_backup
使用通配符进行批量复制
通配符是特殊的字符,可帮助您根据模式选择多个文件,从而提供极大的灵活性。
*: 匹配任何字符序列。?: 匹配任何单个字符。[]: 匹配方括号中包含的任何一个字符。
例如,要将当前位置的所有 JPEG 图像复制到 Pictures 目录中:
cp *.jpg /home/pete/Pictures
递归复制目录
如果尝试在不使用任何选项的情况下使用 cp 复制目录,您将收到错误。要复制目录及其所有内容(包括子目录),必须使用 -r(递归)标志。
cp -r Pumpkin/ /home/pete/Documents
此命令将 Pumpkin 目录及其内部的所有内容复制到您的 Documents 目录中。
处理文件覆盖
默认情况下,如果目标位置存在同名文件,cp 将覆盖它。为防止意外数据丢失,请使用 -i(交互式)标志,它会在覆盖前提示确认。
cp -i mycoolfile /home/pete/Pictures
相反,如果您想在不进行任何提示的情况下强制覆盖,可以使用 cp -f 标志。这在无法进行用户交互的脚本中非常有用。
cp -f mycoolfile /home/pete/Pictures
使用 cp -p 保留文件属性
当您复制文件时,其元数据(如修改时间和所有权)通常会被更新。要保留这些原始属性,cp -p 标志至关重要。在 Linux 中使用 cp -p 可确保复制品不仅内容相同,而且元数据也相同。
cp -p 标志 在备份或迁移文件时特别有用,因为保留时间戳至关重要。
cp -p mycoolfile /home/pete/backups/
此命令演示了如何使用 linux cp -p 复制 mycoolfile,同时保留其模式、所有权和时间戳。