关于linux mv指令机制

        最近在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.mzph.cn/news/542154.shtml

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

相关文章

数据库的管理

1. 数据库的简介 定义:数据库(Database)就是一种按数据结构来组织,存储和管理数据的仓库,其中包含数据挖掘,大数据信息的推送。 mariadb数据库管理系统是mysql的一个分支,主要由开源社区在维护&…

C#中的Dictionary字典类介绍(转载)

C#中的Dictionary字典类介绍 关键字:C# Dictionary 字典 作者:txw1958原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-dictionary.html 说明 必须包含名空间System.Collection.Generic Dictionary里面的每一个元素都…

高速缓存dns

1. DNS: Domain Name System,域名系统。 万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网。他主要负责把域名和IP的相互转换,DNS运行与TCP|UDP的53端口上。 2. 高速缓存DNS:DNS服务…

Apache服务配置

1. apache 企业中常用的web服务。用来提供http://(超文本传输协议) 基础信息: 主配置目录: /etc/httpd/conf 主配置文件: /etc/httpd/conf/httpd.conf 子配置目录: /etc/httpd/conf.d/ 子配置文…

如何安装Genymotion虚拟机以及Genmotion的eclipse插件

---内容开始--- - 首先去genymotion的官网去下载其安装文件 资源下载 Genymotion官网必须注册一个账号这个账号安装之后还有用的,用户名最好用网易126邮箱注册----我下载的是2.8.0的版本(注:注册前先开个代理服务器不然页面打不开下载时最好用迅雷下载这…

squid服务配置(正向、反向代理)

代理: 就是代理网络用户去取得网络信息。 Squid是一种用来缓冲Internet数据的软件。安装Squid服务实现代理缓存服务器功能。 正向代理:意思是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一…

c语言getchar函数_C语言中带有示例的getchar()函数

c语言getchar函数C语言中的getchar()函数 (getchar() function in C) The getchar() function is defined in the <stdio.h> header file. getchar()函数在<stdio.h>头文件中定义。 Prototype: 原型&#xff1a; int getchar(void);Parameters: FILE *filename(f…

python及pycharm

1.python简介&#xff1a; Python是一种计算机程序设计语言。是一种动态的、面向对象的脚本语言&#xff0c;最初被设计用于编写自动化脚本(shell)&#xff0c;随着版本的不断更新和语言新功能的添加&#xff0c;越来越多被用于独立的、大型项目的开发。 python最重要的功能&am…

移动端适配方案(上)

转载自:https://github.com/riskers/blog/issues/17 要搞懂移动端的适配问题&#xff0c;就要先搞明白像素和视口。 像素 在移动端给一个元素设置 width:200px 时发生了什么&#xff1f;这里的px到底是多长呢&#xff1f;像素是网页布局的基础&#xff0c;但是我们一直在用直觉…

oracle sql 语句如何插入全年日期?

为什么80%的码农都做不了架构师&#xff1f;>>> oracle sql 语句如何插入全年日期&#xff1f; create table BSYEAR (d date); insert into BSYEAR select to_date(20030101,yyyymmdd)rownum-1 from all_objects where rownum < to_char(to_date(20031231,…

java基础——java基本运算

java基本运算 转载于:https://www.cnblogs.com/zhouj/p/6132535.html

【Java】MybatisPlus

MybatisPlus MybatisPlus是在mybatis基础上的一个增强型工具。它对mybatis的一些操作进行了简化&#xff0c;能够提高开发的效率。 springboot整合了mybatis之后&#xff0c;其实已经非常方便了&#xff0c;只需要导入mybatis的包后&#xff0c;在配置文件中编写数据源信息&a…

更新SQL Server实例所有数据库表统计信息

引出问题 自从上次菜鸟为老鸟解决了《RDS SQL SERVER 解决中文乱码问题》问题&#xff0c;老鸟意犹未尽&#xff0c;决定再想个招来刁难刁难菜鸟&#xff1a;“我最近做T-SQL性能调优的时候&#xff0c;经常发现执行计划中的统计信息不准确&#xff0c;导致SQL Server查询性能低…

从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)

从0开始搭建SQL Server AlwaysOn 第四篇&#xff08;配置异地机房节点&#xff09; 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnblogs.com/lyhabc/p/4682028.html第三篇http://www.cnblogs.com/lyhabc/p/4682986.html第四篇http://www.cnblogs.com…

解决方案_智能工厂全套解决方案

最近弱电社群资料更新情况&#xff1a;1、弱电学习圈VIP群资料整理-希望对您有用&#xff01;2、弱电学习圈VIP技术交流2群成立&#xff0c;欢迎您加入&#xff01;3、智慧校园整体解决方案&#xff01;4、智能化弱电项目管理表单大全-弱电项目经理必备&#xff01;5、弱电项目…

windows 2008 R2系统安装拨号v p n详细配置

windows 2008 R2系统单网卡安装拨号v p n系统环境&#xff1a;windows 2008 R2操作步骤首先设置服务端在服务器管理器中添加角色“网络策略和访问服务”&#xff0c;并安装以下角色服务右击路由与远程访问&#xff0c;选择“配置并启用路由和远程访问”右击路由与远程访问&…

word打开老是配置进度_小白教程 | office出现配置进度框,怎么办?

最近很多同学在备考二级时候&#xff0c;自己的电脑上office软件Word或者Excel出问题了&#xff0c;每次打开都会出现配置进度框。这种情况怎么办呢&#xff1f;这种情况都是注册表的问题&#xff0c;马上安排解决之前在 右键菜单没有office新建怎么办(点击即可阅读)也是用注册…

【踩坑速记】开源日历控件,顺便全面解析开源库打包发布到Bintray/Jcenter全过程(新),让开源更简单~...

一、写在前面 自使用android studio开始&#xff0c;就被它独特的依赖方式&#xff1a;compile com.android.support:appcompat-v7:25.0.1所深深吸引&#xff0c;自从有了它&#xff0c;麻麻再也不用担心依赖第三方jar包繁琐无趣啦。而&#xff0c;如果自己写一个开源库是一种怎…

功能区不显示工具条_【新老客户必知】软件支持超高清屏显示器了

随着计算机硬件的不断更新换代显示设备的不断更新从原来的分辨率640 X 480啥原来分辨这么低呀&#xff1f;还记得DOS吗&#xff1f;或者Win95,win98吗当时显示器分辨率能调到800X 600很好了2000年左右随着纯平显示器的推出也有了高清显示器的概念那么一般我们说的高清显示器分辨…

Spring定时器的运用

为什么80%的码农都做不了架构师&#xff1f;>>> 一、spring4定时器任务配置如下&#xff1a; <bean id"jsapiTask" class"chan.ye.dai.wexin.JsapiTicketTimeTask" /><bean id"jobDetail"class"org.springframework.s…