Linux命令:cp
2016-02-03 14:47
309 查看
全称: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: 拷贝前后的文件系统需要相同,否则不拷贝。
使用示例:
用途:拷贝文件(目录)
格式:
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
相关文章推荐
- 博主作品《循序渐进Linux》第二版出版发行啦(附封面和目录)
- 在 Linux 下用 mkdir 命令来创建目录和子目录
- 循序渐进学Linux,一线Linux专家南非蚂蚁学习经验谈
- Linux ekho
- linux下查看网络连接
- Linux文件I/O(creat/open/read/write/lseek/close/dup/sync)
- centos7上编译openjdk
- Linux 启动grub error 24: Attempt to access block outside partition 解决
- linux查看文件数
- 简化linux开机启动服务
- CentOs 6.x 升级 Python 版本
- 初探linux子系统集之i2c子系统(二)
- 初探linux子系统集之i2c子系统(二)
- 如何查看各种Linux命令的源码?
- Linux 运维中,为什么现在很多人用源码安装而不用 RPM 安装?
- Linux 启动环境变量PATH设置
- 收藏一些常用的linux命令,用处很大。
- Linux配置VNC Server
- 运维 | CentOS 7 下给 PHP 安装 MSSQL - PDO拓展
- linux+C环境下动态管理头文件和库文件