• cp


     程序包:GNU coreutils


     语法:

      复制命令,可以有多个源和一个目标,此刻该目标必须是个目录;否则就只能是一个源、一个目标。

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

    选项:  包含公共选项

      -L,复制链接文件的目标文件到指定位置,目标文件不再是链接文件。

      -P,复制链接文件的时候,目标文件仍然是个链接文件。

      -d,同大写“P”。

      -r,同大写“R”。

      -R,递归复制。

      -a,同“-dR”,归档复制,保留文件原有属性复制,常用于备份。

      -f,强制覆盖。

      -i,覆盖提示。

     

    1.复制

      “cp可以将一个文件复制到另一个文件,或将任意多个文件复制到目标目录。”

       ① 复制普通文件,默认覆盖目标文件

    $ cat file1 file2    # 目标文件存在
    file1
    file2
    $ cp file1 file2
    $ cat file2    # 目标文件被覆盖,默认没有提示信息
    file1

       ② -t 选项指定目标是个目录

    $ cp -t file1 file2
    cp: target ‘file1’ is not a directory
    $ cp -t des file2
    $ cp -t des src
    cp: omitting directory ‘src’
    $ tree
    .
    ├── des
    │   ├── d1
    │   ├── d2
    │   ├── d3
    │   ├── d4
    │   └── file2
    ├── file1
    ├── file2
    └── src
        ├── s1
        ├── s2
        └── s3
    
    $ cp -T file1 des
    cp: cannot overwrite directory ‘des’ with non-directory

    2.处理目录

      默认情况下,cp不能把目录文件作为源文件进行复制。需要复制目录时,需要使用选项-R、-a、-r,进入目录里边递归地把文件复制到目标目录。

      选项“-R, -r, --recursive”,一个意思:递归复制目录。

    [view@payqa1 .tmp]$ cp src des/
    cp: omitting directory `src'
    [view@payqa1 .tmp]$ cp -r src des/
    [view@payqa1 .tmp]$ tree des/
    des/
    ├── d1
    ├── d2
    ├── d3
    └── src
        ├── s1
        ├── s2
        └── s3
    
    1 directory, 6 files

      选项“-a, --archive”,就是“-dR --preserve=all”。处理目录起始也是用了“-r”选项。

    3.符号链接

      复制符号链接时,会复制链接标目文件;当使用了递归选项、--link(-l)时,复制的是个链接文件。

    # 1 符号链接是相对路径时、绝对路径,复制效果一样
    $ ln -s file1 f1
    $ cp f1 des
    $ file des/f1 f1
    des/f1: ASCII text
    f1:     symbolic link to `file1'
    # 2 复制效果一样,相对路径失效
    $ ln -s fil2 src/f2
    $ cp -r src des
    $ file des/src/f2
    des/src/f2: broken symbolic link to `fil2'
    $ cat des/src/f2
    cat: des/src/f2: No such file or directory
    一切代码都是为了生活,一切生活都是调剂
  • 相关阅读:
    BestCoder Round #71 (div.2) (hdu 5621)
    BestCoder Round #71 (div.2) (hdu 5620 菲波那切数列变形)
    BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)
    BestCoder Round #70 Jam's math problem(hdu 5615)
    BestCoder Round #68 (div.2) tree(hdu 5606)
    poj 2299 Ultra-QuickSort(归并排序或是bit 树+离散化皆可)
    hdu 3874 Necklace(bit树+事先对查询区间右端点排序)
    HDU 4300 Clairewd’s message(KMP)
    HDU 3308 LCIS(线段树单点更新区间合并)
    PKU 3667 Hotel(线段树)
  • 原文地址:https://www.cnblogs.com/argor/p/7909956.html
Copyright © 2020-2023  润新知