• 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

    clip_image001

    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
  • 相关阅读:
    python 判断返回结果 in用法
    关于requests的session方法保持不了cookie的问题。(seesion的意思是保持一个会话,比如 登陆后继续操作(记录身份信息) 而requests是单次请求的请求,身份信息不会被记录)
    python-selenium并发执行测试用例(方法一 各模块每一条并发执行)
    python 正则表达提取方法 (提取不来的信息print不出来 加个输出type 再print信息即可)
    unittest框架 assertEqual 报错 让其出现中文的方法(这个问题出现时 我找了老半天) 还追加了 报错信息自定义的方法
    python 指定文件编码的方法
    解决python中路径中包含中文无法找到文件的问题
    python 字符转换记录
    python-selenium 并发执行用例的问题
    深度影响价值
  • 原文地址:https://www.cnblogs.com/zhangyingai/p/7082606.html
Copyright © 2020-2023  润新知