Linux 命令 - cp: 拷贝文件和目录

命令格式

cp [OPTION]... [-T] SOURCE DEST

cp [OPTION]... SOURCE... DIRECTORY

cp [OPTION]... -t DIRECTORY SOURCE...

 

命令参数

-a, --archive
  复制文件和目录及其属性。包括所有权和权限。

--backup[=CONTROL]
  为每个已存在的目标文件创建备份。

-b
  类似 --backup 选项,但不接受参数。

-f, --force
  如果已存在的目标文件无法打开,将其移除并重试(当使用 -n 选项时,该选项是冗余的)。

-i, --interactive
  在覆盖一个已存在的文件前,提示用户进行确认。

-l, --link
  链接文件而不进行复制。

-n, --no-clobber
  不会覆盖已存在的文件(此选项会覆盖先前的 -i 选项)。

-R, -r, --recursive
  递归地复制目录及其内容。复制目录时需要这个选项(或 -a 选项)。

-s, --symbolic-link
  只创建符号链接而不进行复制。

-S, --suffix=SUFFIX
  自行指定备份文件的后缀。

-t, --target-directory=DIRECTORY
  将所有参数指定的源文件或目录复制至指定目录。

-T, --no-target-directory
  将目标目录当作普通文件。

-u, --update
  当将文件从一个目录复制到另一个目录时,只会复制那些目标目录中不存在的文件或是目标目录相应文件的更新文件。

-v, --verbose
  复制文件时,显示信息性消息。

--help
  显示帮助信息。

--version
  显示版本信息。

 

实例

a) 将文件 f1 复制到 f2。如果 f2 存在,则会被 f1 的内容覆盖。如果 f2 不存在,则创建 f2。

[huey@huey-K42JE cmdline]$ date > f1
[huey@huey-K42JE cmdline]$ cp f1 f2
[huey@huey-K42JE cmdline]$ cmp f1 f2
[huey@huey-K42JE cmdline]$ 

b) 当目标文件存在时,提示是否覆盖。

[huey@huey-K42JE cmdline]$ cp -i f1 f2
cp: overwrite `f2'? 

c) 将文件 f1 与 f2 复制到目录 d1 中,d1 必须是已存在的。

[huey@huey-K42JE cmdline]$ mkdir d1
[huey@huey-K42JE cmdline]$ cp f1 f2 d1
[huey@huey-K42JE cmdline]$ ls d1
f1  f2

d) 通过使用通配符,将 d1 中的所有文件复制到 d2 中。d2 必须是已存在的。

[huey@huey-K42JE cmdline]$ mkdir d2
[huey@huey-K42JE cmdline]$ cp d1/* d2
[huey@huey-K42JE cmdline]$ ls d2
f1  f2

e) 将 d1 目录(及其内容)复制到 d3 目录中。如果 d3 不存在,则创建 d3,且包含与 d1 目录相同的内容。

[huey@huey-K42JE cmdline]$ mkdir d3
[huey@huey-K42JE cmdline]$ cp -r d1 d3
[huey@huey-K42JE cmdline]$ ls -R d3
d3:
d1

d3/d1:
f1  f2


[huey@huey-K42JE cmdline]$ cp -r d1 d4
[huey@huey-K42JE cmdline]$ ls -R d4
d4:
f1  f2

 

posted on 2015-10-01 13:00  huey2672  阅读(763)  评论(0编辑  收藏  举报