首页 > 系统相关 >Linux系统硬链接和软链接具体实例

Linux系统硬链接和软链接具体实例

时间:2024-05-07 23:13:00浏览次数:24  
标签:文件 -- 30 实例 Linux root 链接 localhost

Linux系统硬链接和软链接具体实例

目录

在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。而有一种方法可以快速的寻找到数据元,那就是软硬链接

创建链接命令

软链接:ln -s 源文件 目标文件
硬链接:ln 源文件 目标文件

软链接(symbolic link) : 等同于 Windows 系统下的快捷方式。仅仅包括所含链接文件的路径名字。因此能链接目录,也能跨文件系统链接。但是,当删除原始文件后,链接文件也将失效。

硬链接(hard link) : 可以将它理解为一个 “指向原始文件 inode 的指针”,系统不为它分配独立的 inode 和 文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。我们每添加一个硬链接,该文件的 innode 连接数就会增加 1 ; 而且只有当该文件的 inode 连接数为 0 时,才算彻底被将它删除。硬链接不能跨分区对文件进行链接

硬链接解析:
通过输出的文件属性可以知道创建的硬链接和文件本身的inode号是一样的都为15728643,这是因为硬链接和源文件同时是访问同一个地址空间,生成一个硬链接相当于copy一份该文件,如果删除源文件test.2.c,hard文件不会删除,文件的内容也是在的

[root@localhost b]# ls
hard  soft  test2.c  test.c
[root@localhost b]# cat hard 
this is a test2
[root@localhost b]# cat test2.c 
this is a test2
[root@localhost b]# rm -rf test2.c 
[root@localhost b]# cat hard 
this is a test2
[root@localhost b]# ls -li
总用量 8
15728643 -rw-r--r-- 1 root root 16 7月  30 18:31 hard
15728644 lrwxrwxrwx 1 root root  6 7月  30 18:33 soft -> test.c
15728642 -rw-r--r-- 1 root root 15 7月  30 18:30 test.c

软链接解析:
生成的软链接相当于记录了源文件的地址,访问该软链接相当于直接访问该源文件,类似于windows的快捷方式,如果删除源文件,该软链接也会相应丢失源文件内容,访问出错

[root@localhost b]# ls -li
总用量 8
15728643 -rw-r--r-- 1 root root 16 7月  30 18:31 hard
15728644 lrwxrwxrwx 1 root root  6 7月  30 18:33 soft -> test.c
15728642 -rw-r--r-- 1 root root 15 7月  30 18:30 test.c
[root@localhost b]# cat test.c 
this is a test
[root@localhost b]# cat soft 
this is a test
[root@localhost b]# rm -rf test.c 
[root@localhost b]# cat soft 
cat: soft: 没有那个文件或目录
[root@localhost b]# ls -li
总用量 4
15728643 -rw-r--r-- 1 root root 16 7月  30 18:31 hard
15728644 lrwxrwxrwx 1 root root  6 7月  30 18:33 soft -> test.c

目录与链接

目录文件

在文件系统中,目录的存储方式类似于普通文件,区别有:

  • 在目录的i-node条目中,会将其标记为一种不同的文件类型目录是经特殊组织而成的文件。本质上就是一个表格,包含文件名和i-node编号。
  • 进程能够打开一个目录,但却不能用read()去读取目录的内容。同样也不能使用write()来改变目录内容。仅能借助于open()、link()、mkdir()、symlink()、unlink()以及rmdir()之类的系统调用来间接改变其内容。
  • 硬链接不能为目录创建,从而避免出现诸多令诸多系统程序陷于混乱的链接环路。
  • 软链接可以链接目录

原文链接: https://blog.csdn.net/Luckiers/article/details/119282672
https://blog.csdn.net/qq_51470638/article/details/123232552

标签:文件,--,30,实例,Linux,root,链接,localhost
From: https://www.cnblogs.com/banon/p/18178656

相关文章

  • Linux内核的5大作用(转
    Linux内核的五大作用;分别是管理进程,内存,文件系统,设备控制,还有网络管理。管理进程:内核负责创建和销毁进程,并处理它们与外部世界的联系(输入和输出),不同进程间通讯(通过信号,管道,或者进程间通讯原语)对整个系统功能来说是基本的,也由内核处理。另外,调度器,控制进程如何共享CPU......
  • Linux脚本——for循环和array数组
    #!/bin/shNodeName=(k8s-master-1k8s-master-2k8s-master-3k8s-node-1k8s-node-2k8s-node-3k8s-node-4k8s-node-5)ipv4=(100.190.110.55100.190.110.56100.190.110.57100.190.110.70100.190.110.71......
  • Linux文件系统-目录
    如果你最开始使用的是Windows电脑,你很可能会使用“文件夹folder”这个术语。但当你换到Linux时,你会发现文件夹通常被称为“目录directory”。事情是这样的。如果你愿意,你可以叫它文件夹,如果你喜欢,也可以叫它目录。这没有什么区别。但是,如果你想知道为什么文件夹在Linux中......
  • Linux系统管理-常见命令
    二、常用命令1.命令格式1、命令提示符[root@localhost~]$root:代表当前系统登录的用户名。@:分隔符。localhost:主机名。localhost是系统默认的简称,后期可以修改。~:当前所在的位置目录(最后一级目录)。$:用户提示符。$代表普通用户,#代表超级管理员。2、命令格......
  • 认识linux内核(linux内核的作用)
    目录认识linux内核Linux内核实现策略哪些地方用到了内核机制?Linux进程Linux内核源代码的目录结构Linux内核体系结构(1)系统调用接口(2)进程管理(3)内存管理(4)虚拟文件系统Linux内核体系结构(就是Linux系统是怎么构成的)Linux体系结构和内核结构区别认识linux内核1.从技术层面讲,内核是硬件......
  • linux学习第三天
    嵌入式linux学习第三天汇编语言点灯今天学习如何在linux板子上点灯。I.MX6UGPIO详解我们发现I.MX6UGPIO是分为两类的,:SNVS域的和通用的。在讨论i.MX6U或类似的复杂微处理器时,了解其GPIO(通用输入输出)引脚的不同分类是很重要的。i.MX6U的GPIO引脚被分为两大类:SNVS(SecureNon-V......
  • Linux 系统目录和文件夹的区别
    Linux系统目录和文件夹的区别概念1.系统目录:在Linux系统中,目录是文件系统的一种特殊类型,用于组织和存储文件和其他目录。每个目录都包含零个或多个文件和其他目录,以及一些与之相关的属性,如权限、所有者等。目录在文件系统中以目录项的形式存在,每个目录项包含了文件或子目录的......
  • Linux系统管理-系统概述
    一、系统概述3.系统安装1.系统安装1.选择第一项installcentos7,并且设置语言,推荐使用中文,简体中文2.字符界面安装选择最小或基本网页服务器即可,接下来就是进行磁盘分区,也可以自己分配或者系统自动分配3.手动分区里面也可以让系统自动创建,或者自己手动创建4.接受分区的修......
  • 在Linux上使用CAN
    1、相关背景知识CAN控制器局域网络(ControllerAreaNetwork),一种串行数据通信协议。CAN是一种异步通讯,只有CAN_high和CAN_low两条信号线(实际上还需要共地,GND),共同构成一组差分信号线,以差分信号的形式进行通讯。CAN通讯节点由一个CAN控制器及CAN收发器,CAN控制器用于实现实......
  • ###什么是Linux内核###什么是MMU
    什么是Linux内核Linux内核简介Linux®内核是Linux操作系统(OS)的主要组件,也是计算机硬件与其进程之间的核心接口。它负责两者之间的通信,还要尽可能高效地管理资源。之所以称为内核,是因为在操作系统中就像果实硬壳中的种子一样,控制着硬件(无论是电话、笔记本电脑、服务器,还是任......