linux的基本命令cp,linux基本命令——cp(示例代码)

cp(选项)(参数)   复制

当复制多个源文件时,目标必须是个目录。

cp命令默认使用会带上-i选项,当目标已有文件时,会询问用户是否覆盖掉,可以用\cp来取消-i选项

-a:将文件的所有属性都一并复制,用于归档文件。,以后还有归档压缩的命令

-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;

-f:强行复制文件或目录,如果目标文件或目录都存在直接覆盖

[[email protected] admin]# cp -f a/c b/

cp: overwrite `b/c‘? y

强制复制也会提示询问用户是否覆盖,可以用[[email protected] admin]# \cp -f a/c b/

[[email protected] admin]#

-i:如果目标文件或目标目录都存在,询问用户是否覆盖

[[email protected] admin]# cp -i a/c b/

cp: overwrite `b/c‘? y

这也是cp命令默认的方式

[[email protected] admin]# alias cp

alias cp=‘cp -i‘

-l:对源文件建立硬连接,复制源文件的innode号,而非复制文件;

[[email protected] admin]# cp /a a

[[email protected] admin]# cp -l /a aa

[[email protected] admin]# ls -li /a a aa 加上-i显示出文件的inode号

139923 -rwxr-xr-x. 1 root root 0 Dec 22 01:45 a 这个是直接复制过来的文件

12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 /a 这货是源文件

12090 -rwxrwxrwx. 2 root root 0 Dec 22 00:55 aa 这个是通过cp -l复制过来的文件

-P:保留源文件或目录的属性;

[[email protected] admin]# cp aa /

[[email protected] admin]# ls -l aa /aa

-rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa

-rwxr-xr-x. 1 root root 0 Dec 22 01:13 /aa

以root用户为例,当我复制admin用户家目录下的aa文件到根目录下时,文件的属主和属组变成了root。

[[email protected] admin]# cp -p aa /

cp: overwrite `/aa‘? y

[[email protected] admin]# ls -l aa /aa

-rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 aa

-rwxrwxrwx. 1 admin admin 0 Dec 22 00:55 /aa

当加上-p选项后,复制完成后的文件属主和属组没有发生变化,还是原来的admin

这个-p貌似对原文件属主属组为root的无效???

-R/r:递归处理,将指定目录下的所有文件与子目录一并复制;

[[email protected] admin]# cp -rv b c

`b‘ -> `c/b‘

`b/c‘ -> `c/b/c‘

`b/c/d‘ -> `c/b/c/d‘

`b/c/d/e‘ -> `c/b/c/d/e‘

-s:对源文件建立符号连接,而非复制文件;

[[email protected] admin]# cp -s /a aa

[[email protected] admin]# ls -l aa

lrwxrwxrwx. 1 root root 2 Dec 22 01:32 aa -> /a

-b:覆盖已存在的文件目标前将目标文件备份;

[[email protected] admin]# cp -bv /a a

cp: overwrite `a‘? y

`/a‘ -> `a‘ (backup: `a~‘)

[[email protected] admin]# ls -l a*

-rwxr-xr-x. 1 root root 0 Dec 22 01:42 a

-rwxrwxrwx. 2 root root 0 Dec 22 00:55 a~

-v:显示操作过程

上面都已经显示过了

你可能感兴趣的:(linux的基本命令cp)