zoukankan      html  css  js  c++  java
  • 链接文件

      链接文件是linux文件系统的一个优势。如果要在系统上维护同一个文件的两份或多份副本,除了保持多份单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方法。

    这种虚拟的副本就称为链接。链接是目录中指向文件真实位置的占位符。在linux中有两种不同类型的文件链接:

    • 链接符号(软链接)
    • 硬链接

    符号链接

    符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,要为一个文件创建符号链接,原始文件必须事先存在。

    1 [root@linux-node1 ~]# ln -s test.txt test-01.txt
    2 
    3 [root@linux-node1 ~]# ls -lhi
    4 
    5 33961952 lrwxrwxrwx 1 root root 8 Feb 17 03:02 test-01.txt -> test.txt
    6 33658435 -rw-r--r-- 1 root root 0 Feb 16 10:45 test.txt

     软链接知识小结:

    1. 软链接类似windows的快捷方式(可以通过readlink查看指向)
    2. 软链接类似一个文本文件,里面存放的是源文件的路径,指向源文件实体
    3. 删除源文件,软连接文件依然存在,但是无法访问指向的源文件内容了
    4. 失效的时候一般是白字红底闪烁提示
    5. 执行命令“ln -s 源文件 软连接文件”,即可完成创建软连接(目标不能存在)
    6. 软链接和源文件是不同类型的文件,也是不同的文件。inode号也不同
    7. 删除软链接文件可以使用rm命令
    8. 不论更改源文件还是目标文件,另一处文件也会有相同的改动

    硬链接

    硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件,引用硬链接文件等同于引用了源文件。要创建硬链接,原始文件也必须是事先存在。

    1 [root@linux-node1 ~]# ln test.txt test02.txt
    2 [root@linux-node1 ~]# ls -lhi
    3 
    4  33961952 lrwxrwxrwx   1 root root    8 Feb 17 03:02 test-01.txt -> test.txt
    5  33658435 -rw-r--r--   2 root root    8 Feb 17 03:08 test02.txt
    6  33658435 -rw-r--r--   2 root root    8 Feb 17 03:08 test.txt

    可以发现带有硬链接文件test02.txt和test.txt的inode号相同,因为它们是同一个文件。

    注意:只能对处于同一存储媒体的文件创建硬链接。要想在不同存储媒体的文件之间创建链接,只能使用符号链接(软链接)。

    全局总结:

    • 全局结论:删除软链接文件对源文件及硬链接文件无任何影响。
    • 全局结论:删除硬链接文件对源文件及软链接文件无任何影响。
    • 全局结论:删除源文件,对硬链接文件没有影响,但是会导致软链接文件失效,白字红底闪烁。
    • 同时删除源文件,硬链接文件,整个文件会真正的被删除。
    • 源文件和硬链接文件具有相同的索引节点号,可以认为是同一个文件或一个文件的多个入口。
    • 源文件和软链接文件索引节点号不同,是不同的文件,软链接相当于源文件的快捷方式,含有源文件的位置指向。

    关于目录的总结:

    • 对于目录,不可以创建硬链接,但是可以创建软链接。
    • 对于目录的软链接是生产场景运维中常用的技巧
    • 目录的硬链接不能跨越文件系统(从硬链接原理可以理解)
    • 每个目录下面都有一个硬链接“.”号,和对应上级目录的硬链接“..”。
    • 在父目录里创建一个子目录,父目录的链接数量增加1(子目录里都有..来指向父目录)。但是再父目录里创建文件,父目录的链接数不会增加。
    也许世上本没有幸运二字,只有那些给自己提出严格的要求,并且以高度自律逼自己完成的人,才能得到别人眼里的心想事成。
  • 相关阅读:
    使用Logstash把MySQL数据导入到Elasticsearch中
    通过Metricbeat实现外部对Elastic Stack的监控
    使用Elasticsearch的processors来对csv格式数据进行解析
    redis学习网址
    部署文件:filebeat->kafka集群(zk集群)->logstash->es集群->kibana
    ios实例开发精品文章推荐(8.13)
    ios实例开发精品文章推荐(8.12)11个处理触摸事件和多点触摸的JS库
    Android开发环境——模拟器AVD相关内容汇总
    Android开发环境——Eclipse ADT相关内容汇总
    Android开发环境——SDK相关内容汇总
  • 原文地址:https://www.cnblogs.com/shigozsr/p/12325690.html
Copyright © 2011-2022 走看看