Linux命令行处理文件复制和目录复制

命令方法:

$ cp [OPTIONS] <SOURCE> <DEST>
$ cp [OPTIONS] <SOURCE-1> <SOURCE-2> ... <DIRECTORY>

这里,我们可以看到直接命令复制文件和目录的用法。具体实例如下。

1、拷贝一个文件

$ touch file-1.txt
$ cp file-1.txt file-2.txt

这里我们用touC++h创建一个文件,然后用cp命令进行复制拷贝一份file-2文件。

2、显示复制命令进度

如果我们拷贝复制的文件很多,我们是不是需要看到复制进度?

cp -v file-1.txt file-3.txt

这样用-v参数,可以看到拷贝进度。

3、复制多个文件到目录

比如我们需要将几个文件一起复制到一个目录,这个常用于文件的转移。

$ cp -v file-1.txt file-2.txt file-3.txt dir-1

这样可以将file-1-file-3复制到dir-1目录中。

4、避免覆盖文件

我们在复制文件的时候,有是重名的文件,不希望被覆盖。

$ cp -n -v file-1.txt file-2.txt

默认复制是直接覆盖的,这里我们可以用-n参数进行禁止覆盖。

5、可选是否覆盖

我们可以用参数来检测是否有重复文件,然后提示是否覆盖。

$ cp -i file-1.txt file-2.txt

cp: overwrite 'file-2.txt'?

如果有重复的,会提示是否覆盖。这里用到的-i参数。

6、覆盖之前如何备份文件

cp --backup=numbered -v file-1.txt file-2.txt

7、如何在复制前删除目标文件

 cp --remove-destination -v file-1.txt file-2.txt

在上面的输出中,我们可以看到cp命令首先删除目标文件,然后执行复制操作。

8、如何创建一个硬链接文件而不是复制

$ cp -l -v file-1.txt file-4.txt

我们可以创建一个硬链接,而不是创建源文件的新副本。当磁盘空间不足时,此选项将发挥重要作用。

所以,让我们使用-l选项来创建一个硬链接。

9、如何创建一个软链接文件而不是复制

$ cp -s -v file-1.txt file-5.txt

10、如何在复制时保存文件属性

$ touch file-1.txt
$ cp file-1.txt file-2.txt0

11、如何递归地执行复制操作

我们可以使用-r或-r选项来使用递归模式。

$ touch file-1.txt
$ cp file-1.txt file-2.txt1

然后进行复制递归。

$ touch file-1.txt
$ cp file-1.txt file-2.txt2

12、如何复制多个目录

$ touch file-1.txt
$ cp file-1.txt file-2.txt2 dir-4

让我们使用以下命令将dir-1和dir-3目录复制到dir-4目录。

我们可以使用命令的-t选项来实现相同的结果。

$ touch file-1.txt
$ cp file-1.txt file-2.txt4

这样,我们常用的cp命令是用于复制文件和目录的,我们可以根据实例进行学习。

这里cp命令说明:

$ touch file-1.txt
$ cp file-1.txt file-2.txt5