cp

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

cp [OPTION]... SOURCE... DIRECTORY

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

  • Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY 复制文件或目录

  • 第一场景:复制单一文件到单一新文件,可改名

  • 第二场景:复制多个文件到一个指定目录,不可改名

  • 第三场景:-t 复制时先指定目录,再指定多个文件,顺序同上场景倒置

  • 默认的cp * ../ 这种通配符不支持.开头的隐藏文件

  • -r递归复制目录时隐藏文件会一起被复制

  • 可以指定名称复制隐藏文件cp .bashrc ../

  • 常用选项:

    -a:--archive 可以理解为归档
    -b:like --backup but does not accept an argument当文件存在时,覆盖前,为其创建一个备份
    -d:same as --no-dereference --preserve=links当复制软连接时,链接指向原链接指向的源文件
    -f:if an existing destination file cannot be 覆盖前不询问
    -i:prompt before overwrite 覆盖前询问;
    -p:never follow symbolic links in SOURCE 保留源文件或目录的属性
    --preserv=
      mode:权限
      ownership:属主和属组
      timestamps:时间戳
      contexe:安全标签
      xattr:扩展属性
      links:符号链接
      all:上述所有属性
    -r,-R:copy directories recursively 递归复制所有文件与子目录;
    -u:--update 若目标文件存在,且源文件比较新,才会更新;
    
  • -l:创建硬链接.跟ln效果一样

      [xzt7566@centos7-test Downloads]$ ls
      1.list  2.list  3.list  4.txt  5.txt  6.sh  test
      [xzt7566@centos7-test Downloads]$ cp 1.list 2.list 6.sh -l ./test
      [xzt7566@centos7-test Downloads]$ ll -i . ./test
      .:
      total 0
      51757822 -rw-rw-r--. 2 xzt7566 xzt7566  0 Apr 26 18:48 1.list  硬链接ID一样
      51757825 -rw-rw-r--. 2 xzt7566 xzt7566  0 Apr 26 18:48 2.list  硬链接ID一样
      51757830 -rw-rw-r--. 1 xzt7566 xzt7566  0 Apr 26 18:48 3.list
      51757833 -rw-rw-r--. 1 xzt7566 xzt7566  0 Apr 26 18:48 4.txt
      51758690 -rw-rw-r--. 1 xzt7566 xzt7566  0 Apr 26 18:48 5.txt
      51758691 -rw-rw-r--. 2 xzt7566 xzt7566  0 Apr 26 18:48 6.sh  硬链接ID一样
      17549313 drwxrwxr-x. 2 xzt7566 xzt7566 46 Apr 26 18:48 test
      
      ./test:
      total 0
      51757822 -rw-rw-r--. 2 xzt7566 xzt7566 0 Apr 26 18:48 1.list  硬链接ID一样
      51757825 -rw-rw-r--. 2 xzt7566 xzt7566 0 Apr 26 18:48 2.list  硬链接ID一样
      51758691 -rw-rw-r--. 2 xzt7566 xzt7566 0 Apr 26 18:48 6.sh  硬链接ID一样
    
  • -s:创建软链接.跟 ln -s 效果一样,尽量使用绝对路径,若使用相对路径,必需相对于链接文件目标所在地

      [xzt7566@centos7-test Downloads]$ ls
      1.list  2.list  3.list  4.txt  5.txt  6.sh  test
      [xzt7566@centos7-test Downloads]$ cp -s 1.list 2.list ./test 建立软链接失败
      cp: ‘./test/1.list’: can make relative symbolic links only in current directory
      cp: ‘./test/2.list’: can make relative symbolic links only in current directory
    
  • -b:建立备份

      [xzt7566@centos7-test Downloads]$ tree
      .
      ├── 1.list
      ├── 2.list
      ├── 3.list
      ├── 4.txt
      ├── 5.txt
      ├── 6.sh
      └── test
      
      1 directory, 6 files
      [xzt7566@centos7-test Downloads]$ cp [0-9].* ./test
      [xzt7566@centos7-test Downloads]$ cp [0-9].* ./test -b
      [xzt7566@centos7-test Downloads]$ tree
      .
      ├── 1.list
      ├── 2.list
      ├── 3.list
      ├── 4.txt
      ├── 5.txt
      ├── 6.sh
      └── test
          ├── 1.list
          ├── 1.list~  备份文件
          ├── 2.list
          ├── 2.list~  再执行一次cp -b ,备份文件会被覆盖.可以自定后缀不覆盖原备份.
          ├── 3.list
          ├── 3.list~
          ├── 4.txt
          ├── 4.txt~
          ├── 5.txt
          ├── 5.txt~
          ├── 6.sh
          └── 6.sh~
      
      1 directory, 18 files
    

你可能感兴趣的:(cp)