我有一些问题,复制文件夹中的文件到另一个文件夹。命令cp -r不会复制文件夹中的文件。


你要找的选项是-R。

cp -R path_to_source path_to_destination/

如果目的地不存在,将创建它。 -R表示递归复制目录。你也可以使用-r,因为它不区分大小写。 要复制源文件夹内的所有内容(符号链接,隐藏文件)而不复制源文件夹本身,请使用-a标志和后面的/。来源(根据@muni764 / @Anton Krug的评论):

cp -a path_to_source/. path_to_destination/

Use:

$ cp -R SRCFOLDER DESTFOLDER/

您正在查找cp命令。您需要更改目录,以便处于要复制的目录之外。

如果你要复制的目录是dir1,你想把它复制到你的/home/Pictures文件夹:

cp -r dir1/ ~/Pictures/

Linux是区分大小写的,并且还需要每个目录后面的/来知道它不是一个文件。~是终端中的一个特殊字符,它自动计算到当前用户的主目录。如果您需要知道您所在的目录,请使用命令pwd。

当你不知道如何使用Linux命令时,有一个手册页面,你可以通过输入:

man [insert command here]

在终端提示符下。

此外,要在终端中输入时自动完成长文件路径,您可以在开始输入路径后按Tab键,然后您将看到选项,或者它将插入路径的剩余部分。

Linux和Unix在答案中有一个重要的区别,因为对于Linux (GNU和BusyBox) -R、-R和——recursive都是等价的,就像在这个答案中提到的那样。对于可移植性,即POSIX遵从性,您可能希望使用-R,因为它与-R存在一些依赖于实现的差异。阅读手册页以了解可能出现的任何特性是很重要的(这是一个很好的用例,可以说明POSIX标准为什么有用)。