功能:拷贝文件或目录
说明:一般用来将一个文件或者目录复制到指定文件或者目录。它可以将单个源文件复制成一个指定文件名的文件,或者一个已经存在的目录下。也可支持同时复制多个文件,当复制多个文件时。目标参数必须是一个已经存在的目录,否则出错。
选项:
-a:archive 此参数效果和同事指定“-doR”参数相同
-b:backup 删除、覆盖目的文件先备份,备份的文件或者目录亦建立为符号连接,并指向源文件或者目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号连接,则会直接复制原文件或目录。
-f:interactive 覆盖文件之前询问
-l:link 对原文件建立硬链接,而非复制文件
-p:preserve 保留源文件或目录的属性,包括所有者、组、权限和时间
-P:parents 保留源文件或目录的路径,此路径可以是绝对路径或者相对路径,且目的目录必须已经存在
-r :递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录形态不属于目录或符号连接,则一律视为普通文件处理
-R:recursive 递归处理,将指定目录下的文件及子目录一并处理
-s:symbolic-link 对源文件建立符号链接,而非复制文件
-S <备份字尾字符串>:suffix 用“b”参数备份目的文件后,备份文件的字尾会被加上一个备份字符串,默认是“~”
-u:update 使用这个参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在。才复制文件(不会冲突时间和名称)
-v:verbose 显示执行过程
-V <备份方式>:version-control=<备份方式>指定当备份文件时,备份文件名的命名方式有三种:
1:numbered或 t 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增
2:simp或 never 将使用简单备份,默认的备份字尾字符串~,也可通过-S来制定
3:existing或 nil 将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份
-x:noe-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制。亦不处理位于其他分区的文件
--help 显示在线帮助
--spatse=<使用机时> 设置保存稀疏声文件的机时
-version:显示版本
示例
-b的用法
123456789sly@fskj-u-sly:~/st$ls1.txt 2.txtsly@fskj-u-sly:~/st$cp-b -S .bak 1.txt 2.txtcp:是否覆盖"2.txt"? ysly@fskj-u-sly:~/st$ls-l总用量 0-rw-rw-r-- 1 sly sly 0 7月 21 17:02 1.txt-rw-rw-r-- 1 sly sly 0 7月 21 17:36 2.txt-rw-rw-r-- 1 sly sly 0 7月 21 17:35 2.txt.bak创建硬链接
12345sly@fskj-u-sly:~/st$cp-l 1.txt 2.txtsly@fskj-u-sly:~/st$ls-li#这个参数i是查看inode号,可以看到,两个文件的inode一样总用量 01834184 -rw-rw-r-- 2 sly sly 0 7月 21 17:02 1.txt1834184 -rw-rw-r-- 2 sly sly 0 7月 21 17:02 2.txt创建符号链接
12345sly@fskj-u-sly:~/st$ln-s 1.txt 2.txtsly@fskj-u-sly:~/st$ls-l总用量 0-rw-rw-r-- 1 sly sly 0 7月 21 17:02 1.txtlrwxrwxrwx 1 sly sly 5 7月 21 17:26 2.txt -> 1.txt将一个目录的文件复制到另一个目录
123456789sly@fskj-u-sly:~$cp-R st st2sly@fskj-u-sly:~$ls-l st2/总用量 0-rw-rw-r-- 1 sly sly 0 7月 21 17:28 1.txtlrwxrwxrwx 1 sly sly 5 7月 21 17:28 2.txt -> 1.txtsly@fskj-u-sly:~$ls-l st总用量 0-rw-rw-r-- 1 sly sly 0 7月 21 17:02 1.txtlrwxrwxrwx 1 sly sly 5 7月 21 17:26 2.txt -> 1.txt如果目录已经存在不能使用上述方法
123456789101112sly@fskj-u-sly:~$ls-ld st2 st/drwxrwxr-x 2 sly sly 4096 7月 21 17:26 st/drwxrwxr-x 2 sly sly 4096 7月 21 17:30 st2sly@fskj-u-sly:~$cp-R st st2sly@fskj-u-sly:~$ls-l st2/# 你会发现将整个目录拷贝过去了总用量 4drwxrwxr-x 2 sly sly 4096 7月 21 17:31 stsly@fskj-u-sly:~$cp-R st/* st2sly@fskj-u-sly:~$ls-l st2/总用量 0-rw-rw-r-- 1 sly sly 0 7月 21 17:33 1.txtlrwxrwxrwx 1 sly sly 5 7月 21 17:33 2.txt -> 1.txt使用-p参数保留源文件的属性(这里使用sudo是为了有权限创建www-data用户的文件)
12345678910sly@fskj-u-sly:~/st$ls-l总用量 0-rw-rw-r-- 1 www-data www-data 0 7月 21 17:02 1.txtsly@fskj-u-sly:~/st$date&&sudocp1.txt 2.txt &&sudocp-p 1.txt 3.txt2015年 07月 21日 星期二 17:47:04 CSTsly@fskj-u-sly:~/st$ls-l#可以看出,加了-p参数后,目标文件的权限和时间信息都没用修改总用量 0-rw-rw-r-- 1 www-data www-data 0 7月 21 17:02 1.txt-rw-r--r-- 1 root root 0 7月 21 17:47 2.txt-rw-rw-r-- 1 www-data www-data 0 7月 21 17:02 3.txt
901

被折叠的 条评论
为什么被折叠?



