[转帖]linux的硬链接和软连接的区别

linux,链接,连接,区别 · 浏览次数 : 0

小编点评

**软链接** * 等同于Windows中快捷方式 * 建立软连接时,源文件名和符号链接文件名是主从关系 * 当源文件删除时,符号链接失效 * 软连接可以正常访问源文件 * 修改软连接、硬链接和源文件,访问三者都是同步变化的 **硬链接** * 建立硬链接时,源文件名和符号链接文件名是并列关系 * 当源文件删除时,硬链接依然有效 * 硬链接实际上和源文件在硬盘中是同一个东西 * 每删除一个文件时,只要他还有其他的硬链接存在,这个文件就不会被真正删除 * 只有等所有的链接文件都删除掉了,这个文件才会被真正从硬盘上删除

正文

Linux中有两种链接文件:

1)软链接(符号链接symbol),等同于Windows中快捷方式

ln -s 源文件名 符号链接文件名,源文件名和符号链接文件名是主从关系,源被删了,符号链接也就失效了

 eg: ln -s src.c linker.c (linker.c就是src.c的一个符号链接文件);

2)硬链接,ln 源文件名 符号链接文件名,源文件名和符号链接文件名是并列关系,源被删了,符号链接依然有效。硬链接实际上和源文件在硬盘中是同一个东西,效果类似于硬盘上的一个文件,在文件系统上,在我们看来有好多个文件一样。每次删除一个文件时,只要他还有其他的硬链接存在,这个文件就不会被真正删除。只有等所有的链接文件都删除掉了,这个文件才会被真正从硬盘上删除

软链接与硬链接的区别(通俗):

硬链接可认为是一个文件拥有两个文件名;

而软链接则是系统新建一个链接文件,此文件指向其所要指的文件

若源文件改名,则软连接不可用(找不到源文件);硬链接可正常访问到源文件;

修改软连接、硬链接和源文件,访问三者都是同步变化的。

软链接

首先,我建立link_test.txt的测试文件,建立软连接指向测试文件

ln -s 源文件  软连接

查看软连接的内容和源文件内容一样,接着编辑了软连接后,查看软连接和原测试文件

说明编辑软连接就是编辑原文件。测试删除软连接后原文件正常,删除源文件后软连接失效。

同样,当我们修改任何一个软链接文件都会使内容发生改变,文件都保持同步变化。我们也可以看到软链接只有18Kb并不会占用磁盘空间。它只是一个原文件的引用,当我们将原文件删除以后,引用将会失效。

硬链接

ln 源文件  硬连接

建立硬链接后发现,硬链接的大小和原文件一样,并且索引节点号也一样。当我们改变硬链接的文件内容时,同样也会改变原文件的内容。

改变原文件内容,软硬链接内容也都同步改变:

删除原文件

软连接失效,硬链接正常

复制软、硬链接到新的文件

当我们用cp命令复制软链接时,我们复制的是原文件,而不是一个软链接。

复制软、硬链接后,对复制文件修改,都不会影响原文件。

文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux29259 人正在系统学习中

与[转帖]linux的硬链接和软连接的区别相似的内容:

[转帖]linux的硬链接和软连接的区别

Linux中有两种链接文件: 1)软链接(符号链接symbol),等同于Windows中快捷方式 ln -s 源文件名 符号链接文件名,源文件名和符号链接文件名是主从关系,源被删了,符号链接也就失效了 eg: ln -s src.c linker.c (linker.c就是src.c的一个符号链接文

[转帖]Linux系统硬链接和软链接具体实例讲解(超详细)

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

[转帖]Linux 中断(IRQ/softirq)基础:原理及内核实现(2022)

http://arthurchiao.art/blog/linux-irq-softirq-zh/ 1 什么是中断? 2 硬中断 2.1 中断处理流程 2.2 中断类型 系统支持的最大硬中断数量 MSI(Message Signaled Interrupts)/ MSI-X 2.3 Maskable

[转帖]檢視硬體資源

https://benjr.tw/52888 在 Linux 系統可以透過 lshw 以及 lspci 看系統資訊,但這兩個執行檔的差別是什麼呢?? 完整系統硬體資訊 #lshw (list Hardware) – https://benjr.tw/53000透過 lshw 的功能可以檢視系統的硬體

[转帖]硬盘监控和分析工具:Smartctl

Smartctl(S.M.A.R.T自监控,分析和报告技术)是类Unix下实施SMART任务命令行套件或工具,它用于打印SMART自检和错误日志,启用并禁用SMRAT自动检测,以及初始化设备自检。 Smartctl对于Linux物理服务器非常有用,在这些服务器上,可以智能的对磁盘进行错误检查,并将硬

[转帖]Linux的tmpfs和ramfs

tmpfs tmpfs是一种虚拟内存文件系统, 它的存储空间在VM里面,现在大多数操作系统都采用了虚拟内存管理机制, VM(Virtual Memory) 是由Linux内核里面的VM子系统管理. VM的大小由RM(Real Memory)和swap组成, RM就是物理内存, swap是通过硬盘虚拟

[转帖]linux 下 {}大括号的用法

我们平时使用Linux的时候经常遇到这样一个问题,举例有这样一种情况:执行命令 $ cp /etc/apt/sources.list /etc/apt/sources.list.bak 这里面有个问题,明明 /etc/apt/sources 这几个字都是一样的,为什么要打两遍?这样的还算短了,要是更

[转帖]Linux 运维工具

Linux系统是目前仅次于Windows系统的一个开源系统,并且拥有比Windows系统更广泛的应用范围,从航天到军事、从科研到金融、从手机到电脑,你能够在任何一个需要操作系统的地方看到Linux的身影。 实际上Linux并不是一个真正的系统,它仅仅是一个有着上万行代码的系统内核,最初版本也只能够在

[转帖]Linux Shell 脚本的 10 个有用的“面试问题和解答”

http://blog.itpub.net/31545813/viewspace-2926667/ Linux 的浩瀚无垠,使人总能每次都提交与众不同的内容。这些内容不仅对他们的职业生涯很有用,同时也让他们增长知识。在此,我们就尝试这么去做,至于能取得多大的成功,就由我们的读者朋友们来判断吧。 在此

[转帖]linux系统目录结构介绍

linux的目录结构 Linux系统各个目录的作用 /: 根目录。有且只有一个根目录。所有的东西都是从根目录开始。举个例子:当你在终端里输入“/home”,你其实是在告诉服务器,先从/(根目录)开始,再进入到home目录。 /root: 这是系统管理员(root user)的目录。对于系统来说,系统