如何在Unix/Linux中创建目录副本?[已关闭]

oyt4ldly  于 2023-02-15  发布在  Linux
关注(0)|答案(3)|浏览(129)

九年前就关门了。
Improve this question
我想用recursively创建一个目录及其所有内容(例如文件和子目录)的副本。

zbdgwd5y

zbdgwd5y1#

您要查找的选项是-R

cp -R path_to_source path_to_destination/
  • 如果destination不存在,则将创建它。
  • -R表示copy directories recursively。您也可以使用-r,因为它不区分大小写。
  • 要复制源文件夹内的所有内容(符号链接、隐藏文件)而不复制源文件夹 * 本身 *,请在源文件中使用-a标记沿着尾随的/.(根据@muni764的/@Anton Krug的注解):
cp -a path_to_source/. path_to_destination/
byqmnocz

byqmnocz2#

您正在查找cp命令。您需要更改目录,以便位于要复制的目录之外。
如果要复制的目录名为dir1,并且您希望将其复制到/home/Pictures文件夹:

cp -r dir1/ ~/Pictures/

Linux是区分大小写的,并且每个目录后面都需要/来确定它不是一个文件。~是终端中的一个特殊字符,它会自动计算当前用户的主目录。如果你需要知道你所在的目录,可以使用pwd命令。
当您不知道如何使用Linux命令时,可以键入以下内容来参考手册页:

man [insert command here]

在终端提示符处。
此外,要在终端中键入时自动完成长文件路径,您可以在开始键入路径后单击Tab,您将看到选择,或者它将插入路径的剩余部分。
在答案中,Linux和Unix之间有一个重要的区别,因为对于Linux(GNU和BusyBox)-R-r--recursive都是等效的,如this answer中所述。对于可移植性,即POSIX兼容性,您可能希望使用-R,因为它与-r存在一些依赖于实现的差异。阅读手册页以了解可能出现的任何特性是很重要的(这是一个很好的用例,可以说明为什么POSIX标准是有用的)。

kh212irz

kh212irz3#

用途:

$ cp -R SRCFOLDER DESTFOLDER/

相关问题