天天学一个 Linux 命令(11):cp

图片

推荐:天天学一个 Linux 命令(10):passwdgit

Github地址:github

https://github.com/mingongge/...app

命令简介

cp命令用来复制文件或目录。spa

cp命令用来将一个或多个文件或者目录复制到指定的目的文件或目录。它能够将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,不然将出现错误。3d

因此,cp命令还具有重命名的功能。code

语法格式

cp [选项] [源文件或目录] [目标文件或目录]
cp [option] source destination
cp [option] source directory

注:cp命令默认状况下是不能直接复制目录,须要与-R选项配合使用。blog

选项说明

-a:#此参数的效果和同时指定"-dpR"参数相同;
-d:#当复制符号链接时,把目标文件或目录也创建为符号链接,并指向与源文件或目录链接的原始文件或目录;
-f:#强行复制文件或目录,不论目标文件或目录是否已存在;
-i:#覆盖既有文件以前先询问用户;
-l:#对源文件创建硬链接,而非复制文件;
-p:#保留源文件或目录的属性;
-R/r:#递归处理,将指定目录下的全部文件与子目录一并处理;
-s:#对源文件创建符号链接,而非复制文件;
-u:#使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:#在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:#覆盖已存在的文件目标前将目标文件备份;
-v:#详细显示命令执行的操做。

应用实例

复制文件举例递归

cp /usr/app/a.txt /usr/mingongge/b.txt 
#b.txt不存在,建立b.txt文件
cp /usr/app/a.txt /usr/mingongge/b.sh   
#b.sh不存在,建立b.sh文件,相似更名功能
cp /usr/app/a.txt /usr/mingongge/abc   
#abc不存在,建立abc文件

将目录/usr/app中的以s开头的全部.x结尾的文件复制到目录/usr/mingongge中。图片

$ cp -i /usr/app s*.x /usr/mingongge

cp命令复制文件时,若是在目标目录下有同名文件时,咱们须要经过输入Y来进行确认操做。rem

$cp mmm/* /MMM
#复制目录mmm下全部到/MMM目录下,这时若是/MMM目录下有和mmm同名的文件,须要按Y来确认,且会略过mmm目录下的子目录。
 
$cp -r mmm/* /MMM
#也须要输入Y来确认操做,可是没有忽略子目录。
 
$cp -r -a mmm/* /MMM
#也须要输入Y来确认操做,而且把mmm目录以及子目录和文件属性也传递到了/MMM。
 
$cp -r -a mmm/* /MMM
#不会提示须要输入Y来确认操做、传递了目录属性、没有略过目录。

cp命令复制说明

若是源是一个文件,目标也是一个文件,则会覆盖这个目标文件
若是源是一个文件,目标文件不存在,则建立新文件
若是源是一个文件,目标是一个目录,则直接复制此文件到目标目录下
若是源是多个文件,目标是一个文件,复制失败
若是源是多个文件,目标是目录,则直接复制全部文件到目标目录下
若是源是多个文件,目标目录不存在,复制失败
若是源是一个目录,目标是一个文件且存在,复制失败
若是源是一个目录,目标是目录不存在,则会建立新目录
若是源是一个目录,目标是目录且存在,则会复制源目录至目标目录中,成为子目录,且保持原名

天天学一个 Linux 命令(9):useradd/userdel

天天学一个 Linux 命令(8):ls

天天学一个 Linux 命令(7):cd

image

相关文章
相关标签/搜索