1.Linux链接概念

Linux链接分两种。一种被称为硬链接(Hard Link),还有一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

【硬连接】

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件无论是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中。多个文件名称指向同一索引节点是存在的。

一般这样的连接就是硬连接。

硬连接的作用是同意一个文件拥有多个有效路径名。这样用户就能够建立硬连接到关键文件。以防止“误删”的功能。其原因如上所述。由于相应该文件夹的索引节点有一个以上的连接。

仅仅删除一个连接并不影响索引节点本身和其他的连接。仅仅有当最后一个连接被删除后。文件的数据块及文件夹的连接才会被释放。也就是说,文件真正删除的条件是与之相关的全部硬连接文件均被删除。

【软连接】

第二种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件。当中包括的有还有一文件的位置信息。

2.通过实验加深理解

[oracle@Linux]$ touch f1          #创建一个測试文件f1

[oracle@Linux]$ ln f1 f2          #创建f1的一个硬连接文件f2

[oracle@Linux]$ ln -s f1 f3       #创建f1的一个符号连接文件f3

[oracle@Linux]$ ls -li            # -i參数显示文件的inode节点信息

total 0

9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f1

9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f2

9797649 lrwxrwxrwx  1 oracle oinstall 2 Apr 21 08:11 f3 -> f1

从上面的结果中能够看出。硬连接文件f2与原文件f1的inode节点同样,均为9797648,然而符号连接文件的inode节点不同。

[oracle@Linux]$ echo "I am f1 file" >>f1

[oracle@Linux]$ cat f1

I am f1 file

[oracle@Linux]$ cat f2

I am f1 file

[oracle@Linux]$ cat f3

I am f1 file

[oracle@Linux]$ rm -f f1

[oracle@Linux]$ cat f2

I am f1 file

[oracle@Linux]$ cat f3

cat: f3: No such file or directory

通过以上測试能够看出:当删除原始文件f1后,硬连接f2不受影响,可是符号连接f1文件无效

3.总结

依此您能够做一些相关的測试,能够得到下面所有结论:

1).删除符号连接f3,对f1,f2无影响。

2).删除硬连接f2,对f1,f3也无影响;

3).删除原文件f1。对硬连接f2没有影响,导致符号连接f3失效;

4).同一时候删除原文件f1,硬连接f2。整个文件会真正的被删除。

终点。

版权声明:本文博主原创文章。博客,未经同意不得转载。

linux软与硬接线连接的更多相关文章

  1. linux 链接的使用 创建和删除符号连接(软、硬链接)

    1 . 使用方式 :ln [option] source_file dist_file   (source_file是待建立链接文件的文件,dist_file是新创建的链接文件)            ...

  2. linux命令 - ln - 创建和删除软、硬链接

    linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...

  3. linux下创建和删除软、硬链接

    linux下创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制 ...

  4. linux下软、硬链接的创建和删除

    linux下软.硬链接的创建和删除 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复 ...

  5. 初窥Linux 之 区分硬连接和软连接

    一.Linux下的两种连接文件及创建方式 在Linux下面的连接文件有两种——软连接和硬连接,虽然都是连接文件,但两者却有很大的区别.一种是类似于Windows的快捷方式功能的文件(或目录),这种连接 ...

  6. Linux 软连接与硬连接

    Linux 软连接与硬连接 对于一个文件来说,有唯一的索引接点与之相应,而对于一个索引接点号,却能够有多个文件名称与之相应.因此,在磁盘上的同一个文件能够通过不同的路径去訪问该文件.注意在Linux下 ...

  7. 【转】Linux下软、硬链接的创建和删除

    原文:http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/05/2199534.html 在Linux系统中,内核为每一个新创建的文件分 ...

  8. Linux文件系统的硬连接和软连接

    title: Linux文件系统的硬连接和软连接 date: 2018-02-06T20:26:25+08:00 tags: ["文件系统"] categories: [" ...

  9. Linux下创建和删除软、硬链接 可临时处理空间不足

    在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问. ...

随机推荐

  1. Android JNI 获取应用程序签名

    使用Android JNI 获取应用程序签名. 获取基础上生成自己的签名password,这可以防止别人反编译找到自己的源代码password. jstring Java_com_masonsdk_j ...

  2. Html A标签中 href 和 onclick用法、区别、优先级别

    原文:Html A标签中 href 和 onclick用法.区别.优先级别 如果不设置 href属性在IE6下面会不响应hover.双击后会选中标签的父容器而非这个一a标签(IE下都存在这一问题). ...

  3. java文件创建、删除、读取、写入操作大全

    一.获得控制台用户输入的信息 public String getInputMessage() throws IOException...{ System.out.println("请输入您的 ...

  4. C/S与B/S谁与争锋之我见

    看到网上有些人在讨论C/S架构和B/S架构以及它们的发展趋势,后起之秀B/S是否真将取代C/S而存在?在发表我的观点之前,我们先来一起来回顾下C/S以及B/S. 一C/S 1.C/S概念 C/S是Cl ...

  5. 【 D3.js 高级系列 — 8.0 】 打标

    有时,需要在地图上画线.代表"从地方到什么地方"的含义,因此,在连接的映象绘制时.称为"打标". 1. 标线是什么 标线.是指地图上须要两个坐标以上才干表示的元 ...

  6. php获取前一天,前一个月,前一年的时间

    获取前一天的时间: $mytime= date("Y-m-d H:i:s", strtotime("-1 day")); 获取三天前的时间: $mytime= ...

  7. JDBC连接数据库经验技巧(转)

    Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序.然而各个开 ...

  8. NSPredicate的用法

    一般来说这种情况还是蛮多的,比如你从文件中读入了一个array1,然后想把程序中的一个array2中符合array1中内容的元素过滤出来. 正 常傻瓜一点就是两个for循环,一个一个进行比较,这样效率 ...

  9. 【ArcGIS 10.2新特性】ArcGIS 10.2 for Desktop 新特性(二)

    4 三维 4.1 共享三维场景         用户能够将ArcScene文档导出为3D web场景,能够被加载到ArcGIS Online.Portal或本地Web服务器上并进行分享.这样,用户可以 ...

  10. Windows Phone开发(28):隔离存储B

    原文:Windows Phone开发(28):隔离存储B 上一节我们聊了目录的操作,这一节我们继续来看看如何读写文件. 首先说一下题外话,许多朋友都在摇摆不定,三心二意,其实这样的学习态度是很不好的, ...