Unix/Linux系统中如何复制目录

Unix/Linux系统中如何复制目录

技术背景

在Unix/Linux系统中,经常需要对目录进行复制操作。了解如何正确复制目录,能提高文件管理的效率。

实现步骤

基本复制目录操作

使用cp命令结合-R-r选项可以递归地复制目录,命令格式如下:

1
cp -R path_to_source path_to_destination/

说明:

  • 如果目标目录destination不存在,它将被自动创建。
  • -R-r意思是递归复制目录,二者不区分大小写。

复制源文件夹内的所有内容

若要复制源文件夹内的所有内容(包括符号链接、隐藏文件),而不复制源文件夹本身,可以使用-a选项,并在源路径后加上/.

1
cp -a path_to_source/. path_to_destination/

示例

假设要将名为dir1的目录复制到/home/Pictures文件夹下,可使用以下命令:

1
cp -r dir1/ ~/Pictures/

说明:

  • Linux系统区分大小写,并且每个目录后面需要加上/以表明这是一个目录而非文件。
  • ~是终端中的特殊字符,自动表示当前用户的主目录。

核心代码

递归复制目录

1
cp -R path_to_source path_to_destination/

复制源文件夹内所有内容

1
cp -a path_to_source/. path_to_destination/

最佳实践

查看命令使用手册

当不知道如何使用某个Linux命令时,可以通过man命令查看其手册:

1
man [insert command here]

自动补全路径

在终端输入长文件路径时,输入部分路径后按Tab键,系统会给出选择或自动补全剩余路径。

常见问题

-R-r的区别

在Linux(GNU和BusyBox)中,-R-r--recursive是等效的。但为了保证可移植性,即遵循POSIX标准,建议使用-R,因为-r可能存在一些与实现相关的差异。因此,在使用命令前,最好阅读相应的手册页,了解可能出现的特殊情况。


Unix/Linux系统中如何复制目录
https://119291.xyz/posts/unix-linux-directory-copy-guide/
作者
ww
发布于
2025年6月18日
许可协议