我有一些问题,复制文件夹中的文件到另一个文件夹。命令cp -r不会复制文件夹中的文件。
当前回答
您正在查找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标准为什么有用)。
其他回答
你要找的选项是-R。
cp -R path_to_source path_to_destination/
如果目的地不存在,将创建它。 -R表示递归复制目录。你也可以使用-r,因为它不区分大小写。 要复制源文件夹内的所有内容(符号链接,隐藏文件)而不复制源文件夹本身,请使用-a标志和后面的/。来源(根据@muni764 / @Anton Krug的评论):
cp -a path_to_source/. path_to_destination/
您正在查找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标准为什么有用)。
Use:
$ cp -R SRCFOLDER DESTFOLDER/
推荐文章
- fork(), vfork(), exec()和clone()的区别
- 在tmux中保持窗口名称固定
- 如何生成一个核心转储在Linux上的分段错误?
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 如何在Apache服务器上自动将HTTP重定向到HTTPS ?
- 如何限制从grep返回的结果的数量?
- 将值从管道读入shell变量
- 以相对于当前目录的路径递归地在Linux CLI中列出文件
- 如何使用xargs复制名称中有空格和引号的文件?
- 在makefile中抑制命令调用的回声?
- 在套接字编程中AF_INET和PF_INET的区别是什么?
- Chmod递归
- 任何方式退出bash脚本,但不退出终端
- 如何查看按实际内存使用情况排序的顶级进程?
- 如何将多行输出连接到一行?