当前位置: 首页 > news >正文

linux cp与mv那个更可靠

linux os环境下,任何小白都会用cp与mv,cp顾名思义复制一份file,mv顾名思义重命名新file。我们很少关注cp与mv的底层实现。

背景

写一个shell脚本替换现网80W+台硬件服务器上的某个文件,此时就得慎重考虑cp与mv的底层原理。

伪代码:方案1:   cp a.txt b.txt

               方案2:   cp a.txt a.txt.bak

                             mv a.txt.bak b.txt

咋一看,方案2有点多次一举,实则是基于cp与mv的底层逻辑考虑,这里假定要替换的文件不大,很快就能拷贝完。

cp底层实现

  • cp 操作本身几乎总是非原子性的。​​ 它的底层实现主要是 open()read()write()close() 系统调用(可能涉及创建中间临时文件、copy_file_range() 等优化)。

  • ​复制过程:​

    相关文章:

  • 2-深度学习挖短线股-2-训练数据计算
  • Elasticsearch 中的精确搜索与模糊搜索
  • 从手机随拍到标准扫描件:AI如何智能校正证件照片(Python+OpenCV)
  • 机器人系统ROS中包内节点启动详解和实战示例
  • Maven配置本地仓库、中央仓库、公司私有仓库
  • 笔记04:层叠的定义及添加
  • 【机器学习深度学习】线性回归
  • 高中成绩可视化平台开发笔记
  • Jenkins 部署与使用
  • Nordic nRF52832 寄存器级 UARTE 发送实现
  • Python中的多线程与协程:程序、线程、进程之间的关联关系
  • 发布:大彩DN系列3.2寸全视角IPS串口屏发布!
  • MySQL(基础篇)
  • Django 零基础起步:开发你的网站第一步
  • 阿里推出 R1-Omni:将强化学习与可验证奖励(RLVR)应用于全模态大语言模型
  • 如何将 Memfault 固件 SDK 集成到使用 Nordic 的 nRF Connect SDK(NCS)的项目中
  • LlamaIndex基础概念与核心架构
  • Linux中部署Jenkins保姆间教程
  • [mcp-servers] docs | AI客户端-MCP服务器-AI 架构
  • WPF 实现自定义弹窗输入功能