在Windows 系统中,快捷方式就是指向原始文件的一个链接文件,可以让用户从不同的位置来访问原始的文件;原文件一旦被删除或剪切到其他地方后,会导致链接文件失效。但是,这个看似简单的东西在Linux 系统中可不太一样。在Linux 系统中存在硬链接和软连接两种文件。

  硬链接(hard link):可以将它理解为一个指向原始文件inode 的指针,系统不为它分配独立的inode 和文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。我们每添加一个硬链接,该文件的inode 连接数就会增加1;而且只有当该文件的inode 连接数为0 时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件inode 的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。需要注意的是,由于技术的局限性,我们不能跨分区对目录文件进行链接。
  软链接(也称为符号链接[symbolic link]):仅仅包含所链接文件的路径名,因此能链接目录文件,也可以跨越文件系统(不同分区)进行链接。但是,当原始文件被删除后,链接文件也将失效,从这一点上来说与Windows 系统中的快捷方式具有一样的性质。

ln 命令

  ln 命令用于创建链接文件,格式为ln [选项] 目标,其可用的参数以及作用如下表所示。在使用ln 命令时,是否添加-s 参数,将创建出性质不同的两种快捷方式

参数 作用
-s 创建符号链接(如果不带-s 参数,则默认创建硬链接)
-f 强制创建文件或目录的链接
-i 覆盖前先询问
-v 显示创建链接的过程

  为了更好地理解软链接、硬链接的不同性质,接下来创建一个类似于Windows 系统中快捷方式的软链接。这样,当原始文件被删除后,就无法读取新建的链接文件了。

[root@lynchj ~]# echo "Welcome to linuxprobe.com" > readme.txt
[root@lynchj ~]# ln -s readme.txt readit.txt
[root@lynchj ~]# cat readme.txt
Welcome to linuxprobe.com
[root@lynchj ~]# cat readit.txt
Welcome to linuxprobe.com
[root@lynchj ~]# ls -l readme.txt
-rw-r--r-- 1 root root 26 Jan 11 00:08 readme.txt
[root@lynchj ~]# rm -f readme.txt
[root@lynchj ~]# cat readit.txt
cat: readit.txt: No such file or directory

  接下来针对一个原始文件创建一个硬链接,即相当于针对原始文件的硬盘存储位置创建了一个指针,这样一来,新创建的这个硬链接就不再依赖于原始文件的名称等信息,也不会因为原始文件的删除而导致无法读取。同时可以看到创建硬链接后,原始文件的硬盘链接数量增加到了2。

[root@lynchj ~]# echo "Welcome to linuxprobe.com" > readme.txt
[root@lynchj ~]# ln readme.txt readit.txt
[root@lynchj ~]# cat readme.txt
Welcome to linuxprobe.com
[root@lynchj ~]# cat readit.txt
Welcome to linuxprobe.com
[root@lynchj ~]# ls -l readme.txt
-rw-r--r-- 2 root root 26 Jan 11 00:13 readme.txt
[root@lynchj ~]# rm -f readme.txt
[root@lynchj ~]# cat readit.txt
Welcome to linuxprobe.com

软硬方式链接(快捷方式)相关推荐

  1. 【一元多项式算法】设一个一元多项式采用带头结点的单链表存储,所有结点 按照升幂方式链接。设计一个算法,求两个多项式 A 和 B 的乘积,结果多项式 C 存放在新辟的空间中。

    [一元多项式算法]设一个一元多项式采用带头结点的单链表存储,所有结点 按照升幂方式链接.设计一个算法,求两个多项式 A 和 B 的乘积,结果多项式 C 存放在新辟的空间中. #include<s ...

  2. 移动端分享方式--链接分享

    移动端分享方式–链接分享 1.技术框架-vue 2.实现功能:点击拷贝按钮,复制下链接,可进行粘贴发送 3.应用插件 vue-clipboard2 4.使用方式 this.$copyText(this ...

  3. 用什么方式链接oracle数据库,使用cx_Oracle 连接oracle数据库的几种方式

    连接oracle数据库的几种方式: 语法: cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME') import cx_Oracl ...

  4. MobaXterm_Personal_20.1最简单方式链接阿里云服务器

    MobaXterm_Personal_20.1链接购买的阿里云服务器 1.登录到阿里云首页 2.阿里云首页 3. 找到 服务器实例 4. 重置密码 5. 配置 MobaXterm_Personal_2 ...

  5. PI数据库的jdbc方式链接

    PI实时数据库的jdbc连接 jar java代码 jar PIJDBCDriver.jar 需要的来我链接自取 java代码 String dasName = "10.109.x.xxx& ...

  6. Navicat for MySQL 使用SSH方式链接远程数据库

    方法/步骤 1.这里我们使用SSH连接远程mysql数据库 2.SSH这种方式,可以使我们连接到远程服务器,但是现在并不能访问数据库,因为我们还没有连接到数据库 3.既然已经连接到服务器了,我们就该连 ...

  7. 【存储知识】文件系统与硬盘存储(分区、格式化、挂载、inode、软链接与硬链接)

    一.Linux系统的文件存储结构 在Linux系统中,对计算机中的数据和硬件资源进行管理都是以文件的形式,目录.字符设备.套接字.硬盘.光驱.打印机等都被抽象成文件形式("Linux系统一切 ...

  8. 《Linux就该这么学》培训笔记_ch06_存储结构与磁盘划分

    <Linux就该这么学>培训笔记_ch06_存储结构与磁盘划分 文章最后会post上书本的笔记照片. 文章主要内容: Linux系统的文件存储结构(FHS标准) 物理设备命名规则(udev ...

  9. Linux基础(存储结构和磁盘划分)

    一切从"/"开始 在Linux系统中,目录.字符设备.块设备.套接字.打印机等都被抽象成了文件,一切皆为件 与windows操作系统不同,Linux系统内不存在C/D/E/F盘等, ...

  10. 存储结构和磁盘划分(基于RedHat7)

    转载来自:http://www.linuxprobe.com/chapter-06.html(良心之作) 章节简述: Linux系统中颇具特色的文件存储结构常常搞的新手头晕,本章节将从Linux系统中 ...

最新文章

  1. 学习dubbo框架的问题
  2. Linux如何搜索文件的方法
  3. JAVE EE 企业级开发之从零开始学JAVA【51CTO技术论坛】
  4. 2018年终总结之人工智能学习
  5. Android 中文API (91) —— GestureDetector
  6. Linux下多网卡MAC配置问题
  7. linux删除非空目录
  8. oracle 10 TNSLSNR.EXE 占用了8080端口怎么办
  9. java提高篇(四)---LinkedList
  10. ASP.NET Core 依赖注入-集成 Autofac
  11. 面试官:重写 equals 时为什么一定要重写 hashCode?
  12. 微课|中学生可以这样学Python(例4.1):快速判断素数
  13. hive:默认允许动态分区个数为100,超出抛出异常:
  14. animate改变背景颜色_3D MAX2016视口背景设置里各参数的含义详解 - 3dmax基础操作入门教程-3dmax材质教程,3d材质贴图教程参数,vray材质参数,3dmax贴图教程...
  15. HTML hidden 属性
  16. console.log、toString方法与js判断变量类型
  17. html怎么写java代码_html中怎么写java代码
  18. Chrome浏览器打开Axure原型图
  19. 有道智云 php,有道智云编辑器 Android SDK
  20. SCL教程之如何使用SCL创建简单控制程序

热门文章

  1. ios学习路线图_iOS开发学习路线 +技巧整理
  2. cocos2d--仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)
  3. html中如何出现三重阴影,探索 CSS3 中的 box-shadow 属性
  4. HTML CSS设计与构建网站 ([美]达科特) PDF原版​
  5. 无心剑中译阿道司.赫胥黎《冥思月亮》
  6. qt调用vc编写库文件的方法
  7. 将pdf文档转换成高清图片
  8. 如何把图片制作成GIF动图?GIF图是怎样合成的?
  9. gif动图怎么制作?手把手教你视频转gif动图
  10. PDF怎么拆分页面,PDF拆分页面的方法