Linux建立文件目录链接的方法

转载 2015年07月09日 19:05:21

1. 使用方式:ln [option] source_file dist_file
                    -f 建立时,将同档案名删除.
                    -i 删除前进行询问.
                    ln -s abc cde 建立abc 的软连接
                    ln abc cde 建立abc的硬连接,

2. 软链接与硬链接的区别(通俗):
                    硬链接可认为是一个文件拥有两个文件名;而软链接则是
                    系统新建一个链接文件,此文件指向其所要指的文件

3. 软链接与硬链接的区别(讲解):

Linux 软连接与硬连接
对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘 ...都可以看着文件来处理的啊。
    连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows下的快捷方式。
    不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多。    
   
eg:
    ln -s source dist        # 建立软连接
    ln source dist            # 建立硬连接


    软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。
(1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln aa.txt /root/bb 失败 。

(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加,只要结点的连接数不是 0,文件就一直存在,不管你删除的是源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件任何一个的时候 ,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软连接可以对目录进行连接。

备注:I节点 :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点含有关于文件的大部分的重要信息,包括文件数据块在磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.

 

    在bind中,一般系统会自动建立/var/named/chroot/etc/named.conf 到/etc/named.conf的链接,如果链接不成功,可以通过命令ln -s /var/named/chroot/etc/named.conf /etc/named.conf  来实现链接。通过将一些常用的配置文件链接到/etc目录下,对简化操作可以启到很大的帮助作用

转自:http://blog.sina.com.cn/s/blog_6600241d0100mimu.html

linux目录下的所有文件批量创建链接(但目录不链接)的实现方法

#!/usr/bin/env perl # lns -- create a symbolic link. Alternative to "ln -s". # This program works ...
  • Fybon
  • Fybon
  • 2014年01月01日 20:19
  • 1510

Linux ln命令 - 建立文件/目录链接

转自Linux ln命令 - 建立文件/目录链接 1. 使用方式:ln [option] source_file dist_file                      -f 建...
  • wdjhzw
  • wdjhzw
  • 2014年08月24日 00:29
  • 1349

Linux中为什么硬链接不能指向目录

说法一: 如果使用 hard link 链接到目录时, 链接的数据需要连同被链接目录底下的所有数据都创建链接,举例来说,如果你要将 /etc 使用实体链接创建一个 /etc_hd 的目录时,那么在...
  • zlpzlpzyd
  • zlpzlpzyd
  • 2015年03月15日 20:13
  • 953

linux下挂载windows共享目录并创建软链接

错误提示➜ WORKING_DIRECTORY repo init -u https://android.googlesource.com/platform/manifest -b android-...
  • counsellor
  • counsellor
  • 2017年04月07日 11:54
  • 1140

在Linux中创建文件目录软链接、硬链接的方法

在Linux中常常会用到链接,就像在PC电脑中的桌面快捷方式一样。 1. 使用方式:ln [option] source_file dist_file              -f 建立时,将同档...
  • xi_gua_gua
  • xi_gua_gua
  • 2016年12月31日 16:14
  • 2564

在linux下如何证明目录不能创建硬链接

如何证明目录不能创建硬链接 Reference: http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=5565 创建硬链接的命令是 l...
  • longyinyushi
  • longyinyushi
  • 2015年12月05日 02:25
  • 768

多角度分析为什么 Linux 的硬连接不能指向目录

本文翻译自两篇文章,先深刻的剖析硬链接、软链接以及inode ,此后从多个角度分析为什么Linux下不能对目录创建硬链接。在文章小结处,给以总结,如果您对Linux的文件系统感兴趣,我敢说本文值得一读...
  • longerzone
  • longerzone
  • 2014年04月17日 09:27
  • 5671

shell if 条件判断 文件 文件夹 链接

Linux的参数总是太多记不住: –b 当file存在并且是块文件时返回真-c 当file存在并且是字符文件时返回真-d 当pathname存在并且是一个目录时返回真-e 当pathname指定...
  • kangear
  • kangear
  • 2013年07月16日 15:03
  • 2426

[转]linux创建链接文件的两种方法

转自 http://topic.csdn.net/u/20120930/11/3d9e5a0d-6dad-4dee-8a9d-6ad50f52f69e.html?r=79806698   一、 链...
  • zxnm55
  • zxnm55
  • 2014年02月10日 15:51
  • 1177

linux 下建立硬链接和软连接

对于一个文件来说,有唯一的索引接点(inode)与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊...
  • u011566725
  • u011566725
  • 2014年03月10日 17:09
  • 2734
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux建立文件目录链接的方法
举报原因:
原因补充:

(最多只允许输入30个字)