Linux基础知识之软硬链接

系统环境:

   该博文以CentOS6.8_x86_64系统为基础,Xshell5远程登录CentOS6.8系统,以root身份登录系统。

为什么要学习符号(软)链接和硬链接?

   符号(软)链接和硬链接是Linux文件系统中的一个重要的概念,软硬链接的学习过程中会涉及一些文件系统中的索引节点(inode),索引节点是虚拟文件系统上的非常重要的知识,我们通过分析和学习软链接和硬链接的区别,可以更好利用软硬链接的知识去分析文件系统,更好的去理解Linux系统的原理,使用软硬链接会更加缩小系统,还有就是可以更加方便的去移值Linux系统(绝对路径和相对路径的使用会更加方便的进行系统的移值)。

   硬链接(Hard Link)的分析:

    课件的解析:blob.png

    硬链接的详细解析:

    硬链接是通过索引节点来进行连接文件的。在Linux系统之中,保存在磁盘分区中的文件都有一个单一的inode号(因为Linux一切皆文件,不管什么类型的文件,都会对应一个Linux的节点号,※磁盘上的每一个分区都会有一套自己的inode编号,等分析inode的博客会详细的讲解这些知识)。在Linux之中,多个文件名或单个文件名会通过单一的索引节点指向每一个单一的文件。硬链接的作用是允许一个文件拥有多个有效路径名,这样每一个用户都会将一些重要文件通过硬链接生成多个文件名,可以防止用户删除某一个文件名,而导致删除整个文件的链接关系被删除,导致文件被删除,建立链接的关系之后,删除单一的硬链接,文件系统的对应关系都不会被删除,只有当文件的最后一个硬链接被删除之后,文件才会被删除,这样简单的备份即不用另外使用太多另外的磁盘空间,而做到防止“误删”的功能。真正的文件删除的条件是与之相关的所有的硬件接文件均被删除,文件才会被删除,文件的数据块和目录的连接才会被释放。

   硬链接的语法和命令的使用实例:

        ln filename [linkname ]

   实例分析:

      a.创建一个文件名为f1的文件;
      b.将how are you? 通过输入重定向写入f1文件中;

      c.给f1文件创建一个名为f2的硬链接;

      d.使用ls -i 查看f1文件和f2文件的inode号,显示为同一个inode号(11);

      e.删除文件f1;

      f.查看f2中的内容,发现和f1中的内容相同,说明f1和f2互为相互的硬连接。

  blob.png

   符号(软)链接(Symbolic Link)的分析:

      课件的解析:

blob.png

    语法:

       ln -s filename [linkname]

    符号链接的详细解析:

             a.linux下的软链接类似于windows下的快捷方式

             b.假设b文件是a文件的软链接,当我们打开b文件实际通过b文件的链接指向的是a文件,确切的说我们最后打开的b文件是通过a文件的inode打开的文件。与此不同的是,b文件是a文件的硬链接的话,其实都是通过相同的inode打开文件。

              c.当b目录为a目录的软链接的时候,进入b目录,但实际上进入的是a目录。

              d.软连接的两个文件的inode号是不相同的,硬链接的两个inode号是相同的。

              e.软链接文件a和b的权限是不相同的,硬链接的a和b文件的权限是相同的。   

              f.当创建软连接时,a文件和它的软连接b不再同一目录时,一定要说明软链接b对于文件a的相对路径(相对路径是相对于软链接文件的路径,而不是现对于当前目录的路径),或者直接指明绝对路径。(※在真正的系统中,软链接多数使用的是指定的相对路径,而不是绝对路径,使用相对路径便于文件和链接文件的移值性※)

              g.默认创建软连接的时候,认为创建的链接文件和目标文件是在同一目录。

    符号(软)链接实例:

      a.新建文件f1,创建f1的软链接f2.(f1 f2 文件的inode号不同,f2 指向f1 文件)

      blob.png

      b.在root目录下创建文件f1,对文件f1分别在/testdir/目录下,利用下面三种方法创建软链接f1、f2、f3。我们可以发现,f1是错误的,f2、f3都是正确的,f2使用的是绝对路径的创建软链接(在本地系统使用无障碍,但是移值系统之后,可能会造成软链接无法使用),f3是使用的相对路径创建的软链接。(※相对路径是相对于软链接文件的路径,而不是现对于当前目录的路径※,增强文件跟随系统的移值性。)

      blob.png

原创文章,作者:sjsir,如若转载,请注明出处:http://www.178linux.com/26682

(0)
sjsirsjsir
上一篇 2016-08-02 10:53
下一篇 2016-08-02 10:54

相关推荐

  • lvm基本应用,扩展及缩减实现

    一、    LVM的创建     LVM因为他的可扩展和可伸缩的特性,被广泛的应用于磁盘管理中,创建LVM则必须先创建pv然后创建vg最后才能创建lv,他们之间的关系如下:呈金字塔结构     1、创建查看pv     …

    Linux干货 2016-03-09
  • 运维练习题

     1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。TCP三次握手:客户端向服务器发送SYN包,客户端进入syn_SEND状态服务端收到客户端的发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态客户端收到服务器端返回的包再发ACK包,客户端进入ESTABLISHED状态,服务器收到包也进入ESTABLISHED状态客户…

    Linux干货 2016-06-12
  • Linux基础学习总结(一)

    一、计算机的组成与功能 二、Linux的版本 三、Linux的哲学思想 四、Linux基础命令(一) 五、Linux帮助信息 六、Linux目录结构

    Linux干货 2016-09-20
  • 马哥教育第一天记

    一天学习心得和记录

    Linux干货 2018-03-26
  • systemd管理

    centos7:systemdSystemd :系统启动和服务器守护进程管理器,负责在系统启动或运行时,          激活系统资源,服务器进程和其它进程Systemd 新特性:        系统引导时实现服务并行启动      &n…

    Linux干货 2017-04-10
  • CA服务器的搭建以及证书签署、dropbear的编译安装

    CA服务器的搭建以及证书签署、dropbear的编译安装 一、CA Server和Client: 1、CA server:创建私钥CA (1)   openssl的配置文件:/etc/pki/tls/openssl.conf   如果Client端的申请是来自不同的国家,则需要将下图中红色框内的三项,由“match”改为“opt…

    Linux干货 2016-09-23