热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux中命令——cp、mv、rm对inode的影响

不善于写作,可能有些地方会表达不清楚原本的含义,如果错误请指正。在Linux中,有这几个常用的命令:cp-->复制,mv-->搬移移动,rm-->删除移除。虽然我们经常使用它

不善于写作,可能有些地方会表达不清楚原本的含义,如果错误请指正。

在Linux中,有这几个常用的命令:cp-->复制,mv-->搬移/移动,rm-->删除/移除。

虽然我们经常使用它们,但我们是否对这些命令进行了更深入一层的了解。

下面就来看看:

cp对inode的影响:

1. 当复制行为发生的时候,系统会找到一个空inode number,然后将数据写入到inode table 

2. 并且会新增一个目录,把文件的档案名称对应到inode number 

3. 当inode number和inode table处理好了之后,系统才会将文件内容复制到新增的文件中 

 

mv对inode的影响:

前提:使用mv命令搬移的文件目的地跟原文件在同一文件系统内

1. 系统会新建一个目录项,将新档案名称对应到inode number 

2. 删除旧档案

(搬移档案的行为对inode table没有任何影响,也不会将档案搬移到其他的block)

rm对inode的影响:

1. 系统会减去文件的link count数字,然后将对应的inode number标记为可使用

======================================== 

PS:

例如,test.txt link count==>2

当使用rm test.txt后,

test.txt link count==>1 

========================================= 

2. 而文件所占用的block也会打上可以使用的“标签”

3. 最后移除文件名称和目录项

  ============================================

PS:

当我们使用rm命令的时候,系统并不会真正删除这个资料。除非有档案非要将资料存储在原来档案的这些block中。这 样原来的block就会被新档案给覆盖掉。 

  =============================================


推荐阅读
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 深入理解Linux哲学与命令实践
    本文探讨了Linux系统的核心哲学理念,包括但不限于‘万物皆文件’的原则、小型且专注的程序设计、通过管道链接程序以完成复杂任务等。同时,文章还介绍了如何通过设置环境变量来增强history命令的功能,使其能够记录命令执行的具体时间,以及几个常用的Linux命令及其使用方法。 ... [详细]
  • 本文详细介绍了RPM包构建过程中Spec文件的结构和各部分的作用,包括包描述、准备阶段、构建过程、安装步骤、清理操作以及文件列表等关键环节。同时,提供了关于RPM宏命令、打包目录结构及常见标签的深入解析。 ... [详细]
  • ThinkPHP 文件缓存组件详解与应用
    本文深入探讨了ThinkPHP框架中的文件缓存类实现,提供了详细的代码示例和使用说明,旨在帮助开发者更好地理解和利用这一功能来优化应用程序性能。 ... [详细]
  • SonarQube配置与使用指南
    本文档详细介绍了SonarQube的配置方法及使用流程,包括环境准备、样本分析、数据库配置、项目属性文件解析以及插件安装等内容,适用于具有Linux基础操作能力的用户。 ... [详细]
  • Iris 开发环境配置指南 (最新 Go & IntelliJ IDEA & Iris V12)
    本指南详细介绍了如何在最新的 Go 语言环境及 IntelliJ IDEA 中配置 Iris V12 框架,适合初学者和有经验的开发者。文章提供了详细的步骤说明和示例代码,帮助读者快速搭建开发环境。 ... [详细]
  • Linux双网卡绑定技术详解与实践
    本文详细介绍了如何在Linux系统中实现双网卡绑定,即将两块物理网卡合并为一个逻辑网卡,以提高网络性能和可靠性。文中不仅涵盖了基本的概念,还提供了具体的配置步骤和测试方法。 ... [详细]
  • 本文详细探讨了Linux操作系统中rmdir与rm命令的功能、用法及注意事项,旨在帮助用户更好地理解和应用这两个重要命令。 ... [详细]
  • 解决Linux Ubuntu下Ping IP正常但无法Ping域名的问题
    本文介绍了在Linux Ubuntu系统中遇到的一种常见问题——能够Ping通IP地址,但无法Ping通域名,并提供了有效的解决方案。 ... [详细]
  • 本文介绍如何利用C语言在Linux操作系统中实现递归创建多级目录的功能,包括必要的头文件引入和函数实现。 ... [详细]
  • 本文通过具体示例探讨了在 C++ 中使用 extern "C" 的重要性及其作用,特别是如何影响编译后的对象文件中的符号名称。 ... [详细]
  • BME框架使用中的典型问题解析
    本文主要探讨了BME框架在实际应用中遇到的一些常见问题,包括查询条件为空、动态参数处理及分页查询等场景的解决方案。 ... [详细]
  • 如何使用Android OTG U盘:全面指南
    随着科技的发展,U盘的类型日益多样化。本文将重点介绍一种专为智能手机设计的U盘——手机U盘,探讨其功能、特点以及如何正确使用。 ... [详细]
  • 本文详细介绍了如何在 Chrome 浏览器中进行扩展程序的备份与恢复操作,包括具体的步骤和注意事项。 ... [详细]
  • databasesync适配openGauss使用指导书
    一、database-sync简介database-sync作为一种开源辅助工具,用于数据库之间的表同步,更确切的说法是复制,可以从一个数据库复制表到另一个数据库该工具支持的功能如 ... [详细]
author-avatar
youdinga
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有