cp
【功能说明】:
cp - copy files and directories #复制文件和目录
cp命令用于复制文件和目录;如果复制单个文件或多个文件到指定目录时,目标目录不存在的话,则报错;目标目录存在且不和源文件名称相同,则文件复制成功;目标目录存在且和源文件名称相同,则文件复制失败,此情况下使用cp命令全路径</bin/cp>或者在cp命令前加“\”<\cp>复制时,则文件复制成功,注意,是无任何提醒的强制覆盖目标和源相同名称的文件及目录;
CopySOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
将SOURCE复制到DEST,或将多个SOURCE复制到DIRECTORY。
【语法格式】:
cp [OPTION]... [-T] SOURCE DEST
cp [选项]... [-T] 源文件 目标文件
cp [OPTION]... SOURCE... DIRECTORY
cp [选项]... 源文件... 目录
cp [OPTION]... -t DIRECTORY SOURCE...
cp [选项]... -t 目录 源文件...
【选项参数】:
选项 | 说明 |
-a, --archive | 等同于同时使用 -pdr 参数 |
-d, --no-dereference | 若源文件为链接文件(link file),则复制链接文件属性而非档案本身; |
-f, --force | 强制,若目标档案已经存在且无法开启,则移除后在尝试; |
-i, --interactive | 若目标文件已经存在时,在覆盖前会先询问; |
-l, --link | 对源文件建立硬链接,而非复制过去; |
-p,--preserve[=ATTR_LIST] | 连同档案的属性一起复制过去,而非使用默认属性; |
-R, -r, --recursive | 递归处理,将指定目录下的文件与子目录一并处理,用于复制目录; |
--sparse=<WHEN/使用时机> | 设置存储稀疏文件(Sparse File)的时机;稀疏文件是一种内含大量连续0字节的文件,这种现象称之为坑洞(Holes),许多的二进制文件都具有这种特性;假使文件系统有支持这种特性,这些坑洞将不会占用大量的存储快,则对节省存放空间和提高系统性能都有助益;WHEN设置为“auto”,则来源文件若是稀疏文件,目的文件也会是稀疏文件,这是cp命令的默认值;WHEN设置为“always”,则目的文件将一概存储成稀疏文件;WHEN设置为“never”,则目的文件将不会存储成稀疏文件; |
-x, --one-file-system | 复制的文件或目录存放的文件系统,必须与cp命令执行时所处的文件系统相同,否则不予以复制;即不处理在其它分区的文件; |
-s, --symbolic-link | 对来源文件建立符号链接<软链接>,而非复制文件,必须使用绝对路径,否则报错; |
-u, --update | 若目标文件存在,则目标文件比源文件旧时才复制; |
-v, --verbose | 显示命令执行输出的过程 |
--help | 显示命令的帮助信息并退出 |
--version | 输出命令的版本信息并退出 |
【实践操作】:
1、-a 参数实例
[root@C66-192168002225 sysconfig]# ll crond -rw-------. 1 root root 110 Mar 8 10:34 crond [root@C66-192168002225 sysconfig]# cp -a ./crond/home/tangmeng/ [root@C66-192168002225 sysconfig]# ll/home/tangmeng/crond -rw-------. 1 root root 110 Mar 8 10:34 /home/tangmeng/crond
2、-d 参数实例
[root@C66-192168002225 etc]# ll system-release lrwxrwxrwx. 1 root root 14 Oct 25 21:56 system-release-> centos-release [root@C66-192168002225 etc]# cp -d ./system-release /home/tangmeng/ [root@C66-192168002225 etc]# ll /home/tangmeng/system-release lrwxrwxrwx. 1 root root 14 Mar 15 11:40 ->
3、-f 参数实例
[root@C66-192168002225 tangmeng]# cat test [root@C66-192168002225 tangmeng]# cat /sysconfig/kernel # UPDATEDEFAULT specifies if new-kernel-pkg shouldmake # new kernels the default UPDATEDEFAULT=yes # DEFAULTKERNEL specifies the default kernelpackage type DEFAULTKERNEL=kernel [root@C66-192168002225 tangmeng]# [root@C66-192168002225 tangmeng]# cat test # UPDATEDEFAULT specifies if new-kernel-pkg shouldmake # new kernels the default UPDATEDEFAULT=yes # DEFAULTKERNEL specifies the default kernelpackage type DEFAULTKERNEL=kernel
4、-i 参数实例
[root@C66-192168002225 sysconfig]# ll iptables && ll /home/tangmeng/iptables -rw-------. 1 root root 476 Mar 8 10:34 iptables -rw-------. 1 root root 476 Mar 15 13:08/home/tangmeng/iptables [root@C66-192168002225 sysconfig]# cp -i iptables/home/tangmeng/ cp: overwrite `/home/tangmeng/iptables'? y [root@C66-192168002225 sysconfig]# ll iptables && ll /home/tangmeng/iptables -rw-------. 1 root root 476 Mar 8 10:34 iptables -rw-------. 1 root root 476 Mar 15 13:09/home/tangmeng/iptables
5、-l 参数实例
[root@C66-192168002225 tangmeng]# cp -l /sysconfig/authconfig /home/tangmeng/ [root@C66-192168002225 tangmeng]# ll total 24 -rw-r--r--. 1 root root 6 Mar 15 14:05 2.txt -rw-------. 1 root root 110 Mar 8 10:34 crond [root@C66-192168002225 tangmeng]# cp -l /sysconfig/authconfig /home/ [root@C66-192168002225 tangmeng]# ll /home/ total 12 -rw-r--r--. 1 root root 180 Mar 15 10:59 kernel drwxr-xr-x. 2 root root 4096 Mar 15 14:42 tangmeng
6、-p 参数实例
[root@C66-192168002225 tangmeng]# ll /sysconfig/cpuspeed [root@C66-192168002225 tangmeng]# cp -p /sysconfig/cpuspeed /home/tangmeng/ [root@C66-192168002225 tangmeng]# pwd /home/tangmeng [root@C66-192168002225 tangmeng]# ll cpuspeed
7、-R,-r 参数实例
[root@C66-192168002225 sysconfig]# ls -l total 36 -rw-r--r--. 1 root root 21 Mar 8 10:34 clock -rw-r--r--. 1 root root 2651 Mar 8 10:34 cpuspeed -rw-------. 1 root root 110 Mar 8 10:34 crond -rw-r--r--. 1 root root 25 Mar 8 10:34 grub [root@C66-192168002225 sysconfig]# [root@C66-192168002225 sysconfig]# ll /home/tangmeng/ total 36 -rw-r--r--. 1 root root 21 Mar 15 15:08 clock -rw-r--r--. 1 root root 2651 Mar 15 15:08 cpuspeed -rw-------. 1 root root 110 Mar 15 15:08 crond -rw-r--r--. 1 root root 25 Mar 15 15:08 grub [root@C66-192168002225 sysconfig]# rm -fr /home/tangmeng/* [root@C66-192168002225 sysconfig]# ll /home/tangmeng/ total 0 [root@C66-192168002225 sysconfig]# [root@C66-192168002225 sysconfig]# ll /home/tangmeng/ total 36 -rw-r--r--. 1 root root 21 Mar 15 15:09 clock -rw-r--r--. 1 root root 2651 Mar 15 15:09 cpuspeed -rw-------. 1 root root 110 Mar 15 15:09 crond -rw-r--r--. 1 root root 25 Mar 15 15:09 grub
8、-s 参数实例
[root@C66-192168002225 sysconfig]# pwd /sysconfig [root@C66-192168002225 sysconfig]# cp: `/home/tangmeng/grub': can make relativesymbolic links only in current directory [root@C66-192168002225 sysconfig]# [root@C66-192168002225 sysconfig]# ll/home/tangmeng/ total 32 -rw-r--r--. 1 root root 21 Mar 15 15:09 clock -rw-r--r--. 1 root root 2651 Mar 15 15:09 cpuspeed -rw-------. 1 root root 110 Mar 15 15:09 crond lrwxrwxrwx. 1 root root 15 Mar 15 15:15 grub ->/sysconfig/grub
9、-u 参数实例
[root@C66-192168002225 sysconfig]# ll /sysconfig/clock -rw-r--r--. 1 root root 21 Mar 8 10:34 /sysconfig/clock [root@C66-192168002225 sysconfig]# ll /home/tangmeng/clock -rw-r--r--. 1 root root 21 Mar 15 15:09/home/tangmeng/clock [root@C66-192168002225 sysconfig]# cp -u /home/tangmeng/clock ./ cp: overwrite `./clock'? y [root@C66-192168002225 sysconfig]# ll /sysconfig/clock -rw-r--r--. 1 root root 21 Mar 15 15:26 /sysconfig/clock
10、-v 参数实例
[root@C66-192168002225 sysconfig]# \cp -uv /sysconfig/clock /home/tangmeng/ `/sysconfig/clock' -> `/home/tangmeng/clock'
11、--version 参数实例
[root@C66-192168002225 sysconfig]# cp --version cp (GNU coreutils) 8.4 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later<http://gnu.org/licenses/gpl.html>. This is free software: you are free to change andredistribute it. There is NO WARRANTY, to the extent permitted bylaw. Written by Torbjrn Granlund, David MacKenzie, andJim Meyering.
12、--help 参数实例
[root@C66-192168002225 sysconfig]# cp --help Usage: cp [OPTION]... [-T] SOURCE DEST or: cp [OPTION]... SOURCE... DIRECTORY or: cp [OPTION]... -t DIRECTORY SOURCE... Copy SOURCE to DEST, or multiple SOURCE(s) toDIRECTORY. Mandatory arguments to long options are mandatoryfor short options too. -a,--archive same as -dR--preserve=all --backup[=CONTROL] make abackup of each existing destination file …… 此处省略若干字符 As a special case, cp makes a backup of SOURCEwhen the force and backup options are given and SOURCE and DEST are the samename for an existing, regular file. Report cp bugs to bug-coreutils@gnu.org GNU coreutils home page:<http://www.gnu.org/software/coreutils/> General help using GNU software:<http://www.gnu.org/gethelp/> For complete documentation, run: info coreutils'cp invocation'
转载于:https://blog.51cto.com/marin/1906896