Linux常用命令(七) - cp

cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数。但是如果是在shell脚本中执行cp时,没有-i参数是不会询问是否覆盖。这说明命令行和shell脚本的执行方式有些不同。 


1.命令格式:

cp [选项]... 源... 目标目录


2.命令功能:

将源文件复制至目标文件,或将多个源文件复制至目标目录。


3. 命令参数:

-a, --archive    为每个已存在的目标文件创建备份
-b  类似--backup 但不接受参数
-d  --no-dereference --preserve=links
-f, --force 如果目标文件无法打开则将其移除并重试(当-n选项存在时则不需再选此项)
-i, --interactive 覆盖前询问(使前面的 -n 选项失效)
-H  跟随源文件中的命令行符号链接
-l, --link  链接文件而不复制
-L, --dereference   总是跟随符号链接
-n, --no-clobber   不要覆盖已存在的文件(使前面的-i选项失效)
-P, --no-dereference   不跟随源文件中的符号链接
-p  --preserve=模式,所有权,时间戳
-R, -r, --recursive  复制目录及目录内的所有项目


4. 命令实例:

实例一: 复制单个文件到目标目录, 文件在目标文件夹中不存在

命令: cp log.log test5

目标文件存在时, 会询问是否覆盖


实例二: 复制整个目录

命令: cp -a test3 test5

注意: 目标目录存在与否结果是不一样的, 目标目录存在时,整个源目录被复制到目标目录里面


实例三: 建立链接档

命令: cp -s log.log log_link.log

[root@localhost test]# cp -s log.log log_link.log
[root@localhost test]# ll
lrwxrwxrwx 1 root root    7 10-28 15:18 log_link.log -> log.log









郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。