Linux 常用命令 - cp 命令详解
Linux cp 是 Unix 和 Linux 系统中用于复制文件和目录的命令,你应该经常会用到它,cp 是一个简单的命令,只有几个参数选项,但你有必要详细的了解它。
命令语法:
cp [OPTION] SOURCE DEST
其中,SOURCE
表示源文件或源目录,DEST
表示目标文件或目标目录,OPTION
表示各种参数。如果 SOURCE
是一个文件,那么 DEST
就是一个文件名或目录名;如果SOURCE
是一个目录,那么DEST
也必须是一个目录名。
示例:将 /root/123.txt
复制到 /root/bak/
目录下
cp /root/123.txt /root/bak/
命令参数(注意有大小写之分):
- -a:保留源文件或目录的所有属性,包括权限、所有者、时间戳等。其作用等于 dpR 参数组合。
- -b:覆盖已存在的文件目标前将目标文件备份。备份文件的字尾会被加上一个默认的 "~" 备份后缀字符串。
- -f:强行复制文件或目录,不会出现覆盖提示,不论目的地文件或目录是否已经存在。有的 Linux 发行版默认设置了别名,这个参数无效。参考这里解决
- -i:覆盖文件之前先询问用户
- -l:对源文件建立硬链接,而非复制文件
- -p:(小写) 保留源文件或目录的属性,包括所有者、所属组、权限与时间
- -P:(大写) 保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的地的目录必须已经存在。如果要复制一个符号链接,需要使用-P选项,否则cp命令将复制符号链接指向的文件,而不是符号链接本身。
- -r:递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
- -s:(小写) 对源文件建立符号链接,而非复制文件
- -S:(大写) <备份字尾字符串> 自行指定备份文件的后缀字符串。用"-b"参数备份目的地文件后,备份文件的字尾会被加上一个默认的 "~" 备份后缀字符串。
- -u:只会在源文件的修改时间 (Modification Time) 较目的地文件更新时,或是目的地地文件并不存在,才复制文件
- -v:显示执行过程
- -x:选项表示 one-file-system (单文件系统),它的作用是在复制文件或目录时,仅限于当前文件系统,不会跨越文件系统边界(若源文件或目录位于同一挂载点, 不会尝试跨越挂载点复制文件)。
- --help 显示在线帮助
- --sparse=<使用时机> 设置保存稀疏文件的时机
- --version 显示版本
示例:将 /root/123.txt
复制到 /root/bak/
目录下,如果目的地文件夹有同名文件,先备份为123.txt~,在进行复制
cp -b /root/123.txt /root/bak/
发表评论