Linux 使用 `cp` 命令导致挂载点被覆盖问题记录

Linux 使用 cp 命令导致挂载点被覆盖问题记录

我在linux上运行一个cp命令 cp -r /home/home_bk/* /home 此时为什么我找不到home_bk目录了? home_bk 目录是挂载在 /dev/sda1 上面 home 目录是挂载在 /dev/sdc1 上面

你现在的情况:

  • /home 已经挂载到 /dev/sdc1
  • /home/home_bk 挂载到 /dev/sda1

你执行了:

复制代码
cp -r /home/home_bk/* /home

结果:home_bk 消失了

为什么?
因为:

你把 /dev/sda1 里的所有内容,全部复制覆盖到了 /dev/sdc1 的 /home 目录下。

同时,原来的 /home/home_bk 这个「挂载点目录」被覆盖删除了!


核心原理(超级简单)

  1. /home 现在是 新分区 /dev/sdc1

  2. /home/home_bk 是 旧分区 /dev/sda1 的挂载点

  3. 你执行 cp -r /home/home_bk/* /home

    → 把 sda1 里的所有文件

    全部拷贝到 sdc1 的 /home 下

  4. 拷贝过程中,原来的 /home/home_bk 目录被删掉 / 覆盖了

  5. 所以挂载点没了 → 看起来 home_bk 消失了


你的 home_bk 数据并没有丢!

/dev/sda1 里的数据完好无损!

只是 /home 下的挂载点目录 home_bk 被覆盖删除了


立刻恢复 home_bk(一步一步照做)

1. 重新创建挂载点目录
复制代码
mkdir -p /home/home_bk
2. 重新挂载 sda1 到 home_bk
复制代码
mount /dev/sda1 /home/home_bk
3. 查看是否恢复
复制代码
ls /home/home_bk

✅ 马上就能看到所有数据


以后绝对不能再这样复制!

错误命令(会删挂载点):

复制代码
cp -r /home/home_bk/* /home

正确复制(不破坏挂载点):

复制代码
cp -r /home/home_bk/. /home

或者

复制代码
rsync -av /home/home_bk/ /home/

最终总结(最关键)

  1. home_bk 数据没丢,都在 /dev/sda1 里
  2. 只是挂载点目录被 cp 命令覆盖删除了
  3. 重建目录 + 重新挂载 → 立刻恢复
相关推荐
程序员清风7 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
readhere8 小时前
从ZYNQ7000开发板,学会启动嵌入式Linux系统——入门学习:EBAZ4205篇目录
linux·启动·嵌入式linux·zynq7000·ebaz4205
打工仔折腾 AI9 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
yyuuuzz9 小时前
跨境站点日志时区混乱的排查记录
运维·服务器·网络·云计算·aws·1024程序员节
‎ദ്ദിᵔ.˛.ᵔ₎9 小时前
关于Linux 线程局部存储的认识
linux·运维
GlobalInfo10 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
数字新视界11 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
隔窗听雨眠11 小时前
KingbaseES平替全链路实践:从迁移评估到可持续运维
运维
skywalk816311 小时前
登到192.168.1.5那台机器,看看今天白天,大约从早晨到晚上,都卡住了。看看因为什么卡住,为什么卡住而没有杀死那个导致卡死的进程,为什么
运维·系统·freebsd
运维行者_11 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php