linux下的链接文件,尤其是软链接使用非常的频繁;

链分为硬链接(hard link)与软链接(symbolic link) 两种;关键在于inode;

硬链接:

当系统需要读取一个文件时,就会去读取inode table, 然后再去根据 inode中的信息到志区域去把数据读取出来。 而硬链接是直接建立了一个指向文件位置块区域的一个inode。 不过几个限制:1)不能跨文件系统,因为不同的文件系统的inode table是不一样的;2)不能链接目录;

软链接:

跟硬链接不同,软链接建立了一个独立的文件,而这个文件的作用就是当读取这个链接文件时,它们转发到该文件所链接的文件上。它就相当于我们windows系统下的快捷键啊;很小的;

命令:ln

语法 ln [-s] [被链接文件] [链接文件]

ln的常用的选项为 -s, 当加上时,为软链接, 当不加时,为硬链接;

举例:

下面有两个文件:

yinheyi@yinheyi-Aspire-V5-471G:~/play$ ls -l
总用量 476
-rw-r--r-- 1 yinheyi yinheyi 306788 7月 27 22:19 caffeNet.ipynb
-rw-r--r-- 1 yinheyi yinheyi 179976 6月 1 21:09 googLeNet.ipynb

我们为 caffeNet.ipynb 文件分别建立硬链接与软链接;

yinheyi@yinheyi-Aspire-V5-471G:~/play$ ln caffeNet.ipynb caffeNet_硬链接.ipynb
yinheyi@yinheyi-Aspire-V5-471G:~/play$ ln -s caffeNet.ipynb caffeNet_软链接.ipynb

现来观察观察:

yinheyi@yinheyi-Aspire-V5-471G:~/play$ ls -l
总用量 776
-rw-r--r-- 2 yinheyi yinheyi 306788 7月 27 22:19 caffeNet.ipynb
lrwxrwxrwx 1 yinheyi yinheyi 14 7月 28 09:31 caffeNet_软链接.ipynb -> caffeNet.ipynb
-rw-r--r-- 2 yinheyi yinheyi 306788 7月 27 22:19 caffeNet_硬链接.ipynb
-rw-r--r-- 1 yinheyi yinheyi 179976 6月 1 21:09 googLeNet.ipynb

看到了什么?是不是软链接很小,就14K, 而硬链接的大小与原文件的大小相同,都为306788k;

完毕;

参考: http://www.apelearn.com/study_v2/chapter7.html#id10

Linux下硬链接与软链接的更多相关文章

  1. Linux 下硬链接和软链接的说明

    Linux 链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln 命令产生硬链接. 硬连接 硬连接指通过索引节点来进行连接.在 Li ...

  2. 理解 Linux 的硬链接与软链接(待研究)

    从 inode 了解 Linux 文件系统 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux ...

  3. Linux 的硬链接与软链接

    Linux 的硬链接与软链接    http://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/    若一个 inode 号对 ...

  4. 理解Linux的硬链接与软链接-转载

    理解Linux的硬链接与软链接 来自:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html

  5. Linux系统硬链接和软链接介绍

    1.链接的概念 在Linux系统中链接分为硬链接和软连接两种,一种为硬链接,另一种为软连接或符号链接(symbolic Link).ln命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建 ...

  6. 转:理解 Linux 的硬链接与软链接

    Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程 创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键 ...

  7. 理解 Linux 的硬链接与软链接

    Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键盘 ...

  8. 理解 Linux 的硬链接与软链接【转】

    转自:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html 从 inode 了解 Linux 文件 ...

  9. 【Linux】Linux系统硬链接和软链接

    在linux系统中有种文件是链接文件,可以为解决文件的共享使用.链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link). 查看lin ...

随机推荐

  1. markModified声明要修改的数组字段

    更新一个文档的字段的时候,如果该字段的类型是数组类型,则必须在更新保存前声明一下这个数组字段要被修改,否则这个数组字段的值不会被修改.如 article.markModified('categorys ...

  2. Fluent 18.0新功能之:其他

    ANSYS 18.0在2017年1月底发布,来看看Fluent18.0更新了哪些内容. 1 用户界面 关于用户界面方面的更新包括: (1)可以在树形菜单中同时选择多个子节点,如同时选择多个边界,点击右 ...

  3. Flink安装、高可用性

    Flink JobManager HA模式部署(基于Standalone) SCP 命令 SSH免密码登录,搭建Flink standalone集群 https://blog.csdn.net/jie ...

  4. 微网站|手机端html弹窗、弹层、提示框、加载条

    layer mobile是为移动设备(手机.平板等webkit内核浏览器/webview)量身定做的弹层支撑,采用Native JavaScript编写,完全独立于PC版的layer,您需要按照场景选 ...

  5. (原创)C++11改进我们的程序之简化我们的程序(三)

    这次要讲的是:C++11如何通过auto.decltype和返回值后置来简化我们的程序. auto和c#中的var类似,都是在初始化时自动推断出数据类型.当某个变量的返回值难于书写时,或者不太确定返回 ...

  6. Asp.Net采集网页方法大全(5种)

    /// <summary>方法一:比较推荐 /// 用HttpWebRequest取得网页源码 /// 对于带BOM的网页很有效,不管是什么编码都能正确识别 /// </summar ...

  7. Mybatis根据配置文件获取session(多数据源)

    1.config.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configura ...

  8. django —— Celery实现异步和定时任务

    1. 环境 python==2.7 djang==1.11.2 # 1.8, 1.9, 1.10应该都没问题 celery-with-redis==3.0 # 需要用到redis作为中间人服务(Bro ...

  9. idea 开启 problems自动代码检查

    勾上此处 会自动出现 疑问 可能需要装 problems view插件

  10. s3c2440——按键中断

    s3c2440的异常向量表: IRQ中断地址是0x18.所以,根据之前的异常处理方式,我们编写启动文件: 为什么需要lr减4,可以参考这篇文章:http://blog.csdn.net/zzsfqiu ...