首页 > 其他分享 >关于mv命令,系统是如何区分是移动还是重命名

关于mv命令,系统是如何区分是移动还是重命名

时间:2023-07-24 14:45:25浏览次数:35  
标签:重命名 文件 区分 目标 源文件 mv inode

 引入:

精简回答版:重命名的本质仍是移动覆盖 ,所以不存在应该如何区分的问题 

最近学习到linux基础命令中的mv命令,了解到mv命令的作用是对文件的移动和重命名,但自己一直想不明白系统是如何分辨该文件是移动or重命名,所以做了如下测试:

mv命令格式:mv 源文件 目标文件

根据猜想测试:

猜想1:目标文件若不存在,就创建目标文件,然后将源文件覆盖新目标文件达到重命名的目的

test1:源文件和目标文件在同一目录下,测试重命名,利用inode信息判断是否是同一个文件

在/root/test1目录下新建文件testmv_1.txt

记录testmv_1.txt的inode & 使用mv命令将testmv_1.txt重命名 & 查看重命名后文件的inode

 

 结果:目标文件inode信息和源文件inode信息相同,所以重命名的本质依旧是移动覆盖

猜想2:有猜想1的结果发散:若目标文件存在且和源文件有不同的内容,移动文件之后目标文件inode也变更为源文件inode

test2:在不同目录下分别创建源文件和目标文件

源文件为/root/test1/testmv_2.txt

目标文件为/root/test2/testmv_3.txt

 

 使用mv命令 & 查看目标文件的inode

 

 结果:目标文件的inode更改为源文件的inode(17168517在上文中提到过,是testmv_2.txt的inode)

结论:

mv命令可以看作为剪切,将源文件的全部信息覆盖给目标文件,不仅仅是文件的内容。

重命名的本质也是移动覆盖,因为目标文件不存在便创建,之后用源文件覆盖全部信息。

标签:重命名,文件,区分,目标,源文件,mv,inode
From: https://www.cnblogs.com/llwv/p/17577038.html

相关文章

  • .net core mvc 发布iis
    如何在IIS中发布.NETCoreMVC应用简介在本文中,我将向你展示如何将你的.NETCoreMVC应用程序发布到IIS服务器上。这将允许你通过IIS提供你的应用程序,并使用IIS的功能和性能优势。下面是整个过程的步骤概览:准备工作创建发布配置文件生成发布包设置IIS部署应用程序步骤详......
  • 《Spring6核心源码解析》已完结,涵盖IOC容器、AOP切面、AOT预编译、SpringMVC,面试杠杠
    作者:冰河星球:http://m6z.cn/6aeFbs博客:https://binghe.gitcode.host文章汇总:https://binghe.gitcode.host/md/all/all.html源码地址:https://github.com/binghe001/spring-annotation-book沉淀,成长,突破,帮助他人,成就自我。大家好,我是冰河~~提起Spring,可以这么说,Spring几乎......
  • 查询MySQL公式字段重命名
    查询MySQL公式字段重命名作为一名经验丰富的开发者,你需要教会一位刚入行的小白如何实现“查询MySQL公式字段重命名”。下面将详细介绍整个流程,包括每一步需要做什么以及需要使用的代码及其注释。流程图下表展示了查询MySQL公式字段重命名的流程。步骤动作代码1连接......
  • Rxjava与MVVM框架配合使用
    RxJava与MVVM框架配合使用介绍在现代的移动应用程序开发中,MVVM(Model-View-ViewModel)架构模式变得越来越流行。它是一种将业务逻辑与用户界面分离的设计模式,它的目标是提高代码的可维护性和可测试性。而RxJava是一种响应式编程库,它可以简化异步编程,并提供了丰富的操作符来处理数据......
  • Armv8-A 虚拟化学习
    Armv8-A虚拟化参考文献:Armv8-Avirtualization.pdfArm中,常使用的虚拟机监视器有Xen(type1)和KVM(type2)。全虚拟化和半虚拟化全虚拟化是指一般的虚拟机,它可以完全模拟物理机器。但性能差,每次对寄存器的操作都得经过监视器。半虚拟化是为了提升性能的,如GuestOS,它好像运行在一......
  • [回馈]ASP.NET Core MVC开发实战之商城系统(一)
    经过一段时间的准备,新的一期【ASP.NETCoreMVC开发实战之商城系统】已经开始,今天着重讲解布局设计,环境搭建,系统配置,及首页商品类型,banner条,友情链接等功能的开发。 首页布局设计 首页是商城系统的门面,首页的设计的好坏关系着用户的体验,在本示例中,首页主要分为以下几个模块......
  • mysql对查询结果重命名
    MySQL查询结果重命名的实现作为一个经验丰富的开发者,我很高兴能够教给你如何在MySQL中对查询结果进行重命名。这个过程并不复杂,下面我将详细介绍整个流程,并提供相应的代码示例。流程概述以下是实现"MySQL对查询结果重命名"的简单流程:步骤描述1.编写SQL查询语句2.......
  • mv
    mv用来对文件或目录重新命名补充说明mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。mv命令可以用来将源文件移至一个目标文......
  • MVC架构设计图
    MVC架构设计模式MVC(Model-View-Controller)是一种常用的软件设计架构,它将应用程序分为三个主要的组成部分:模型(Model)、视图(View)和控制器(Controller)。这种架构模式的目标是将应用程序的不同方面分离开,以便更好地管理和维护代码。模型(Model)模型是应用程序的核心部分,负责处理数据和......
  • 软件开发版本命名规范-语义化版本SemVer
    摘要在软件管理的领域里存在着被称作“依赖地狱”的死亡之谷,系统规模越大,加入的包越多,你就越有可能在未来的某一天发现自己已深陷绝望之中。在依赖高的系统中发布新版本包可能很快会成为噩梦。如果依赖关系过高,可能面临版本控制被锁死的风险(必须对每一个依赖包改版才能完成某次......