【Linux】软硬链接

        1 .硬链接

我们知道,真正找到磁盘上文件的并不是文件名,而是inode。 其实在linux中可以让多个文件名对应于同一个inode。

我们可以通过以下命令创建一个文件的硬连接。

ln path(文件的相对/绝对路径)  newname(新文件名字)

通过  ll -i  命令我们可以看到,硬链接文件的inode号与源文件的inode号是相同的,并且硬链接文件的大小与源文件的大小也是相同的,特别注意的是,当创建了一个硬链接文件后,该硬链接文件和源文件的硬链接数都变成了2。换句话说,这里的硬链接就是一个文件的别名,与C++里面的引用类似。

与软连接不同的是,当硬链接的源文件被删除后,硬链接文件仍能正常执行,只是文件的链接数减少了一个,因为此时该文件的文件名少了一个。

总之,硬链接就是让多个不在或者同在一个目录下的文件名,同时能够修改同一个文件,其中一个修改后,所有与其有硬链接的文件都一起修改了。

因此我们可以得出结论:

我们在删除文件时干了两件事情: 1.在目录中将对应的记录删除,2.将硬连接数-1,如果为0,则将对应 的磁盘释放。

硬链接数

我们创建一个普通文件,该普通文件的硬链接数是1,因为此时该文件只有一个文件名。那为什么我们创建多个目录后,该目录的硬链接数是1的基础上增加目录数目?

因为每个目录创建后,该目录下默认会有两个隐含文件.和…,它们分别代表当前目录和上级目录,因此这里创建的目录有两个名字,一个是dir另一个就是该目录下的. 。通过命令我们也可以看到dir和该目录下的.的inode号是一样的,也就可以说明它们代表的实际上是同一个文件。

小技巧: 一个目录下相邻的子目录数等于该目录的硬链接数减2。

         2 .软连接

硬链接是通过 inode 引用另外一个文件,软链接是通过名字引用另外一个文件,在 shell 中的做法
ln -s  path(文件的相对/绝对路径)  newname(新文件名字)

软链接又叫做符号链接,软链接文件相对于源文件来说是一个独立的文件,该文件有自己的inode号,但是该文件只包含了源文件的路径名,所以软链接文件的大小要比源文件小得多。软链接就类似于Windows操作系统当中的快捷方式

但是软链接文件只是其源文件的一个标记,当删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但却不能执行或是查看软链接的内容了。

         3 . 软硬链接的区别

软链接是一个独立的文件,有独立的inode,而硬链接没有独立的inode。另外,硬链接有单独的硬链接数。

 
软链接相当于快捷方式,硬链接本质没有创建文件,只是建立了一个文件名和已有的inode的映射关系,并写入当前目录。

         4 . 文件的三个时间

Access: 文件最后被访问的时间。
Modify: 文件内容最后的修改时间。
Change: 文件属性最后的修改时间。

当我们修改文件内容时,文件的大小一般也会随之改变,所以一般情况下Modify的改变会带动Change一起改变,但修改文件属性一般不会影响到文件内容,所以一般情况下Change的改变不会带动Modify的改变。


我们若是想将文件的这三个时间都更新到最新状态,可以使用命令touch 文件名来进行时间更新。

注意: 当某一文件存在时使用touch命令,此时touch命令的作用变为更新文件信息。

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

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

相关文章

三个AI智能体开源项目:MetaGPT/AutoGPT/DB-GPT

三个AI智能体开源项目:MetaGPT/AutoGPT/DB-GPT (qq.com) MetaGPT以其元学习的能力,展现出自我优化的独特魅力;AutoGPT则以其自动化的特性,为编程领域带来了革命性的变革;而DB-GPT则在数据库管理领域,以其深…

requests快速入门

1 安装requests库 如果你还没有安装requests库,可以通过pip安装: pip install requests 2 GET请求 GET请求通常用于从服务器请求数据。使用requests.get()函数可以发送GET请求。 2.1 基本使用 import requests url https://api.example.com/da…

如何在Java中将数据库查询结果转换为枚举类型

前言 在开发过程中,我们经常需要将从数据库获取的字符串或数字转换为更具语义的枚举类型。这不仅可以提高代码的可读性,还可以确保类型安全。这时候我们从数据库查出来的值如何通过枚举转换返回? 1. 构建枚举类型 首先,我们需要…

leetcode 括号类型题解

参考宫水三叶题解,非常有启发意义https://leetcode.cn/problems/valid-parenthesis-string/solutions/992601/gong-shui-san-xie-yi-ti-shuang-jie-dong-801rq/ 32. 最长有效括号 使用栈一次遍历,巧妙得出最长有效括号长度 func longestValidParenthes…

【888题竞赛篇】第五题,2023ICPC澳门-传送(Teleportation)

这里写自定义目录标题 更多精彩内容256题算法特训课,帮你斩获大厂60W年薪offer 原题2023ICPC澳门真题传送B站动画详解 问题分析思路分析图的构建最短路径算法具体步骤 算法实现Dijkstra 算法图的构建 代码详解标准代码程序C代码Java代码Python代码Javascript代码 复…

pycharm中gurobi使用指南-变量类型及声明

文章目录 Gurobi 变量声明:全面指南与示例gurobi声明变量的数学含义整数变量(Integer Variable)定义数学表示示例 二元变量(Binary Variable)定义数学表示示例 连续变量(Continuous Variable)定…

EasyCVR视频汇聚平台构建远程安防监控:5大亮点解析,助力安防无死角

随着科技的飞速发展,远程安防监控系统已经成为现代社会中不可或缺的一部分,无论是在小区、公共场所还是工业领域,安防监控都发挥着至关重要的作用。而EasyCVR作为一款功能强大的视频监控综合管理平台,其在构建远程安防监控系统方面…

电测量数据交换DLMS∕COSEM组件第62部分:COSEM接口类(4)

1.7COSEM服务器模型 COSEM服务器被构建为3层体系结构如图3所示。 图4示例说明如何用COSEM服务器模型构建一台组合式计量设备。 1.8COSEM逻辑设备 1.8.1概述 COSEM逻辑设备包含一组COSEM对象,每个物理设备均应包含一个“Management logical device”。对COSEM逻辑设备…

2024华为OD机试真题- 贪吃的猴子Python-C卷D卷-200分

目录 题目描述 输入描述 输出描述 用例1 用例2 用例3 解题思路 代码 2024华为OD机试题库-(C卷+D卷)-(JAVA、Python、C++) 题目描述 一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。 猴子获取香蕉,…

大模型之战-操作数据表-coze

工作流直接操作数据库啦【何时可以直接访问自己的数据库呢】 1,第一步创建一个bot智能体 1.1,bot中创建数据库表: 1.2,智能体可以通过对话,操作表;【增加,筛选查询等】 1.2.1,增加…

Java--SpringBoot工厂模式

工厂模式 Spring Boot是一个基于Spring框架的快速开发框架,它提供了许多便利的功能来简化企业级应用的开发。在Spring Boot中,工厂模式是一种常用的设计模式,它用于创建对象,但是不需要指定将要创建的具体类。工厂模式隐藏了实例…

Transformer(课程笔记)

一:Motivation RNN需要顺序的执行,不利于并行计算。 RNN的变体例如GRU、LSTM等需要依靠注意力机制解决信息瓶颈等问题。 抛弃RNN结构,提出了Transformer结构。 Transformer整体架构 二: 输入层(BPE,PE&…

第2章-01-网站中的资源介绍

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年CSDN全站百大博主。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Web爬虫入门与实战精讲。 🎉欢迎 👍点赞✍评论⭐收…

西北乱跑娃 -- linux使用笔记

1.后台运行每天一个日志文件 nohup python3.8 manage.py >> $(date %Y-%m-%d).log 2>&1 &2.目录操作: ls:列出目录内容。cd:改变当前工作目录。pwd:显示当前工作目录的路径。mkdir:创建新目录。rmd…

Linux下查看各进程的swap

cat /etc/re*se Red Hat Enterprise Linux Server release 6.8 (Santiago) 简单的可以通过top命令查看 top 后 按 f 进入选择列界面 按 p 就会输出swap信息(变为P) 回车返回看到SWAP信息了 再按 F 再按p 按swap排序 再回车后就是各进程按swap排序…

linux:进程优先级、环境变量、地址空间

进程优先级 什么叫进程优先级? 进程优先级是指进程获取某些资源的先后顺序 上文中的task_struct,也叫进程控制块(PCB),本质上是结构体,我们的优先级就被写在结构体里面(内部字段)…

wordpress站群搭建6外部库的引入和测试

wordpress站群搭建6wordpress外部库的引入和测试 本次目标我们主要讲解引入wordpress外部库并测试。 我们将一些外部库和工具包放入到pkg项目,方便其他项目引用。 1.安装go-wordpress库 进入到pkg项目 go get github.com/robbiet480/go-wordpress2.编写工具类 …

华为的流程管理

华为建设流程体系始于2000年,那时华为公司面临着快速扩张和全球化发展的挑战,意识到传统的管理模式已经无法满足业务发展的需求。为了提高公司的管理效率和竞争优势,华为决定启动流程体系的建设。在建设过程中,华为借鉴了业界最佳…

Linux命令grep -R

1. Linux 命令grep -R 的基本用法如下。 功能:主要用来搜索指定目录下的所有文件是否包含某个文本等等。 特点: 递归查询. 2. 特殊发现 今天使用时发现,这个命令同样可以从.a,.so 等各种动静态库 搜索出文本, 缺点是没有没有列举…

橙色简洁大气体育直播自适应模板赛事直播门户自适应网站源码

源码名称:酷黑简洁大气体育直播自适应模板赛事直播门户网站 源码开发环境:帝国cms 7.5 安装环境:phpmysql 带采集,可以挂着电脑上自动采集发布,无需人工操作! 橙色简洁大气体育直播自适应模板赛事直播门户…