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

相关内容