cp 命令
cp 命令用来复制文件或者目录,是 Linux 系统中最常用的命令之一。一般情况下,shell 会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i 参数。但是如果是在 shell 脚本中执行 cp 时,没有-i 参数时不会询问是否覆盖。这说明命令行和 shell 脚本的执行方式有些不同。 cp 命令是 copy 的缩写。
(1)命令格式
cp [选项] 源文件 目录 cp [选项] -t 目录 源文件
(2)常用参数
参数 | 描述 |
---|---|
-t --target-directory | 指定目标目录 |
-i --interactive | 覆盖前询问(使前面的 -n 选项失效) |
-n --no-clobber | 不要覆盖已存在的文件(使前面的 -i 选项失效) |
-s --symbolic-link | 对源文件建立符号链接,而非复制文件 |
-f --force | 强行复制文件或目录, 不论目的文件或目录是否已经存在 |
-u --update | 使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是对应的目的文件并不存在,才复制文件 |
(3)常用范例
例一:对文件 shiyanlou.log 建立一个符号链接 zhou.log,可以使用如下命令:
cp -s shiyanlou.log zhou.log
例二:将 test1 目录下的所有文件复制到 test2 目录下,覆盖前询问,可以使用如下命令:
cp -i test1/* test2
例三:将 test1 目录下的最近更新的文件复制到 test2 目录下,覆盖前询问,可以使用如下命令:
cp -iu test1/* test2