Linux cp命令详解

一、命令介绍

英文原意:copy
命令所在路径:/bin/cp
功能描述:复制源文件或目录到指定目录(可以改名)
语法:cp +选项+源文件或目录+目标目录

二、 命令选项参数

-r或-R:递归处理,将指定目录下的子文件和子目录一并处理(复制目录的时候使用)
-f:强行复制文件或目录,不论目标文件或目录是否已存在
-p:保留文件属性(所有者、所属组、文件权限、文件时间·····)
-a:相当于-prd
-i:覆盖既有文件时先询问用户。(默认-i)
-l:对源文件建立硬连接,非复制文件。
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀。
-b:覆盖已存在的文件目标前将目标文件备份。
-v:详细显示命令执行的操作。
-d:–no-dereference –preserv=links 复制符号连接加的选项
注意:当复制目录的时候一定要加上选项-r,不然不能复制

三、命令实操

复制并重命名
bogon:test apple$ ls
a.txt first.sh
bogon:test apple$ cp a.txt b.txt
bogon:test apple$ ls
a.txt b.txt first.sh

复制文件保留文件属性和不保留的区别

[root@cxm test]# cp -p 1.txt 3.txt
[root@cxm test]# ll
总用量 0
-rw-r–r–. 1 cxm cxm 0 3月 6 19:55 1.txt (源文件)
-rw-r–r–. 1 root root 0 3月 6 19:59 2.txt (没保留属性)
-rw-r–r–. 1 cxm cxm 0 3月 6 19:55 3.txt (保留属性)

复制目录的时候必须加-r

#不加-r
bogon:test apple$ cp test/ test2
cp: test/ is a directory (not copied).
#添加-r
bogon:test apple$ cp -r test/ test2
bogon:test apple$ ls
bogon:test apple$ ls
a.txt b.txt c.txt first.sh test test2

你可能感兴趣的:(linux)