cp
命令是Linux中最常用的命令之一,用于复制文件和目录。本文将详细介绍cp
命令的用法,并给出具体的示例。
1. 基本语法
cp
的基本语法如下:
bash
cp [options] source destination
[options]
:可选参数,用于控制复制行为。source
:源文件或目录。destination
:目标文件或目录。
2. 常用选项
2.1 -i
交互模式,复制前询问是否覆盖已存在的文件。
示例:
交互式复制文件:
bash
cp -i file1 file2
2.2 -r
或 -R
递归复制目录。
示例:
递归复制目录:
bash
cp -r folder1 folder2
2.3 -p
保留源文件的属性(权限、时间戳等)。
示例:
复制文件并保留源文件的属性:
bash
cp -p file1 file2
2.4 -u
仅在源文件比目标文件新或目标不存在时复制。
示例:
仅在文件比目标新或目标不存在时复制:
bash
cp -u file1 file2
2.5 -l
创建硬链接,而不是复制文件。
示例:
创建硬链接:
bash
cp -l file1 file2
2.6 -s
创建符号链接(软链接),而不是复制文件。
示例:
创建符号链接:
bash
cp -s file1 file2
2.7 -v
详细模式,显示复制过程中的详细信息。
示例:
详细模式复制文件:
bash
cp -v file1 file2
2.8 -f
强制复制,即使目标文件存在也会覆盖。
示例:
强制复制文件:
bash
cp -f file1 file2
2.9 -a
等价于-dpR
,复制文件或目录并保持所有属性不变。
示例:
复制目录并保持所有属性不变:
bash
cp -a folder1 folder2
2.10 --preserve
保持所有可能的属性,如权限、时间戳等。
示例:
复制文件并保持所有可能的属性:
bash
cp --preserve file1 file2
2.11 --no-clobber
不覆盖已存在的文件。
示例:
不覆盖已存在的文件:
bash
cp --no-clobber file1 file2
2.12 --sparse=auto
尝试使用稀疏文件特性。
示例:
使用稀疏文件特性复制文件:
bash
cp --sparse=auto file1 file2
3. 实战案例
3.1 复制单个文件
复制文件file1
到file2
:
bash
cp file1 file2
3.2 复制目录
递归复制目录folder1
到folder2
:
bash
cp -r folder1 folder2
3.3 创建硬链接
创建文件file1
的硬链接file2
:
bash
cp -l file1 file2
3.4 创建符号链接
创建文件file1
的符号链接file2
:
bash
cp -s file1 file2
3.5 复制文件并保持属性不变
复制文件file1
到file2
并保持属性不变:
bash
cp -p file1 file2
3.6 复制文件到另一个目录
复制文件file1
到/home/user/folder
:
bash
cp file1 /home/user/folder/
3.7 复制文件夹并保持所有属性
复制目录folder1
到folder2
并保持所有属性:
bash
cp -a folder1 folder2
3.8 复制文件并提示确认
复制文件file1
到file2
,并在文件已存在时提示确认:
bash
cp -i file1 file2
3.9 只复制更新的文件
仅在文件比目标新或目标不存在时复制file1
到file2
:
bash
cp -u file1 file2
请注意,某些命令的选项和语法可能会因不同的Linux发行版和版本而略有不同,请根据实际情况调整命令的具体细节。