每天一个 Linux 命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
语法
bash
cp [选项] 源文件 目标文件
php
16 Bytes
© 菜鸟-创作你的创作
- 源文件:需要复制的文件或目录。
- 目标文件:复制到的位置,通常可以是一个文件或目录。
常见用法
- 复制单个文件 :
cp file1.txt file2.txt这个命令会将file1.txt复制到file2.txt,如果file2.txt已存在,它将被覆盖。 - 复制多个文件到目录 :
cp file1.txt file2.txt /path/to/destination/将file1.txt和file2.txt复制到指定的目录/path/to/destination/。 - 递归复制目录 :
cp -r dir1/ dir2/选项-r(或--recursive)允许递归复制目录及其内容。如果你希望复制整个目录,必须使用这个选项。 - 交互式复制 :
cp -i file1.txt file2.txt选项-i(或--interactive)会在目标文件存在时,提示用户是否覆盖文件。例如,如果file2.txt已存在,会询问是否覆盖。 - 保留文件属性 :
cp -p file1.txt file2.txt选项-p(或--preserve)可以在复制文件时保留文件的原始权限、时间戳等属性。 - 显示复制进度 :
cp -v file1.txt file2.txt选项-v(或--verbose)使cp命令显示详细信息,输出正在复制的文件的名称。 - 复制并更改文件名 :
cp file1.txt newfile.txt这个命令会将file1.txt复制到newfile.txt,如果目标文件名不一样,它会自动为目标文件生成新名字。
常用选项
-r或--recursive:递归复制目录及其内容。-i或--interactive:交互式复制,文件已存在时提示是否覆盖。-v或--verbose:显示详细的复制过程。-p或--preserve:保留源文件的属性(如权限、时间戳等)。-u或--update:只复制源文件比目标文件更新的文件。-a或--archive:复制文件时,尽可能保留文件的所有属性,包括符号链接。
示例
- 复制整个目录(包括子目录和文件) :
cp -r /source_directory /destination_directory - 递归复制并保留文件属性 :
cp -rp /source_directory /destination_directory - 交互式复制文件,防止覆盖 :
cp -i file1.txt file2.txt - 查看复制过程 :
cp -v file1.txt file2.txt
注意事项
- 使用
cp时,如果目标文件已经存在并且没有-i或-n等选项,它将自动覆盖目标文件。如果不小心覆盖了文件,可以尝试使用-i选项以避免不必要的数据丢失。 - 如果需要复制大量文件或者很大的目录,使用
-v和-r可以帮助你查看进度,避免遗漏。
总结
cp 命令是 Linux 系统中最常用的文件操作命令之一,它允许用户快速地复制文件和目录。根据具体需求,可以配合不同的选项来实现灵活的文件复制操作。 www.52runoob.com/archives/41...