Linux 复制一个文件夹里的内容到另外一个文件夹

在 Linux 中,可以使用 cp 命令将一个文件夹里的内容(而不是整个文件夹本身)复制到另一个文件夹中。关键在于源路径末尾是否带 /

基本语法:

cp -r 源文件夹/ 目标文件夹/

注意:源路径末尾加 / 表示复制该目录下的所有内容;如果不加 /,则会把整个源文件夹(包括名字)复制到目标目录下。


示例

假设你有以下两个目录:

  • /home/user/source/
  • /home/user/destination/

你想把 source/ 里面的所有文件和子目录复制到 destination/ 里(而不是创建 destination/source/),请使用:

cp -r /home/user/source/. /home/user/destination/

或者(等效写法):

cp -r /home/user/source/* /home/user/destination/

⚠️ 注意:source/* 不会匹配以 . 开头的隐藏文件(如 .gitignore),而 source/. 会包含所有内容(包括隐藏文件)。


推荐方式(最安全、完整):

cp -r /path/to/source/. /path/to/destination/
  • -r 表示递归复制(用于目录)
  • source/. 表示“这个目录下的所有内容”,包括隐藏文件

补充说明

  • 如果 destination/ 不存在,可以先创建它:
    mkdir -p /path/to/destination
    
  • 如果目标目录已存在同名文件,cp 默认会覆盖(不会提示),如需交互式确认,加 -i 参数:
    cp -ri /path/to/source/. /path/to/destination/
    

希望这能帮到你!如有更多需求(如同步、保留权限等),也可以考虑用 rsync

posted @ 2026-02-04 15:06  大自然的流风  阅读(340)  评论(0)    收藏  举报