如何在 Linux 命令行中复制目录如何在 Linux 命令行中复制目录如何在 Linux 命令行中复制目录如何在 Linux 命令行中复制目录
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 命令行中复制目录

这个针对初学者的快速提示演示了如何使用 cp 命令在 Linux 中复制目录。您还将了解一些有关复制目录的其他技巧。

如果您是 Linux 命令行新手,您可能会有这样的问题:如何在 Linux 命令行中将目录及其中的文件复制到另一个目录?

以下是在 Linux 中复制目录的方法:

cp -r source_directory destination_directory

您可能已经知道可以使用 cp 命令在 Linux 中复制文件。您知道可以在 Linux 命令行中使用相同的 cp 命令复制文件夹吗?

哈!您已经尝试过,并且可能收到此错误:

cp: -r not specified; omitting directory 'test_dir'

让我向您展示有关在 Linux 中复制目录的一两件事。

在Linux命令行中复制目录

您绝对可以使用相同的 cp 命令,但使用递归选项 -r 将文件夹及其内容复制到另一个文件夹。上述错误还暗示您错过了 -r 选项。

您所要做的就是以这种方式使用该命令:

cp -r source_directory destination_directory

现在,如果您在目标目录上使用 ls 命令,它应该包含整个源目录。

-r 选项允许递归选项。这意味着目录的全部内容(包括其子目录)、目录中的所有内容都将被复制到目标位置。

Linux中复制目录的一些注意事项

以下是有关复制文件夹的一些注意事项和提示。

目标目录不存在?它将被创建

如果目标目录不存在(但路径存在),则会创建一个级别的目录(下一节将对此进行说明)。但是,它现在将复制源目录的内容,而不是源目录本身。

例如,如果您这样做:

cp -r source_directory non_existing_directory

non_existing_directory 将使用 source_directory 的内容创建,但其中不会包含 source_directory。仅复制 source_directory 的文件。这就像 non_existing_directory 将是 source_directory 的副本。

abhishek@linux:~$ ls
test_dir
abhishek@linux:~$ cp -r test_dir new_dir
abhishek@linux:~$ tree
 .
 ├── new_dir
 │   ├── c.xyz
 │   ├── myzip1.zip
 │   └── myzip2.zip
 └── test_dir
     ├── c.xyz
     ├── myzip1.zip
     └── myzip2.zip
 2 directories, 6 files

复制时无法创建嵌套目录

您不能使用上述命令创建嵌套目录结构。

例如,如果您尝试使用 cp -r source_dir dir1/dir2/dir3 但 dir2 和 dir3 不存在,则它不会创建嵌套目录结构并且命令失败。

保留原始文件属性

最后一个建议是让事情简短。如果您将 -a 选项与 -r 选项一起使用,它将保留原始文件信息,例如文件权限、文件时间戳等。它将目录存档到新位置,而不是重新创建它。

就是这样

这么多信息应该足以让您了解如何在 Linux 中复制目录。如果您有疑问或建议,请随时发表评论。

©2015-2025 艾丽卡 support@alaica.com