Linux教程 | 如何在 Linux 中复制文件
在本文中,我将解释该命令是什么,并向您展示如何使用终端在Linux中复制和粘贴文件和目录。cp
命令是什么?cp
您可以使用该命令将文件从一个位置复制到另一个位置。此命令还可以复制目录(文件夹)。cp
此命令的语法为:
cp [...file/directory-sources] [destination]
[file/directory-sources]
指定要复制的文件或目录的源。该参数指定要将文件复制到的位置。[destination]
为了理解本文的其余部分,我将使用此文件夹结构示例。假设一个名为 DirectoryA 的目录有两个目录:DirectoryA_1和DirectoryA_2。这些子目录中有许多文件和子目录。
我还假设您当前位于终端中的 DirectoryA 位置,因此,如果您不在,请确保您是:
cd DirectoryA
如何使用命令复制文件cp
如果要复制文件,例如 README.txt从DirectoryA_1复制到DirectoryA_2,您将使用如下命令:cp
cp ./DirectoryA_1/README.txt ./DirectoryA_2
# ./DirectoryA_1/README.txt is the source file
# ./DirectoryA_2 is the destination
如果要将多个文件从DirectoryA_1复制到DirectoryA_2,请使用如下命令:cp
cp ./DirectoryA_1/README.txt ./DirectoryA_1/ANOTHER_FILE.txt ./DirectoryA_2
如您所见,您将首先放置所有源文件,最后一个参数将是目标。
如何使用命令复制目录cp
默认情况下,该命令适用于文件。因此,如果您尝试复制如下目录:cp
cp ./DirectoryA_1/Folder/ ./DirectoryA_2
您将收到一个错误,指出:
./DirectoryA_1/Folder/ 是一个目录
要复制目录,您必须传递标志。此标志通知命令以递归方式复制目录及其内容(可以是文件或其他子目录)。因此,对于上一个命令,您可以在目录源之前添加标志,如下所示:-r
cp
cp -r ./DirectoryA_1/Folder/ ./DirectoryA_2
此命令将递归复制 ./DirectoryA_1/ 中的文件夹目录以及文件夹目录中的所有文件和目录。
如何复制与 glob 模式匹配的文件
glob 模式类似于正则表达式,它允许您将多个文件与与特定模式匹配的名称进行匹配。在此处了解有关差异的更多信息:正则表达式与 Glob 模式。
例如,如果要复制扩展名为 .txt 的 DirectoryA_1 中的所有文件,可以执行以下命令:
cp ./DirectoryA_1/*.txt ./DirectoryA_2
./DirectoryA_1/*.txt
匹配名称中带有扩展名的文件,并且该命令可以将所有这些文件复制到目标。.txt
cp