创建连接实质上就是给系统中已经存在的文件指定另外一个可以访问它的名称,linux系统当中连接的创建有两种形式:硬链接(Hard Link),与符号链接(Symbloic Link)既软链接。

ln命令:

语法:ln [选项] 目标

参数 作用

-s 创建软链接(默认是硬链接)

-f 强制创建文件或者目录的连接

-i 覆盖前先询问

-v 显示创建连接的过程

硬链接:

将目录/app/linktest/file1 文件链接到目录/app/linktest/hardlink 文件,利用ls -l命令可以观察到文件连接数的变化。

[root@CentOS6 linktest]#ls -l
total 4
-rw-r--r--. 1 root root 8 Jul 22 15:35 file1
[root@CentOS6 ~]#ln /app/linktest/file1 /app/linktest/hardlink
[root@CentOS6 linktest]#ls -l
total 8
-rw-r--r--. 2 root root 8 Jul 22 15:35 file1
-rw-r--r--. 2 root root 8 Jul 22 15:35 hardlink

理解:

  1. 硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。
  2. 硬链接的本质就是给源文件添加一个关联数据,硬链接的建立并不意味着一个新文件的建立,所以建立硬链接并不占用系统的节点编号。

    [root@CentOS6 linktest]#ls -i

    262146 file1 262146 hardlink
  3. 观察file1和hardlink文件可以看出来,两个文件的节点编号是相同,也就是说这两个文件实质上指向同一个文件数据,当修改其中一个文件的信息数据的同时互为硬链接的多个文件会发生相应的改变。
  4. 硬链接不能对目录建立,不能跨分区建立。

软链接:

在目录/app/linktest2目录下创建一个软链接文件softlink,使他指向目录/app/linktest下的file1文件。

[root@CentOS6 linktest2]#ln -s /app/linktest/file1  /app/linktest2/softlink
[root@CentOS6 linktest2]#ls -l
total 0
lrwxrwxrwx. 1 root root 19 Jul 22 16:34 softlink -> /app/linktest/file1

理解:

  1. 通过实验观察软链接文件的节点编号与源文件不同,软链接文件有自己的节点编号,所以软链接建立的同时意味着一个新文件的创建。
  2. 软链接这个文件的内容就是源文件的路径名。作用与windows系统中的快捷方式 相似。
  3. 软链接有自己的节点标号所以与硬链接不能作用于目录文件不同,软链接可以作用于目录文件,可以跨分区建立,也可以在不同的文件系统中建立。
  4. 软链接的内容是源文件的路径信息,所以如果删除源文件那么链接文件也会失去意义。然而删除软链接文件对于源文件是没有影响的。

linux软硬连接学习总结的更多相关文章

  1. Linux 软硬链接区别

    一.“硬链接“和“软链接“ 链接的概念:链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 链接的作用:可以将链接简单地理解为 Windows 中常见的快捷方 ...

  2. 初始Linux软硬链接

    转载 https://blog.csdn.net/libaineu2004/article/details/85918682 用实践让你明白"软链接"和"硬链接" ...

  3. Linux软硬连接

     曾经对软硬连接一直搞不明白,关键是怕操作错误. 硬链接不能跨区实现连接,硬链接是对原始文件的镜像,同一个inode,软连接是快捷方式,inode保存的是快捷方式的.原始文件删除,导致软连接文件无效. ...

  4. linux 软硬链接

    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [硬连接]硬连接指通过索引节点 ...

  5. Linux 软硬链接的区别及目录权限对软硬链接的影响

    目录权限的影响 首先,构建实验环境如下图: 有 A.B 两个目录,A 目录下建有 test 文件,且文件中的内容为 "Hello".B 目录下分别创建 test 文件的硬链接 te ...

  6. Linux 软硬链接详解

    软链接 软链接: 类似于windows的快捷方式,—>文本文件,但是包含了真实文件的地址               源文件删除,则软连接也删除               软链接可以放在任何文 ...

  7. linux软硬链接

    ln分为软链接和硬链接 1.软连接 -s   ln -s /mnt/hgfs/SHARE hvshare2 相当于在当前目录下新建一个名为hvshare2的快捷方式指向/mnt/hgfs/SHARE路 ...

  8. Linux - 软硬链接,hard link and symbolic link

  9. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

随机推荐

  1. 项目整理--Echarts前端后台的贯通写法

    项目整理–Echarts前端后台的贯通写法 注:下面所有内容建立在FH admin开源框架和eharts插件基础上,建议观看本案例者进行了解. 业务逻辑 绘制两张图表.分别显示城市空间库和其它数据仓库 ...

  2. 如何推断一个P2P平台是否靠谱?

    推断一个站点,是否靠谱.是有规律可循的.P2P平台算是个新兴的电商类站点.   网上欺诈类的站点.不限于P2P,实在是太多了,真的有必要总结下最关键的几个靠谱指标.   最关键的2个   1.创始人和 ...

  3. Solidedge如何新建参考平面 参考面

    1 建立平行平面 点击平行平面 点击参考平面,输入相对距离   2 建立成角平面 先选择基准面,再选则旋转轴(第二次点击一个平面,该平面与基准面相交形成的直线即为旋转轴)   输入角度即可完成(鼠标左 ...

  4. BeagleBone Black Industrial 进阶设置(性能优化以及延长板载eMMC存储寿命)

    前言 原创文章,转载引用务必注明链接.水平有限,欢迎指正. 本文使用markdown写成,为获得更好的阅读体验,推荐访问我的博客原文: http://www.omoikane.cn/2016/09/1 ...

  5. 一致性hash算法在memcached中的使用

    一.概述 1.我们的memcacheclient(这里我看的spymemcache的源代码).使用了一致性hash算法ketama进行数据存储节点的选择.与常规的hash算法思路不同.仅仅是对我们要存 ...

  6. hdu5289(2015多校1)--Assignment(单调队列)

    Assignment Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total ...

  7. Multi-company rules

    Object Name Domain 说明 Point of Sale Point Of Sale Order [('company_id', '=', user.company_id.id)] 指派 ...

  8. Android中View绘制流程以及invalidate()等相关方法分析(转)

    转自:http://blog.csdn.net/qinjuning 前言: 本文是我读<Android内核剖析>第13章----View工作原理总结而成的,在此膜拜下作者 .同时真挚地向渴 ...

  9. INAPP登陆调用的FB接口

    public function login_get (){ $this->load->helper ( 'auth' ); $redirectUrl = $this->input-& ...

  10. 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门演示样例

    一. 工作区域具体解释 1. Scence视图 (场景设计面板) scence视图简单介绍 : 展示创建的游戏对象, 能够对全部的游戏对象进行 移动, 操作 和 放置; -- 演示样例 : 创建一个球 ...