系统相关
首页 > 系统相关> > 每天一个linux命令:cp(8)

每天一个linux命令:cp(8)

作者:互联网

cp

cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误

格式

cp [选项] [参数]

参数选项

参数 备注
-a 此参数的效果和同时指定"-dpR"参数相同;
-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f 强行复制文件或目录,不论目标文件或目录是否已存在;
-i 覆盖既有文件之前先询问用户;
-l 对源文件建立硬连接,而非复制文件;
-p 保留源文件或目录的属性;
-R/r 递归处理,将指定目录下的所有文件与子目录一并处理;
-s 对源文件建立符号连接,而非复制文件;
-u 使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S 在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b 覆盖已存在的文件目标前将目标文件备份;
-v 详细显示命令执行的操作。

实例

[root@VM_0_9_centos test]# mkdir targetDir && cp myFile ./targetDir/myFile
[root@VM_0_9_centos test]# tree
.
|-- myFile
`-- targetDir
    `-- myFile  #复制的文件
[root@VM_0_9_centos test]# mkdir targetDir && cp myFile ./targetDir/myFile2
[root@VM_0_9_centos test]# tree
.
|-- myFile
`-- targetDir
    `-- myFile2  #复制的文件
[root@VM_0_9_centos test]# cp myFile ./targetDir/myFile2 
cp: overwrite ?./targetDir/myFile2?. y
 [root@VM_0_9_centos test]# tree
.
|-- sourceDir
|   |-- myFile1
|   `-- myFile2
`-- targetDir

2 directories, 2 files
[root@VM_0_9_centos test]# cp -a sourceDir targetDir
[root@VM_0_9_centos test]# tree
.
|-- sourceDir
|   |-- myFile1
|   `-- myFile2
`-- targetDir
    `-- sourceDir
        |-- myFile1
        `-- myFile2

3 directories, 4 files
root@VM_0_9_centos test]# ll
total 8
drwxr-xr-x 2 root root 4096 Oct 27 23:05 sourceDir
drwxr-xr-x 3 root root 4096 Oct 27 23:38 targetDir
[root@VM_0_9_centos test]# touch test.txt
[root@VM_0_9_centos test]# cp -s test.txt test_link.txt
[root@VM_0_9_centos test]# ll
total 8
drwxr-xr-x 2 root root 4096 Oct 27 23:05 sourceDir
drwxr-xr-x 3 root root 4096 Oct 27 23:38 targetDir
lrwxrwxrwx 1 root root    8 Oct 27 23:44 test_link.txt -> test.txt
-rw-r--r-- 1 root root    0 Oct 27 23:44 test.txt
[root@VM_0_9_centos test]# tree
.
|-- sourceDir
|   |-- myFile1
|   `-- myFile2
`-- targetDir
    `-- sourceDir
        |-- myFile1
        `-- myFile2
3 directories, 4 files

[root@VM_0_9_centos test]# ls -l targetDir/sourceDir/
total 0
-rw-r--r-- 1 root root 0 Oct 27 23:05 myFile1
-rw-r--r-- 1 root root 0 Oct 27 23:05 myFile2

[root@VM_0_9_centos test]# cp -a sourceDir targetDir
cp: overwrite ?.argetDir/sourceDir/myFile1?. y
cp: overwrite ?.argetDir/sourceDir/myFile2?. y
[root@VM_0_9_centos test]# \cp -a sourceDir targ    etDir
[root@VM_0_9_centos test]# tree
.
|-- sourceDir
|   |-- myFile1
|   `-- myFile2
`-- targetDir
    `-- sourceDir
        |-- myFile1
        `-- myFile2

3 directories, 4 files

参考

标签:sourceDir,targetDir,VM,命令,linux,test,cp,root
来源: https://www.cnblogs.com/DiDi516/p/11749940.html