在 Linux 下,常用的复制命令是 cp
(全称 copy)。以下是详细用法和常见场景:
cp [选项] 源文件 目标路径
复制文件到目录
cp file.txt /path/to/destination/
file.txt
复制到 /path/to/destination/
目录下。复制文件并重命名
cp file.txt /path/to/destination/new_name.txt
new_name.txt
。递归复制目录(包含子目录和文件)
cp -r dir1 /path/to/destination/
-r
或 -R
表示递归复制,用于复制目录及其内容。保留文件属性(权限、时间戳等)
cp -p file.txt /path/to/destination/
-p
选项保留原文件的属性(如修改时间、权限)。强制覆盖(不提示)
cp -f file.txt /path/to/destination/
-f
强制覆盖目标文件(需谨慎使用)。交互式复制(覆盖前确认)
cp -i file.txt /path/to/destination/
-i
会在覆盖前提示用户确认。显示复制进度(适用于大文件)
cp -v file.txt /path/to/destination/
-v
显示详细操作过程(verbose)。复制符号链接本身(而非指向的文件)
cp -d symlink /path/to/destination/
仅复制更新的文件(增量复制)
cp -u source.txt /path/to/destination/
-u
仅当源文件比目标文件新时复制。cp
会静默覆盖目标路径的同名文件,建议结合 -i
或 -n
(不覆盖)使用。Permission denied
,需用 sudo
提权。bash
cp *.txt /path/to/destination/
rsync
:更强大的远程/本地同步工具,支持增量复制和断点续传。
rsync -avz source/ destination/
install
:复制文件并设置权限(常用于脚本中):
install -m 644 file.txt /path/to/destination/
根据需求选择合适的命令即可!