关于linux mv指令机制

news2025/2/7 12:09:58

        最近在mv文件的时候,操作失误将生产服务器一个1TB的文件夹mv到了/opt/test目录,因为最后/opt/目录被沾满所以1TB的文件夹没有迁移过来,写入了30GB数据到了/opt/test目录,因为系统分区被沾满,所以把test目录给删除了。

        那么问题就来了,1TB的源目录哪些文件被mv到了/opt/test目录中,因为/opt/test/目录被删除无法进行判断,查看生产系统都正常没有发现数据丢失。

        在测试服务器上进行实验,测试将大量数据mv到小于该数据容量硬盘会发生什么现象。新建一个5GB的硬盘,将root目录中的数据(远大于5GB)mv到这个5GB硬盘中.

        执行 mv /root /mnt,在mv的过程中,发现源盘的容量没有减少,但是目标盘的数据量不断在增加,指导目标目录空间被沾满,源盘的数据都没有减少。

       所以鉴于上面的实验可以得知,在mv数据的时候,mv指令因为目标目录被沾满而未完成mv操作,不会对源目录的数据进行删除操作,只是将源目录中的数据写入到目标目录中。

       下面通过strace跟踪mv执行过程。

情况A,mv单个文件,在根目录创建文件“1”,写入数据“111111111111111”,然后mv“1”文件到/mnt目录。通过下面可以知道在数据写入完成后,然后unlink掉源文件“1”

情况B,如果mv整个目录,目录中包含多个文件,那么是mv完成单个文件后就删除对应的源文件,还是mv完成整个目录后,再删除源文件及目录?

创建文件夹mvdata3,写入6个测试文件

执行mv /root/mvdata3 /mnt。

通过上面截图可知,首先判断目标目录/mnt中有没有mvdata3目录及对应所需mv的文件;第二步打开源文件并将数据写入到目标文件。可以看到在文件“1”完成写入后,没有对文件“1”进行unlink操作,而是继续mv文件“2”,依次类推,知道文件“6”。

在文件“1”到文件“6”全部写入完成后,通过strace看到最后删除文件及目录

所以通过上面strace跟踪mv执行可以得出结论,mv操作是在完成所有数据写入后,再执行的删除源文件动作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1336417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

交换机端口镜像技术原理与配置

在网络维护的过程中会遇到需要对报文进行获取和分析的情况,比如怀疑有攻击报文,此时需要在不影响报文转发的情况下,对报文进行获取和分析。镜像技术可以在不影响报文正常处理流程的情况下,将镜像端口的报文复制一份到观察端口&…

OpenAI大模型DecryptPrompt

what is prompt 综述1.Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing(五星好评)综述2. Paradigm Shift in Natural Language Processing(四星推荐)综述3. Pre-Trained Models: Past, Present and Future Prompt即…

LeetCode刷题--- 优美的排列

个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​​​​http://t.cs…

SQL手工注入漏洞测试(MySQL数据库)

一、实验平台 https://www.mozhe.cn/bug/detail/elRHc1BCd2VIckQxbjduMG9BVCtkZz09bW96aGUmozhe 二、实验目标 获取到网站的KEY,并提交完成靶场。 三、实验步骤 ①、启动靶机,进行访问查找可能存在注入的页面 ②、通过测试判断注入点的位置(id) (1)…

Unity VR Pico apk安装失败:INSTALL_FAILED_UPDATE_INCOMPATIBLE

我的报错: PICO4企业版。安装apk,报错“安装失败。(所属的Unity项目打包的apk,被我在同一台pico4安装了20次) 调试方法: PIco4发布使用UNITY开发的Vr应用,格式为apk,安装的时候发生…

Java多线程技术六——线程的状态(备份)

1 概述 线程在不同的运行时期存在不同的状态,状态信息在存在于State枚举类中,如下图。 每个状态的解释如下图 调用于线程有关的方法是造成线程状态改变的主要原因,因果关系如下图 从上图可知,在调用与线程有关的方法后&#xff0…

Scikit-Learn线性回归(一)

Scikit-Learn线性回归一 1、线性回归概述1.1、回归1.2、线性1.3、线性回归1.4、线性回归的优缺点1.5、线性回归与逻辑回归2、线性回归的原理2.1、线性回归的定义与原理2.2、线性回归的损失函数3、Scikit-Learn线性回归3.1、Scikit-Learn线性回归API3.2、Scikit-Learn线性回归初…

mac终端自定义登录欢迎语

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 shigen看着单调的终端,突然有了一丝丝的念头,我要搞的炫酷一点。让我想到的一个场景…

VMvare虚拟机之文件夹共享与防火墙设置

共享文件夹 什么是共享文件夹 共享文件夹是一种在网络上共享文件和文件夹的方法。它允许多个用户通过网络连接到共享文件夹,并可以访问其中的文件和文件夹,进行文件的读取、修改、删除等操作。共享文件夹可以用于方便地共享文件和协作工作,…

STL:std::array 和 基本数组类型array 浅谈一二三

一、优缺点比较 在C中,std::array是标准库提供的数组容器,相比于基础数据类型的数组,它具有以下优点和缺点: 优点: 安全性:std::array提供了边界检查,可以避免数组越界访问的问题。 可以作为…

在Centos7中利用Shell脚本:实现MySQL的数据备份

目录 自动化备份MySQL 一.备份数据库脚本 1.创建备份目录 2.创建脚本文件 3.新建配置文件(连接数据库的配置文件) 4.给文件权限(mysql_backup.sh) ​编辑 5.执行命令 (mysql_backup.sh) ​编辑 二.数据库通过备份恢复 1.创建脚…

jsonhandle 插件下载

网盘地址: 链接:https://pan.baidu.com/s/1hj4GKuGNyDNP2JzsJTLFtg 提取码:87rw 1.打开谷歌浏览器,选择扩展程序,记得选择为开发者模式,然后把下载好的CRX文件拖进去就行了

TCP通信流程

// TCP 和 UDP -> 传输层的协议 UDP : 用户数据报协议,面向无连接,可以单播,多播,广播, 面向数据报,不可靠(接受方不会存储数据,也没有拥塞控制)。效率高&#xff…

二维码智慧门牌管理系统升级:高效授权精准控制

文章目录 前言一、精确权限控制二、角色权限受限与透明操作三、提升工作效率与安全性 前言 二维码智慧门牌管理系统在企业管理中扮演着愈发重要的角色。通过系统升级,管理员可以配置权限角色,为单个或多个用户赋权,实现精准控制,…

如何进行镜像管理

目录 镜像管理 创建自定义镜像 自定义镜像管理 自定义镜像管理方法 对于传统的物理服务器,就要基于现有服务器磁盘制作操作系统镜像,系统镜像可以简单理解成把操作系统中包含的一系列文件通过镜子映射出一模一样的文件并进行打包压缩,就变…

Flowable-升级为7.0.0.M2-第二节

目录 替换变化的类和配置把javax.servlet 替换为 jakarta.servlet修改redis的配置配置logging.level.org.springframework.boot.autoconfigureerror避免影响视听 替换变化的类和配置 把javax.servlet 替换为 jakarta.servlet import javax.servlet.ServletContext; import ja…

AI赋能金融创新:ChatGPT引领量化交易新时代

文章目录 一、引言二、ChatGPT与量化交易的融合三、实践应用:ChatGPT在量化交易中的成功案例四、挑战与前景五、结论《AI时代Python量化交易实战:ChatGPT让量化交易插上翅膀》📚→ [当当](http://product.dangdang.com/29658180.html) | [京东…

【JavaScript】原型对象 => 原型链的深入浅出解读

文章目录 先知概念:原型 prototype隐式原型 __ proto __原型链 先知概念: 在了解原型与原型链之前,我们应该要先明确以下几个概念: 1. 在 JS中 所有的普通对象 都是 通过 new 一个函数来创建的。 2. 在 JS中 所有的函数 本质上也是…

开源问答类知识网站源码系统 附带完整的搭建教程

人们对知识的需求和获取方式也在发生改变。问答类知识网站成为了人们获取答案、解决问题的重要途径之一。然而,由于问答类知识网站需要处理大量的用户提问和回答,因此对于技术的要求也相对较高。小编给大家分享一款开源问答类知识网站源码系统&#xff0…

【Git版本控制】

Day10_Git版本控制 知识点01:课程内容大纲与学习目标 #课程内容大纲版本控制工具Git ​ #学习目标了解下git的背景以及作用了解下git基本使用 知识点02:项目开发中的版本问题 目标:了解项目开发中遇到的开发版本问题 举例:你在大…