指令 ln -s 创建软链接、硬链接

原创首发于CSDN,转载请注明出处,谢谢!https://blog.csdn.net/weixin_46959681/article/details/115351150



创建链接的现实需求

不论是哪类操作系统下进行操作,系统里的文件都是分散于各个不同的盘内不同目录内。当在不同的文件目录下用到相同的文件时,我们没必要在每一个所处的文件目录下放置相同的文件, 只需要在所处的文件目录下创建一个“快捷方式(Link)”指向真正需要的文件即可(使用命令 ln -s 源文件 生成的链接文件,-s 意为代号symbolic。) , 如:ln -s libwiringPi.so.2.5 libwiringPi

注意:

  1. ln 的链接又分软链接和硬链接两种,加参数 s 为软链接,无为硬链接;
  2. ln 命令会保持每一处链接文件的同步性 —— 不论你改动了哪一处,其它的文件都会发生相同的变化。

软链接

软连接

如图片所示,蓝色字体的文件 libwiringPi.so 就是指令 ln 生成的软链接文件。我们在交叉编译树莓派ARM代码文件时链上库 -lwiringPi,看似使用的是库 libwiringPi.so ,但实际上他指向的是另一个库 libwiringPi.so.2.50 。生成的库文件 libwiringPi.so 只是一个包含了库 libwiringPi.so.2.5 位置信息的文本文件。

|软链接的特点

  1. 软链接文件类似于 Windows 的快捷方式;
  2. 在软链接的符号链接中,文件实际上就是一个文本文件,包含着源文件的位置信息;
  3. 生成软链接命令格式为 ln -s 源文件 生成的软链接文件,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间。

硬链接

生成硬链接的命令格式就是 ln 源文件 生成的硬链接文件。在没有参数 -s 的情况下, 会在你选定的位置上生成一个和源文件大小相同的文件。

|硬链接的特点

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

思绪

笔者在以往使用 Windows 系统的过程中习惯于图形化的窗口界面,仅止于打开一个又一个窗口创建、删除文件,这就造成了一个后果:Windows 系统的图形化窗口是经过高度封装的,等于将整个操作系统的文件系统和使用者之间加了一层隔离墙,相当大程度上隔绝了我们对于操作系统的感知。

但在高度自由的 Linux 系统环境中一切都迎刃而解了,没有诡异又别扭的分盘,只有按功能划分的系统文件区块 blockarchfsipctoolskernel 等等。通过强大又优雅的编辑器 vim 来操作指令,我们可以自由地驰骋。 相信没有一个程序员可以拒绝一双几乎不需要移动的双手。

| vim 书籍阅读列表

  • 《Vim 8 文本处理实战》
  • 《Vim 实用技巧》
  • 《学习 Vi 和 Vim 编辑器》(影印版)

文章更新记录

  • “创建链接的现实需求” 一节完成。 「2021.4.2 10:04」
  • 文章初次完成。 「2021.4.2 11:56」
  • 增加“思绪”一节。 「2021.4.2 18:39」
  • 增加“Vim 书籍阅读列表”一节。 「2021.4.3 11:16」
  • 将 “vim 书籍阅读列表”归入为“思绪”的小节。 「2021.4.11 22:55」
  • 把文章移动到二级专栏“Linux操作系统”。 「2021.5.14 15:45」

P.S.1 最近的思绪为什么这么不平静呢?运动跑步,顺便去医院做一做心电图吧。 「2021.5.14 15:49」

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值