基本用法
cp source destination
:将名为source
的文件复制到destination
位置。cp source1 source2 destination_directory
:将source1
和source2
复制到destination_directory
目录下。
选项
-a
或--archive
:归档模式,等于-dR --preserve=all
,复制文件时保留原文件的所有属性。-b
或--backup
:若目标文件已存在,则为其创建一个备份。-d
:复制目录时保留链接文件。-f
或--force
:如果目标文件已存在,则不询问直接覆盖。-i
或--interactive
:交互式复制,在覆盖前询问用户。-l
或--link
:创建链接,而不是复制文件。-p
或--preserve
:保留原文件的修改时间、访问时间、文件权限等属性。-R
或-r
或--recursive
:递归复制目录及其子目录。-s
或--symbolic-link
:创建源文件的符号链接。-S
或--suffix
:为备份文件指定后缀。-t
或--target-directory
:指定复制的目标目录。-u
或--update
:仅当源文件比目标文件新,或者目标文件不存在时,才复制文件。-v
或--verbose
:显示详细的复制信息。--preserve=all
:保留所有文件属性。--preserve=mode,ownership,timestamps
:保留文件权限、所有者和时间戳。
示例
复制单个文件:
cp source_file destination_file
递归复制目录:
cp -r source_directory destination_directory
复制文件并保留原文件属性:
cp -p source_file destination_file
复制文件并创建备份:
cp -b source_file destination_file
复制文件并询问是否覆盖:
cp -i source_file destination_file
复制文件并显示详细信息:
cp -v source_file destination_file
仅复制更新过的文件:
cp -u source_file destination_file
创建符号链接:
cp -s source_file destination_file
复制多个文件到一个目录:
cp file1 file2 /path/to/destination_directory
使用通配符复制多个文件:
cp *.txt /path/to/destination_directory
注意事项
使用
cp
命令时,如果目标路径不存在,系统会提示错误。如果目标路径已经存在同名文件,使用
-f
选项会覆盖文件,使用-i
选项则会提示用户是否覆盖。使用
-a
选项可以保留文件的属性,包括链接、权限等,适合需要完整复制文件属性的场景。使用
-u
选项可以避免不必要的复制,只更新那些比目标文件新的文件。