快速理解linux中的软链接和硬链接

        今天看到linux的软硬链接的问题,作为新手,我看各个文章真的一头雾水,里面的各种奇怪的原理对于新手来说着实不是很友好啊,我翻看了许多科普软硬链接的区别和用法的文章后,总结出来一个身为小白的思维方式对它的理解。希望各位大佬看到后不要喷。

        首先呢,我对linux的软硬链接的最浅显的总结就是,Windows对于文件的快捷方式和复制粘贴。

一、区别及各自特点

1、软链接(符号链接)相当于Windows的快捷方式。  

  1. 占用的内存少。
  2. 当你动源文件的东西时,快捷方式会调你更改过的源文件,所以软链接只用更改源文件。
  3. 你删掉软链接,它的源文件还在。
  4. 软链接的源文件必须写绝对路径,否则建立的软链接文件就会报错,无法正常使用(相当于你必须在源文件的位置创建它的快捷方式)。
  5. 快捷方式的通病就是你的源文件位置动了的话,所有的快捷方式,也就是软链接就会失效。
  6. 软链接可以链接目录。
  7. 软链接可以跨分区。

 2、 硬链接相当于Windows的复制粘贴(区别在于linux中的源文件和硬链接共联)。

  1. 每增加一个硬链接相当于多增加一个同样的内存。
  2. 增加一个硬链接相当于你复制下来,粘贴到另一个地方。这样的话删除你的源文件,它还有你刚复制的另一个同样的东西,这个东西还是存在的,如果想完全删掉文件,你就需要把接上硬链接的所有东西都删掉才算把这个文件删掉。
  3. 一个文件的所有的硬链接文件和源文件共享一个inode号(文件的唯一标识),这也就是说,虽然是类似Windows一样复制粘贴了,但是它们的根还是在一起,你不管是动了源文件还是硬链接文件,一个文件上的所有硬链接文件和源文件都会发生改变。(啊~ ~ 所以完全按照Windows来理解也不是完全可行的)
  4. 因为在不同的文件系统中,inode 号是重新计算的。所以硬链接是不可以跨文件系统(分区)建立的。(所以它的实用性就大大地降低了)
  5. 硬链接不可以链接目录。

二、常用命令

1、软链接:

        ln -s 源文件或目录 目标文件或目录

                        -s 是 symbolic(符号)的意思 

        修改软链接:ln –snf 新的源文件或目录 目标文件或目录

        找到文件夹下所有建立的软链接:ls -alR | grep ^l

2、硬链接:

        ln 源文件 目标文件

        找到文件夹下所有建立的硬链接:find / -inum Inode号 

        因为硬链接不会跨文件系统,所以源文件在哪个文件系统中,就在那里找,通过统一的inode号来查找。

3、ln命令

        如果上述命令不够用,那就自己找全部命令吧:

         ln [参数][源文件或目录][目标文件或目录]    

必要参数:

        -b 删除,覆盖以前建立的链接
        -d 允许超级用户制作目录的硬链接
        -f 强制执行
        -i 交互模式,文件存在则提示用户是否覆盖
        -n 把符号链接视为一般目录
        -s 软链接(符号链接)
        -v 显示详细的处理过程
选择参数:

        -S “-S<字尾备份字符串> ”或 “--suffix=<字尾备份字符串>”

        -V “-V<备份方式>”或“--version-control=<备份方式>”

        --help 显示帮助信息

        --version 显示版本信息

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软链接硬链接Linux常用的两种链接方式。在Linux,链接是一种特殊的文件类型,用于将一个文件引用到另一个文件。链接的目的是为了简化操作和节省存储空间。 软链接,也称为符号链接,是一种特殊的文件类型,它包含指向另一个文件的路径。软链接类似于Windows快捷方式,当你打开软链接时,它会将你重定向到该文件的实际位置。软链接可以跨越不同的文件系统,但是如果链接的文件被删除或移动了,软链接将变得无效。 硬链接是通过在文件系统上创建一个与原始文件链接的新的指向相同文件的链接来实现的。硬链接是实际的文件,可以与原始文件同时存在于文件系统,它们共享相同的inode和数据块。如果你改变了其的一个文件,另一个文件也会被影响,因为它们共享相同的数据块。硬链接只能在同一文件系统上创建。 在理解硬链接之前,我们首先要理解inode的概念。 inode是存储在文件系统的一个数据结构,它包含文件的元数据,如所有者,时间戳以及文件的权限等信息。当你创建一个新文件时,系统为该文件分配一个唯一的inode号码。硬链接和源文件具有相同的inode号码。每个目录项都包含一个inode编号,该编号指向该目录的文件或目录,因此可以通过inode编号找到该文件。 当您创建一个硬链接时,您实际上只是将另一个目录项添加到现有文件的inode上。因此,该文件具有多个名称,但实际上只有一个副本。另一方面,软链接只是在已有文件的路径上创建了一个新的文件,它不具有相同的inode号码。 总之,软链接硬链接都是用于将一个文件链接到另一个文件的方法。软链接是指向另一个文件的路径,硬链接是实际的文件节点。理解它们之间的差异很重要,因为它们的用途、特性及其所涉及的工作方式都各不相同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值