Linux命令:cp命令

cp命令作用:拷贝文件和目录

一、格式

       cp [OPTION]... [-T] SOURCE DEST

       cp [OPTION]... SOURCE... DIRECTORY

       cp [OPTION]... -t DIRECTORY SOURCE...

 

二、解释说明

       如果源是一个文件,目标也是一个文件,则覆盖这个文件

       如果源是一个文件,目标文件不存在,则创建新文件并命名

       如果源是一个文件,目标示一个目录,则复制源到目标目录中,保持原名字

 

       如果源是多个文件,目标是一个文件,失败

       如果源是多个文件,目标是目录,则复制到目标目录

       如果源是多个文件,目标目录不存在,失败

 

       如果源是一个目录,目标是一个文件且存在,失败

       如果源是一个目录,目标目录xxx不存在,创建新目录xxx

       如果源是一个目录,目标目录存在,复制源目录至目标目录中,成为子目录,且保持原名

 

三、查用选项OPTION

cp -r      递归,可复制目录,如果复制目录必须加此选项

cp -R      复制目录

cp -i       交互式,会提醒用户是否覆盖,linux默认的别名中已开启此功能

cp -f       强行

cp -p      保留权限、属主、时间戳

cp -d      默认copy链接文件是复制链接指向的源文件,-d 复制链接文件本身

cp -L      保存链接所指向的文件,默认cp 就是,不需要-L

cp -a      归档复制,常用于备份,相当于cp -dr --preserve=all

cp -v      复制过程可见

cp -s      创建新的符号链接文件,指向原符号链接文件,能保证链接文件可以使用

cp -u      只复制更新的文件

--backup       如果有目标文件,覆盖的时候会将覆盖前的源目标文件改名为xxx~,然后再把新文件进行覆盖

--backup=numbered   如果有目标文件,覆盖的时候会将源目标文件创建新的文件并加上序号

--preserve[=ATTR_LIST]     preserve the specified attributes (default:mode,ownership,timestamps), if possible additional attributes: context, links, xattr, all

 

四、示例

1、把目录中的隐藏文件和非隐藏文件,都复制到指定目录的方法,不创建新目录或子目录

# cp -r /etc/skel/. /home/test

 2、只复制目录中的隐藏文件

# cp -r /etc/skel/.[^.]* /home/test

 

posted on 2019-08-16 16:02  强叔Linux  阅读(4714)  评论(0编辑  收藏  举报