首页 > 系统相关 >在Linux中,什么是硬链接和软链接?

在Linux中,什么是硬链接和软链接?

时间:2024-06-10 15:11:41浏览次数:18  
标签:文件 指向 ln 什么 链接 myfile Linux 目录

在Linux中,硬链接(Hard Link)和软链接(Soft Link,也称为符号链接Symbolic Link)是两种用于引用文件或目录的机制。以下是关于这两种链接的详细解释:

  1. 定义:
    • 硬链接是通过文件系统中的索引节点(inode)来进行连接的。多个文件名可以指向同一个索引节点,这就是硬链接。
  2. 特点:
    • 只有文件可以建立硬链接,目录不可以。
    • 类似于复制多份文件,但实际上只是增加了一个文件名指向同一个inode。
    • 删除一个硬链接并不会影响文件本身,只有当最后一个硬链接被删除时,文件的数据块及目录的连接才会被释放。
  3. 命令:
    • 使用ln命令可以创建硬链接,默认情况下ln命令就产生硬链接。
    • 例如:ln 源文件名 硬链接名
  4. 示例:
    • 假设有一个文件myfile.txt,使用ln myfile.txt hardlink_to_myfile命令可以创建一个名为hardlink_to_myfile的硬链接。此时,myfile.txthardlink_to_myfile都指向同一个inode,修改其中一个文件的内容,另一个也会同步改变。
  1. 定义:
    • 软链接类似于Windows中的快捷方式,它包含了另一个文件或目录的路径信息。
    • 软链接是一个特殊的文件,其内容是它指向的文件或目录的路径名。
  2. 特点:
    • 文件和目录都可以建立软链接。
    • 删除软链接不会影响被指向的文件或目录。
    • 如果被指向的文件或目录被移动、重命名或删除,软链接将失效。
  3. 命令:
    • 使用ln -s命令可以创建软链接。
    • 例如:ln -s 源文件名 软链接名
  4. 示例:
    • 假设有一个文件myfile.txt,使用ln -s myfile.txt symlink_to_myfile命令可以创建一个名为symlink_to_myfile的软链接。此时,symlink_to_myfile是一个特殊的文件,它指向myfile.txt
  5. 作用:
    • 创建快捷方式:在不移动原文件或目录的情况下,创建一个指向它的快捷方式。
    • 简化路径:将较长或复杂的路径简化为一个易于记忆和使用的路径。
    • 跨文件系统访问:软链接可以跨越不同的文件系统或磁盘分区。
    • 共享库链接:在Linux系统中,软链接还可以用于链接共享库文件。
3. 总结
  • 硬链接和软链接都是Linux中用于引用文件或目录的机制。
  • 硬链接通过inode进行连接,类似于文件的多个名字;软链接通过路径进行连接,类似于文件的快捷方式。
  • 硬链接只能用于文件,不能用于目录;而软链接可以用于文件和目录。
  • 硬链接和文件内容共享inode,删除硬链接不影响文件内容;删除软链接不影响被指向的文件或目录。

标签:文件,指向,ln,什么,链接,myfile,Linux,目录
From: https://www.cnblogs.com/huangjiabobk/p/18240679

相关文章

  • 在Linux中,什么是 inode ?
    在Linux中,inode(索引节点)是一个重要的文件系统概念,它用于描述文件系统中的文件和目录的元数据信息。以下是关于inode的详细解释:定义:inode是Linux文件系统中用于存储文件和目录元数据信息的数据结构。每个文件和目录在文件系统中都有一个唯一的inode与之关联。组成信息:inod......
  • 在Linux中,目录结构是怎样的?
    在Linux中,目录结构是一个层次化的文件系统结构,它定义了Linux操作系统中各个目录的作用和存放内容的规范。以下是Linux目录结构的详细介绍:一、根目录(/)作用:整个文件系统的起始点,所有其他目录和文件都是从根目录开始的。根目录包含了系统中的所有文件和目录。二、主要目录及其功......
  • 在Linux中,RAID 是什么?
    在Linux中,RAID(RedundantArraysofIndependentDisks,独立磁盘冗余阵列)是一种磁盘存储技术,它通过组合多个独立磁盘(物理磁盘)来提供更高的数据可靠性、性能和数据冗余。RAID技术最初是由加州大学伯克利分校在1987年提出的,目的是通过组合小的廉价磁盘来代替大的昂贵磁盘,同时提供数据......
  • 嵌入式Linux系统编程 — 3.5 utime、utimes、futimens、utimensat函数修改文件时间属
    目录1文件的时间属性简介2utime()函数2.1 utime()函数简介2.2示例程序3 utimes()函数3.1 utimes()函数简介3.2示例程序 4  futimens()函数4.1 futimens()函数简介4.2示例程序5 utimensat()函数5.1 utimensat()函数简介5.2 示例程序1文件的时间......
  • 11Linux文件系统与日志分析
    目录11.1深入理解Linux文件系统11.1.1inode与block详解1、inode和block概述2、inode的内容3、inode的号码4、inode的大小11.1.2硬链接与软链接1、硬链接2、软链接11.1.3EXT类型文件恢复1、编译安装extundelete2、模拟删除并执行恢复操作11.1.4xfs文件备份和......
  • 【转载】ARM嵌入式系统为什么要做内存对齐
    做嵌入式系统软件开发,经常在代码中看到各种各样的对齐,很多时候我们都是知其然不知其所以然,知道要做好各种对齐,但是不明白为什么要对齐,不对齐会有哪些后果,这篇文章大概总结了内存对齐的理由。CPU体系结构和MMU的要求目前有一些RISC指令集的CPU不支持非对齐的内存变量访问操作,比......
  • 【驱动】Linux内核调试之使用模块参数
    环境:处理器架构:arm64内核源码:linux-6.6.29ubuntu版本:20.04.1代码阅读工具:vim+ctags+cscope本文主要介绍内核开发中常用的模块传参手段,通过模块参数传递可以通过用户态来获取内核的一些信息,也可以通过用户态写入一些值来控制内核相关行为。一般内核开发者很喜欢使用模块传参......
  • 【转载】C 语言有什么奇技淫巧
    快速范围判断经常要批量判断某些值在不在范围内,如果int检测是[0,N)的话:if(x>=0&&x<N)...众所周知,现代CPU优化,减分支是重要手段,上述两次判断可以简写为:if(((unsignedint)x)<N)...减少判断次数。如果int检测范围是[minx,maxx]这种更常见的形式的话,......
  • python里装饰器的作用是什么
    在Python中,装饰器(decorator)是一种高级函数,用于修改或扩展其他函数或方法的行为,而无需直接修改它们的代码。装饰器常用于以下场景:日志记录:记录函数的调用信息,如函数名、参数和返回值。权限验证:在执行函数前检查用户是否有权限。性能测量:测量函数的执行时间。缓存:缓存函数的返回......
  • [linux]mark-tool
    前言在远程连接到linux进行操作时,经常要切换目录,有些目录切换频次较高,因此写了个shell工具,用于收藏目录、切换目录等。也不需要安装,直接添加脚本即可。配置首先声明脚本是基于bashshell,zsh和fish未经测试。编辑文件~/.bash_custom_functions,添加以下内容mark(){loca......