cp
复制文件,可以将一个文件复制到另外一个地方,也可以将多个文件复制到目录。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
cp [option] [-T] src dst
cp [option] src dir
cp [option] -t dir src
2、选项列表
--help
显示帮助文档
--version
显示命令版本
-a | --archive
等价于“-dR --preserve=all”
--backup[=CONTROL]
为每一个存在的目标文件创建备份
-b
类似“--backup”,但是没有参数
--copy-contents
递归时复制特殊文件的内容
-d
等价于“--no-dereference --preserve=links”
-f | --force
强制执行
-i | --interactive
交互模式,覆盖文件之前询问
-H
遵循src中的命令行符号链接。
-l | --link
创建链接,不复制
-L | --dereference
始终遵循src中的符号链接
-n | --no-clobber
不覆盖已经存在的文件
-R | -r
递归模式,复制子目录
-s | --symbolic-link
创建符号链接,不复制
-P | --no-dereference
不遵循src中的符号链接
-p
等价于“--preserve=mode”
--preserve[=ATTR_LIST]
保留指定的属性(默认:模式、所有权、时间戳),如果可能的话,其他属性:上下文、链接、xattr、all
-c
等价于“--preserve=context”
--no-preserve=ATTR_LIST
不保留指定的属性
--parents
使用目录下的完整源文件名
-R | -r | --recursive
递归复制子目录
--reflink[=WHEN]
控制拷贝
--remove-destination
在尝试打开每个现有目标文件之前移动它(与“--force”相反)
--sparse=WHEN
控制稀疏文件的创建
--strip-trailing-slashes
从每个源参数中移除任何尾随斜线。
-s | --symbolic-link
创建符号链接,不复制
-S | --suffix=SUFFIX
重写通常的备份后缀
-t | --target-directory=DIRECTORY
将所有源参数复制到DIRECTORY中。
-T | --no-target-directory
将目标文件当做普通文件
-t | --target-directory=dir
复制所有的源文件到目录
-u | --update
以更新的方式复制
-v | --verbose
显示详细执行过程
-x | --one-file-system
保持在这个文件系统上
-Z | --context=CONTEXT
将副本的安全上下文设置为上下文
3、说明
当“--reflink[=always]”被指定时,执行一个轻量级副本,其中数据块仅在修改时被复制。如果这是不可能的,复制失败,或者如果“--reflink=auto “被指定,则返回到标准副本。
备份后缀为‘~’,除非设置“--suffix “或”SIMPLE_BACKUP_SUFFIX“。版本控制方法可以通过”--backup“选项或通过VERSION_CONTROL环境变量来选择。以下是这些值:
1) none, off ,从不备份,即使指定了“--backup“。
2) numbered, t ,数字版本控制。
3) existing, nil ,如果有数字备份,那么就使用数字备份,否则使用简单备份。
4) simple, never ,简单备份。
作为特例,当提供强制和备份选项时,cp对源进行备份,src和dst名字相同,都是常规文件。
4、实例
1)复制整个目录
[root@192 weijie]# cp -r test01/ test03/ //使用-r选项,递归方式复制
[root@192 weijie]# ls test03
1.c 1.c~ 2.c 3.c
2)使用“-t”选项,将多个文件复制到目录
[root@192 weijie]# cp -t test01 1.c 2.c 3.c //复制3个文件到test01目录
cp:是否覆盖"test01/1.c"? y
[root@192 weijie]# ls test01
1.c 1.c~ 2.c 3.c
3)创建链接
[root@localhost wj]# cp -s 3.c 4.c //创建符号链接,并不是复制
[root@localhost wj]# ls -l 4.c //查看内容,该文件是一个符号链接
lrwxrwxrwx 1 root root 3 10月 30 08:09 4.c -> 3.c
[root@localhost wj]#
复制文件,可以将一个文件复制到另外一个地方,也可以将多个文件复制到目录。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
cp [option] [-T] src dst
cp [option] src dir
cp [option] -t dir src
2、选项列表
--help
显示帮助文档
--version
显示命令版本
-a | --archive
等价于“-dR --preserve=all”
--backup[=CONTROL]
为每一个存在的目标文件创建备份
-b
类似“--backup”,但是没有参数
--copy-contents
递归时复制特殊文件的内容
-d
等价于“--no-dereference --preserve=links”
-f | --force
强制执行
-i | --interactive
交互模式,覆盖文件之前询问
-H
遵循src中的命令行符号链接。
-l | --link
创建链接,不复制
-L | --dereference
始终遵循src中的符号链接
-n | --no-clobber
不覆盖已经存在的文件
-R | -r
递归模式,复制子目录
-s | --symbolic-link
创建符号链接,不复制
-P | --no-dereference
不遵循src中的符号链接
-p
等价于“--preserve=mode”
--preserve[=ATTR_LIST]
保留指定的属性(默认:模式、所有权、时间戳),如果可能的话,其他属性:上下文、链接、xattr、all
-c
等价于“--preserve=context”
--no-preserve=ATTR_LIST
不保留指定的属性
--parents
使用目录下的完整源文件名
-R | -r | --recursive
递归复制子目录
--reflink[=WHEN]
控制拷贝
--remove-destination
在尝试打开每个现有目标文件之前移动它(与“--force”相反)
--sparse=WHEN
控制稀疏文件的创建
--strip-trailing-slashes
从每个源参数中移除任何尾随斜线。
-s | --symbolic-link
创建符号链接,不复制
-S | --suffix=SUFFIX
重写通常的备份后缀
-t | --target-directory=DIRECTORY
将所有源参数复制到DIRECTORY中。
-T | --no-target-directory
将目标文件当做普通文件
-t | --target-directory=dir
复制所有的源文件到目录
-u | --update
以更新的方式复制
-v | --verbose
显示详细执行过程
-x | --one-file-system
保持在这个文件系统上
-Z | --context=CONTEXT
将副本的安全上下文设置为上下文
3、说明
当“--reflink[=always]”被指定时,执行一个轻量级副本,其中数据块仅在修改时被复制。如果这是不可能的,复制失败,或者如果“--reflink=auto “被指定,则返回到标准副本。
备份后缀为‘~’,除非设置“--suffix “或”SIMPLE_BACKUP_SUFFIX“。版本控制方法可以通过”--backup“选项或通过VERSION_CONTROL环境变量来选择。以下是这些值:
1) none, off ,从不备份,即使指定了“--backup“。
2) numbered, t ,数字版本控制。
3) existing, nil ,如果有数字备份,那么就使用数字备份,否则使用简单备份。
4) simple, never ,简单备份。
作为特例,当提供强制和备份选项时,cp对源进行备份,src和dst名字相同,都是常规文件。
4、实例
1)复制整个目录
[root@192 weijie]# cp -r test01/ test03/ //使用-r选项,递归方式复制
[root@192 weijie]# ls test03
1.c 1.c~ 2.c 3.c
2)使用“-t”选项,将多个文件复制到目录
[root@192 weijie]# cp -t test01 1.c 2.c 3.c //复制3个文件到test01目录
cp:是否覆盖"test01/1.c"? y
[root@192 weijie]# ls test01
1.c 1.c~ 2.c 3.c
3)创建链接
[root@localhost wj]# cp -s 3.c 4.c //创建符号链接,并不是复制
[root@localhost wj]# ls -l 4.c //查看内容,该文件是一个符号链接
lrwxrwxrwx 1 root root 3 10月 30 08:09 4.c -> 3.c
[root@localhost wj]#
做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ 密码:n7bk