Linux命令:cp

全称:copy files and directories

用途:拷贝文件(目录)

格式:

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

类型:cp is /bin/cp

说明:

拷贝文件(目录),不可避免的会涉及到文件(目录)自身属性和权限。根据不同的拷贝目的,拷贝后可能需要保留源文件(目录)的属性和权限,也可能需要变更源文件(目录)属性和权限。因此,根据不同的目的,需要配合使用不同的参数:

-a, --archive: 相当于使用 "-dR --preserve=all"。

--attributes-only: 不拷贝文件数据,只拷贝其属性。

--backup[=CONTROL]: 为已存在文件创建备份,备份后缀默认"~",除非设置了 "--suffix" 或者 SIMPLE_BACKUP_SUFFIX(具体参见 man cp)。

-b: 同 "--backup",只是不接收参数。

--copy-contents: 遇到递归的时候,拷贝特殊文件的类容。

-d: 相当于"--no-dereference --preserve=links"

-f, --force: 拷贝时如果目标文件(目录)存在,强制覆盖拷贝。

-i, --interactive: 覆盖文件时提示(输出 y 确认覆盖,其它输入不覆盖)。

-H: follow command-line symbolic links in SOURCE

-l, --link: 为文件建立硬链接,替代拷贝。

-L, --dereference: 如果是链接文件,拷贝后,链接文件不再指向源文件,而是直接使用源文件内容替代了链接文件内容,成为普通文件。

-n, --no-clobber: 不覆盖已存在的文件。

-P, --no-dereference: 遇到链接文件,直接拷贝,与"-L"参数相反,不会替换链接文件内容,拷贝后还是链接文件。

-p: 相当于"--preserve=mode,ownership,timestamps",保留文件原有的属性和权限。

-R, -r, --recursive: 如果是包含目录的拷贝,需要递归拷贝目录中所有内容。

-s, --symbolic-link: 在当前工作目录中,为需要拷贝的源文件创建软链接,替代真正的拷贝操作。

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

-t, --target-directory=DIRECTORY: 拷贝所有文件到指定目录(加不加都一样,没多大意义)。

-T, --no-target-directory: 拷贝的DEST不能是目录,只能是一个普通文件,也就是说不能把SOURCE拷贝到一个目录里,可以把SOURCE拷贝到另一个文件中。

-u, --update: 只有当SOURCE文件比目标文件新时或是目标文件不存在时才会拷贝。

-v, --verbose: 显示执行过程中的信息。

-x, --one-file-system: 拷贝前后的文件系统需要相同,否则不拷贝。

使用示例:

# 参数 -a -p 保留源文件属性和权限,拷贝后文件一模一样,备份时非常有用
cp -a SOURCE DEST
cp -p SOURCE DEST
posted @ 2016-02-03 14:47  Litmmp  阅读(473)  评论(0编辑  收藏  举报