Linux命令学习总结:cp命令

命令简介:

 

    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
时间: 2024-12-30 05:23:12

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

在 Linux 中怎样使用cp命令合并目录树

在 Linux 中怎样使用cp命令合并目录树 怎样将两个布局相似的目录树合并成一个新的目录树?为理解该问题让我们思考下面的例子. 假设 dir1 和 dir2 目录中分别有3个子目录a,b和c.目录布局如下所示:  输入目录布局 Layout of input directories 在目录a,b和c中有一些文件,tree命令的输出将能更好的说明:  文件布局 Layout of files 1. 使用cp命令创建合并: 现在我们将这两个目录合并成一个名为"merged"新的目录中.完

Linux命令学习总结: file命令

命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在路径:/usr/bin/file 命令语法: file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ] file ... 命令参数: 下表列出了部分常用的参数. 参数 长参数 描叙 -b 列出文件辨识结果时,

c/c++unix/linux基础学习笔记-常用命令和vi的使用

linux 基本命令的使用-命令在ubuntu下面执行,有些命令通用其他linux,有些不通用. 多条命令间用;号隔开,回车后可以一起执行. clear-前屏,pwd显示当前目录,cd跳转目录. sudo [命令]  -ubuntu 下以管理员身份运行命令. 一般情况下,运行当前目录下的程序,要用 ./文件名 执行. 查看当前shell名称:ps 进入另外一个shell,直接输入shell名称:ksh/tcsh/sh/bash,退出一个shell用:exit. 切换shell命令,如:exec

Linux 命令学习之dpkg命令详解

dpkg是一个Debian的一个命令行工具,它可以用来安装.删除.构建和管理Debian的软件包. 下面是它的一些命令解释: 1)安装软件 命令行:dpkg -i <.deb file name> 示例:dpkg -i avg71flm_r28-1_i386.deb 2)安装一个目录下面所有的软件包 命令行:dpkg -R 示例:dpkg -R /usr/local/src 3)释放软件包,但是不进行配置 命令行:dpkg –unpack package_file 如果和-R一起使用,参数可以

【AIX 命令学习】mkvg 命令

用途 创建卷组. 语法 mkvg [ -B ] [ -t factor ] [ -S [ -v LogicalVolumes ] [ -P Partitions ] ] [ -C ] [ -G ] [ -f ] [ -i ] [ -I ][ -c] [ -x ] [ -L LTGSize ] [ -n ] [ -s Size ] [ -V MajorNumber ] [ -y VolumeGroup ] PhysicalVolume ... 描述 mkvg 命令使用 PhysicalVolume

【AIX 命令学习】migratepv 命令

用途 将已分配的物理分区从一个物理卷移动到另一个或多个其他物理卷. 语法migratepv [  -i ] [  -l LogicalVolume ] SourcePhysicalVolume DestinationPhysicalVolume... 描述   migratepv 命令将已分配的物理分区和它们包含的数据从 SourcePhysicalVolume 移到一个或多个其他物理分区.要限制传送到特定的物理卷,请在 DestinationPhysicalVolume 参数中使用一个或多个物

【AIX 命令学习】lsvg 命令参数使用!

ufserver[/]#lsvg rootvg  ----查看rootvg卷组的详细信息及状态 VOLUME GROUP:       rootvg                   VG IDENTIFIER:  00cecd3e00004c000000011e4872bbdd VG STATE:           active                   PP SIZE:        128 megabyte(s) VG PERMISSION:      read/write 

【AIX 命令学习】errpt 命令参数使用!

el_sequence 错误记录戳记编号 el_label 错误标签 el_timestamp 错误日志记录的时间戳记 el_crcid 唯一的循环冗余检验(CRC)的错误标识符 el_machineid 机器标识变量 el_nodeid 节点标识变量 el_class 错误类 el_type 错误类型 el_resource 资源名称 el_rclass 资源类 el_rtype 资源类型 el_vpd_ibm IBM 重要产品数据(VPD) el_vpd_user 用户 VPD el_in

【AIX 命令学习】errpt 命令示例!

要想显示一个完整的摘要报告,请输入: errpt 要想显示一个完整的详细报告,请输入: errpt  -a 要想显示一个错误标识符 E19E094F 记录的所有的错误的报表,请输入: errpt  -a  -j E19E094F 要想显示一个在过去 24 小时内记录下来的所有错误的详细报表,请输入: errpt  -a  -s mmddhhmmyy 这里,mmddhhmmyy 字符串等于当前的月.日.小时.分和年再减去 24 小时. 要想列出为其日志为任何错误日志记录关闭的错误记录模板,请输入: