命令简介:

cp命令用来复制文件或目录。指令英文原义:copy

指令所在路径:/bin/cp

命令语法:

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

or: cp [OPTION]... SOURCE... DIRECTORY

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

命令参数:

此命令参数是Red Hat Enterprise Linux Server release 5.7下cp命令参数,不同版本Linux的cp命令参数有可能不同。

参数

长参数

描叙

-a

等同于-dR

-b

若删除或者覆盖目标文件,将对目标文件进行备份,备份文件以备份的字符串结尾

-d

复制符号链接

-f

强制复制

-h

强制cp命令复制符号链接。缺省值是跟随符号链接,也就是将文件复制到符号链接指向处。

-i

交互式模式。覆盖目标文件之前先要进行询问

-l

建立硬链接,而非复制

-p

源目录或者文件的属性保留

-P

源目录或者文件的路劲保留

-r/-R

处理指定目录以及子目录

-v

--verbose

显示命令执行的详细信息

--help

显示命令在线帮助

--version

显示命令版本信息

 

使用示例:

 

1: 查看rmdir命令的帮助信息

[root@DB-Server ~]# cp --help

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

  or:  cp [OPTION]... SOURCE... DIRECTORY

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

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.

 

Mandatory arguments to long options are mandatory for short options too.

  -a, --archive                same as -dR --preserve=all

      --backup[=CONTROL]       make a backup of each existing destination file

  -b                           like --backup but does not accept an argument

      --copy-contents          copy contents of special files when recursive

  -d                           same as --no-dereference --preserve=link

  -f, --force                  if an existing destination file cannot be

                                 opened, remove it and try again

  -i, --interactive            prompt before overwrite

  -H                           follow command-line symbolic links

  -l, --link                   link files instead of copying

  -L, --dereference            always follow symbolic links

  -P, --no-dereference         never follow symbolic links

  -p                           same as --preserve=mode,ownership,timestamps

      --preserve[=ATTR_LIST]   preserve the specified attributes (default:

                                 mode,ownership,timestamps), if possible

                                 additional attributes: context, links,

                                 xattr, all

  -c                           same as --preserve=context

      --no-preserve=ATTR_LIST  don't preserve the specified attributes

      --parents                use full source file name under DIRECTORY

  -R, -r, --recursive          copy directories recursively

      --remove-destination     remove each existing destination file before

                                 attempting to open it (contrast with --force)

      --sparse=WHEN            control creation of sparse files

      --strip-trailing-slashes remove any trailing slashes from each SOURCE

                                 argument

  -s, --symbolic-link          make symbolic links instead of copying

  -S, --suffix=SUFFIX          override the usual backup suffix

  -t, --target-directory=DIRECTORY  copy all SOURCE arguments into DIRECTORY

  -T, --no-target-directory    treat DEST as a normal file

  -u, --update                 copy only when the SOURCE file is newer

                                 than the destination file or when the

                                 destination file is missing

  -v, --verbose                explain what is being done

  -x, --one-file-system        stay on this file system

  -Z, --context=CONTEXT        set security context of copy to CONTEXT

      --help     display this help and exit

      --version  output version information and exit

 

By default, sparse SOURCE files are detected by a crude heuristic and the

corresponding DEST file is made sparse as well.  That is the behavior

selected by --sparse=auto.  Specify --sparse=always to create a sparse DEST

file whenever the SOURCE file contains a long enough sequence of zero bytes.

Use --sparse=never to inhibit creation of sparse files.

 

The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.

The version control method may be selected via the --backup option or through

the VERSION_CONTROL environment variable.  Here are the values:

 

  none, off       never make backups (even if --backup is given)

  numbered, t     make numbered backups

  existing, nil   numbered if numbered backups exist, simple otherwise

  simple, never   always make simple backups

 

As a special case, cp makes a backup of SOURCE when the force and backup

options are given and SOURCE and DEST are the same name for an existing,

regular file.

 

Report bugs to bug-coreutils@gnu.org.

[root@DB-Server ~]# man cp

 

2: 拷贝文件file1并更名为file2

[root@DB-Server kerry]# ls

file1

[root@DB-Server kerry]# cp file1 file2

[root@DB-Server kerry]# ls

file1  file2

[root@DB-Server kerry]# 

 

3:拷贝kerry目录下文件到tmp目录下

[root@DB-Server ~]# cp /home/kerry/*  /tmp

[root@DB-Server ~]# cd /tmp

 

4:将目录下的所有目录包括子目录陆续复制到另外一个目录

[root@DB-Server ~]#cp -r /home/tomcat/ /tmp/bak

5: 复制时保留文件属性(保存与源文件相关联的修改日期、时间和访问控制列表等)

 

[root@DB-Server kerry]# ls -lrt

total 8

-rw-r--r-- 1 root root 3886 Jan 19 23:04 install.log.syslog

[root@DB-Server kerry]# cp -p install.log.syslog  install.log.syslog.bak1

[root@DB-Server kerry]# cp install.log.syslog install.log.syslog.bak2

[root@DB-Server kerry]# ls -lrt

total 24

-rw-r--r-- 1 root root 3886 Jan 19 23:04 install.log.syslog.bak1

-rw-r--r-- 1 root root 3886 Jan 19 23:04 install.log.syslog

-rw-r--r-- 1 root root 3886 Jan 19 23:10 install.log.syslog.bak2

 

6: 以交换形式拷贝文件

 

[root@DB-Server kerry]# cp -i /var/log/*  ./

cp: overwrite `./acpid'? n

cp: overwrite `./anaconda.log'? n

cp: overwrite `./anaconda.syslog'? y

cp: overwrite `./anaconda.xlog'? n

cp: omitting directory `/var/log/audit'

cp: overwrite `./boot.log'? n

cp: overwrite `./boot.log.1'? n

cp: overwrite `./boot.log.2'? n

Linux命令学习总结:cp命令的更多相关文章

  1. [转] 在 Linux 中怎样使用cp命令合并目录树

    PS:通过cp -r --link a/* b/* merged 硬链接不需要复制 怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子. 假设 dir1 和 dir2 目 ...

  2. Linux学习笔记--cp命令(复制)

    cp:英文名copy,复制的意思. 1. 命令格式: cp [选项] 源文件或文件夹 目标文件或文件夹 cp [选项] 源文件1 源文件2 源文件3 ... 目标文件夹 2. 经常使用选项: &quo ...

  3. Linux下如何使CP命令不提示覆盖

    在Linux下使用CP命令,经常会提示是否覆盖,如果是太批量的文件覆盖,老是这么提示,会很烦的.那如何解决这个问题呢? 我们先来看一下原因吧! 一般我们使用的命令是cp -rf sourcefile ...

  4. linux每天一小步---cp命令详解

    1 命令功能      cp命令用于复制文件或者目录,cp是copy的缩写. 2 命令语法 cp  [参数] 源文件或者目录  目的文件或者目录 3 命令参数 -a  等同于-dRp,保存所有 -d ...

  5. linux shell 学习笔记--内部命令学习

    .基本命令 新手必须要掌握的初级命令 ls 基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如 ,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, ...

  6. LINUX基础学习之基础命令(4)和 文件的inode信息 --2019-11-28

    一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会 ...

  7. Linux命令学习神器!命令看不懂直接给你解释!

    大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务. 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么 ...

  8. Linux 下mv和cp命令

    注意事项:mv与cp的结果不同,mv好像文件"搬家",文件个数并未增加.而cp对文件进行复制,文件个数增加了. 一.cp命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的 ...

  9. linux每日命令(9):cp命令

    一.命令格式: cp [参数] source dest 或 cp [参数] source... directory 二.命令功能: 将源文件复制至目标文件,或将多个源文件复制至目标目录. 三. 命令参 ...

  10. Linux命令学习之xargs命令

    xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数.xargs也可以将 ...

随机推荐

  1. 帮公司人事MM做了个工资条拆分工具

    引言 偶尔一次午饭时人事说加班加到8点多,纯手工复制粘贴Excel的内容,公司大概150多人吧,每次发工资时都需要这样手动处理,将一个Excel拆分成150多个Excel,再把里面的内容粘过去,如此循 ...

  2. Visual Studio 打开解决方案后 弹出框显示 "正在打开文件..." 迟迟没反应 的解决方法

    Visual Studio 打开解决方案后 弹出框显示 "正在打开文件...",任务管理器的devenv进程又很正常,不会显示"未响应". 而IDE的左下角有个 ...

  3. android srudio使用HttpClient

    最近学习Android网络编程,在AndroidStudio下无法使用HttpClient,在网上找到了答案在这里记下来: //官方原文Apache HTTP Client RemovalAndroi ...

  4. trace与代码跟踪服务

    首先开篇引用<MVC2 2 in action>里面一段关于这个跟踪服务的话 When you called Trace.Write() in Web Forms, you were in ...

  5. 设计模式(二)简单工厂模式(Simple Factory Pattern)

    一.引言 这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式——简单工厂模式. 二.简单工厂 ...

  6. css3实现光标悬浮滚动菜单

    效果:http://hovertree.com/texiao/css3/21/ 本文所用到的CSS知识请点击效果展示也中第一和第二个链接. 代码: <!DOCTYPE html> < ...

  7. C#知识点-委托

    一.什么是委托 委托和类一样,是一种用户自定义类型: 类表示的是数据和方法的集合,而委托则持有一个或多个方法: 二.委托的使用 1.声明委托类型 委托是类型,与类一样,委托类型必须在被用来创建变量以及 ...

  8. MVC调试时遇到的URL问题

    最近接手一个项目时遇到了点问题,事情是这样的,本人拿到源码准备F5准备试跑看一下,原本是应该打开 http:/localhost/Home/Login,结果程序直接跳到 http://localhos ...

  9. eclipse 突然 一直在loading descriptor for XXX (XXX为工程名)

    问题: eclipse 启动后,啥也不干,就一直在loading descriptor for XXX (XXX为工程名),,其他什么操作都不能操作. 如下图所示,保存文件也无法保存.  这个怎么办? ...

  10. Lind.DDD敏捷领域驱动框架~Lind.DDD各层介绍

    回到目录 Lind.DDD项目主要面向敏捷,快速开发,领域驱动等,对于它的分层也是能合并的合并,比之前大叔的框架分层更粗糙一些,或者说更大胆一些,在开发人员使用上,可能会感觉更方便了,更益使用了,这就 ...