在Linux下,我们可以使用cp命令复制文件和目录。cp命令用于将文件从一个地方复制到另一个地方。原来的文件不变,新文件可能保持原名或者用一个不用的名字。
使用cp命令复制文件或目录的语法有以下几种:
$ cp [OPTION] SOURCE DEST #复制源文件到目标文件
$ cp [OPTION] SOURCE… DIRECTORY #复制一个或多个源文件到一个目录
$ cp [OPTION] -t DIRECTORY SOURCE… #复制一个或多个源文件到一个目录
- 在当前目录下,创建一个cp.txt的副本,取名为newcp.txt。
[root@vagrant-centos65 cp]# ls
cp.txt
[root@vagrant-centos65 cp]# cp cp.txt newcp.txt
[root@vagrant-centos65 cp]# ls
cp.txt newcp.txt
- 复制当前的文件到同级的tmp文件夹中
[root@vagrant-centos65 cp]# ls
cp.txt newcp.txt tmp
[root@vagrant-centos65 cp]# cp newcp.txt ./tmp/newcp.txt
[root@vagrant-centos65 cp]# ls
cp.txt newcp.txt tmp
[root@vagrant-centos65 cp]# cd tmp/
[root@vagrant-centos65 tmp]# ls
newcp.txt
- 复制当前所有的文件到tmp目录
[root@vagrant-centos65 cp]# cp * ./tmp
cp: overwrite./tmp/newcp.txt'? y cp: omitting directory
tmp’
[root@vagrant-centos65 cp]# cd tmp/
[root@vagrant-centos65 tmp]# ls
cp.txt neighbourhood_Wong.txt newcp.txt
[root@vagrant-centos65 tmp]#
- 使用-p选项,可以使复制一个文件到新文件时,保留源文件的所有者、用户组、权限、修改和访问时间,以及一些扩展属性等信息。
$ cp -p filename /path/to/new/location/myfile
- 使用-R或者-r选项,可以递归的复制一个目录,即将一个目录及其下的所有的文件和子目录都复制到另一个目录。
[root@vagrant-centos65 williams]# ls
boy girl
[root@vagrant-centos65 williams]# cp -R * …/cp
[root@vagrant-centos65 williams]# cd …/cp/
[root@vagrant-centos65 cp]# ls
boy girl
- 还有比较常用的归档模式复制:
$ cp -a * /path/to/new/location
- -a:存档模式。相当于-dpR
- -d:保留软链接
- -p:保留权限、所有权和时间戳等信息
- -R:递归地复制目录
以上是今天的所有内容,感谢收看,欢迎打赏。