当前位置:C++技术网 > 资讯 > Linux的常用Shell命令新手入门:3 目录操作命令-复制文件夹(复制目录)

Linux的常用Shell命令新手入门:3 目录操作命令-复制文件夹(复制目录)

更新时间:2016-09-06 15:10:35浏览次数:1+次

复制目录

cp :copy(复制)

语法:cp [选项] 被复制的源文件 被创建的目标文件

因为cp和rm一样,是文件操作命令,所以不再这里细说这两个命令选项。这里针对目录给出常用选项使用说明。我们一般都是复制整个目录的文件到另外一个位置,所以我们这就是介绍的这个方面的命令使用。

-f : force(强制),此选项会在复制的时候覆盖已经存在的文件,不会有任何提示。如果没有此选项,在覆盖文件时会提示是否覆盖,如果输入y则同意覆盖,输入n则不同意覆盖,即取消这个文件的复制。

-v : verbose,啰嗦的,显示详细的信息,所有的命令的-v选项都是这个意思。

-r : recursive,递归方式复制文件夹。也就是会复制文件夹下的所有文件和所有子文件夹以及所有子文件下的所有内容。

* :通配符*,匹配所有文件类型的文件和文件夹。这个可以用来复制文件夹下的所有文件和目录。

1.直接复制文件夹下的文件
cp /test.txt /data/test.txt
描述:直接复制单个文件。如果目标位置/data/目录下已经存在test.txt文件,则会提示:
cp: overwrite(覆盖) `/data/test.txt'?
输入y确认覆盖,输入n跳过复制。

2.强制复制文件夹下的文件
cp -f /test.txt /data/test.txt
描述:不会提示任何覆盖信息,如果目标位置已经存在相同文件,则直接覆盖。

3.复制文件夹下的所有文件,除了子文件夹(目录)
cp /test/* /data/
描述:复制/test/目录下的所有文件到/data/目录下。会自动忽略文件夹,即不会复制子文件夹。

4.复制文件夹下的所有文件,包括子文件夹内的所有文件
cp -r /test/* /data/
描述:以递归的形式,一层层的复制目录下的所有文件,包括子目录下面的所有文件。

5.带提示的复制
cp -rv /test/* /data/
描述:加上v选项就可以看到复制过程的输出信息。以后就不再列举选项v。

6.强制覆盖复制目录下所有文件【最常用】
cp -rfv /test/* /data/
描述:第4组在复制整个目录文件的时候,如果目标已经存在了一些文件,则会有覆盖提示,所以要混合使用f,消除覆盖提示,直接覆盖。这个是我们最常用的命令。

注:cp命令还有很多选项,主要是文件方面的操作,这里就介绍了文件夹相关的选项。在文件操作时在细说cp。