cp
命令在 Linux 系统中用于复制文件或目录。它是一个非常有用的命令,允许用户将文件从一个位置复制到另一个位置,或者将多个文件复制到一个目录中。
基本语法
cp
命令的基本语法如下:
cp [选项] 源文件 目标文件
cp [选项] 源文件... 目标目录
- 源文件:指定要复制的文件或目录。
- 目标文件:指定复制后的文件名或目录。如果目标是一个目录,那么源文件将被复制到这个目录中。
常用选项
-r
或--recursive
:递归复制,用于复制目录及其所有子目录和文件。-i
或--interactive
:交互式复制,在覆盖文件之前提示用户确认。-v
或--verbose
:详细模式,显示复制过程中的信息。-p
或--preserve
:保留源文件的属性,如修改时间、访问时间、所有者和权限。-u
或--update
:仅当源文件比目标文件新,或者目标文件不存在时,才复制文件。
示例
- 复制单个文件:
cp file.txt newfile.txt
这将把 file.txt
复制到当前目录,并重命名为 newfile.txt
。
- 复制多个文件:
cp file1.txt file2.txt /path/to/directory
这将把 file1.txt
和 file2.txt
复制到指定的目录中。
- 递归复制目录:
cp -r directory1 directory2
这将递归地复制 directory1
到 directory2
,包括所有子目录和文件。
- 交互式复制:
cp -i file.txt newfile.txt
在覆盖 newfile.txt
之前,系统会提示用户确认。
- 保留文件属性:
cp -p file.txt newfile.txt
复制文件时,保留原始文件的修改时间、访问时间和权限等属性。
- 仅更新已更改的文件:
cp -u file.txt newfile.txt
如果 newfile.txt
已经存在,并且 file.txt
是最新的,那么 newfile.txt
将被更新。
注意事项
- 使用
cp
命令时,如果目标文件已存在,且没有使用-i
选项,那么目标文件将被覆盖,而不会有任何提示。 - 使用
-r
选项时,需要确保目标目录存在,否则命令会失败。 cp
命令不会复制文件的硬链接,而是创建一个新的文件副本。
cp
命令是 Linux 系统中进行文件和目录复制的基本工具,通过使用不同的选项,用户可以灵活地控制复制过程。