ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux基础命令---cp

Linux基础命令---cp

原创 Linux操作系统 作者:一生有你llx 时间:2018-11-28 10:16:55 0 删除 编辑

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]#

 


做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接: https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ   密码:n7bk



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29270124/viewspace-2221909/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
多年物联网讲师经验,曾任职于达内、华清等公司。擅长Linux、c、java、Android、单片机、ZigBee、BLE等领域

注册时间:2018-10-21

  • 博文量
    266
  • 访问量
    385745