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