ln

名称:ln - make links between files在文件之间创建连接

功能简述:linxu系统中,有所谓的链接。链接有两种之分:

=============================================================================

硬链接与软链接两者的区别:

对于一个文件来说,有唯一的索引接点(inode)与之对应。

软链接:也称符号链接,就是产生一个新文件,文件内容实际只记录它自己要连接的文件的路径在何处。软链接只是一个记录文件路径的文件。所以如果源文件被删除,软链接文件还是存在的。

硬链接:硬链接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。都是指向相同的物理地址。通俗的讲,比如一个东西放在柜子里,然后原本是一个人认领,后面创建了一个硬链接,就相当于实际上又多了一个人认领。那么要清空这个柜子就必须得两个人同时都同意才行。而软连接就相当于贴了标签而已,清空柜子不用标签同意。然后目录不能够创建硬链接?创建硬链接时,由于删除文件要在同一索引点属于唯一链接上才能成功,所以硬链接可以保证文件的误删除。也就是说只有物理路径上的所有硬链接(包含源文件)都被删除完成,文件数据块和目录的连接才会被释放。硬链接只能在同一个文件系统上创建不能夸文件系统。

=============================================================================

参数:

-b     删除、覆盖以前建立的连接

-f   链结时先将与 dist 同档名的档案删除
-d   允许系统管理者硬链结自己的目录

-i     交互模式,文件存在则提示用户是否覆盖

-n     把符号链接视为一般目录

-s     软链接(符号链接)

-v     显示详细的处理过程

实例:

1)创建软硬链接后的链接数问题

可以发现创建软链接,源文件的链接数不增加,因为软链接是一个独立的文件。而创建硬链接,源文件和链接文件的链接数都会增加,因为两者都是指向同一个inode。链接数其实也就是现实一个inode的链接数,软链接是一个新文件新inode所以初始就只是1而已。创建的目录初始及有

2)创建软硬链接后,删除源文件,重建源文件

[root@bogon ~]# ll

-rw-r--r-- 2 root root   17 Apr 26 00:40 1.log

-rw-r--r-- 2 root root   17 Apr 26 00:40 log

lrwxrwxrwx 1 root root    5 Apr 26 00:20 log1 -> 1.log

[root@bogon~]# rm 1.log

rm: remove regular file `1.log'? y

[root@bogon ~]# ll

-rw-r--r-- 1 root root   17 Apr 26 00:40 log

lrwxrwxrwx 1 root root    5 Apr 26 00:20 log1 -> 1.log

[root@bogon ~]# echo "this new file">1.log

[root@bogon ~]# ll

-rw-r--r-- 1 root root   14 Apr 26 00:41 1.log

-rw-r--r-- 1 root root   17 Apr 26 00:40 log

lrwxrwxrwx 1 root root    5 Apr 26 00:20 log1 -> 1.log

[root@bogon~]# cat log1

this new file

[root@bogon ~]# cat log

this is old file

说明:

1.源文件被删除后,并没有影响硬链接文件;软链接文件在centos系统下不断的闪烁,提示源文件已经不存在

2.重建源文件后,软链接不在闪烁提示,说明已经链接成功,找到了链接文件系统;重建后,硬链接文件并没有受到源文件影响,硬链接文件的内容还是保留了删除前源文件的内容,说明硬链接已经失效

创建完成的软连的权限变成:lrwxrwxrwx,那么具体的权限判断是哪个[U2]?

[test@bogontmp]$ cat 1.log

cat: 1.log: Permission denied

3)创建连接文件

ln -s 源文件  目标文件 软链接

ln   源文件   目标文件 硬链接

《目录的链接数》

目录初始的链接数就为2,当在底下新建一个子文件夹,连接数就又新增1.

《软连接的权限问题》

软链接只是一个路径记录而已,所以实际的权限应该还是源文件的权限,毕竟源文件的inode才是记录文件读取权限的地方。经试验,得验证。

----------------------------后续自我小结----------------------------------------

ln创建连接也是比较常用的,主要就是创建软硬连接。应该是属于基础命令,功能也相对没有那么复杂。

---------------------------------------------------------------------------------

转载于:https://blog.51cto.com/atong/1343201

[一文一命令]ln命令详解相关推荐

  1. 离线调用linux命令,GitHub - rinetd/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...

    Linux Command 516 个 Linux 命令大全,内容包含 Linux 命令手册.详解.学习,值得收藏的 Linux 命令速查手册.请原谅我写了个爬虫,爬了他们家的数据linuxde.ne ...

  2. 实验楼linux命令,GitHub - encorechow/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...

    Linux Command 516 个 Linux 命令大全,内容包含 Linux 命令手册.详解.学习,值得收藏的 Linux 命令速查手册.请原谅我写了个爬虫,爬了他们家的数据linuxde.ne ...

  3. spark常用的linux命令,GitHub - Sparkinzy/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...

    Linux Command 516 个 Linux 命令大全,内容包含 Linux 命令手册.详解.学习,值得收藏的 Linux 命令速查手册.请原谅我写了个爬虫,爬了他们家的数据linuxde.ne ...

  4. Linux系统常用命令及其使用详解大全

    Linux系统常用命令及其使用详解大全 整理了linux常用的命令,最长常用的也就几十个,cd,ls ,vi等等,有些容易忘记,经常拿出来看看. 其他的可以推荐一个网站,https://www.lin ...

  5. Linux rpm 命令参数使用详解

    Linux rpm 命令参数使用详解 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装 ...

  6. linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...

    博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握 ...

  7. MAC OS 命令行使用详解

    MAC OS 命令行使用详解:https://blog.csdn.net/sun375867463/article/details/9812317 1 为什么要使用命令行/如何开启命令行? 许多功能在 ...

  8. 【Python】Python3.7.3 - Python命令行参数详解

    文章目录 Python命令行参数概览 -c cmd参数示例 -m mod参数示例 file参数示例 - 参数示例 命令行选项详解 -b 选项 -B选项 -d选项 -E选项 -h / -? / --he ...

  9. docker实践(2)常用命令和DockerFile详解

    <docker实践(1) 入门和springBoot实践部署> <docker实践(2)常用命令和DockerFile详解> <docker实践(3) 仓库registr ...

  10. 【学习笔记】sed 命令及参数详解

    sed 命令及参数详解 标签:Sed 文章目录 sed 命令及参数详解 一.简介 二.基本用法 2.1. 三种方式 2.2. 常用选项 2.3. 命令体的组成 2.3.1. 定位文本部分 2.3.2. ...

最新文章

  1. 数据持久化(六)之Using CoreData with MagicalRecord
  2. 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质
  3. nginx location 匹配 多个规则_三道小练习助你弄懂 Nginx location 匹配
  4. 求逆矩阵计算器_991CN的矩阵运算
  5. java - 判断任意一天是这年的第几天
  6. ASP.NET中Server.MapPath() 和Request.MapPath()使用
  7. 用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST
  8. MongoDB数据库常见问题
  9. 【代码源 Div1#103】子串的最大差 Codeforces - 817D,力扣2104,1900分
  10. wemall app商城源码Android中ViewHolder详细解释
  11. linux执行命令在哪,在linux终端中执行root命令有哪些方法
  12. mysql 在线语法检查工具_「mysql 管理工具」五大开源MySQL管理工具! - seo实验室
  13. Linux中fcntl函数介绍
  14. css模糊遮罩效果_CSS 半透明遮罩层
  15. (三)IDEA部署Tomcat原理
  16. [个人管理]学习超级搜索术知识点总结
  17. Macbook用Terminal启动Matlab
  18. 十年了,测试变了,我也变了,但总有一些东西未变
  19. python随机森林预测案例_Random Forest算法 python实现案例分析
  20. 基于EEG-EMG混合控制方法的研究—生物机器人应用:现状、挑战与未来方向(三)

热门文章

  1. Codeigniter基础
  2. jsp:include
  3. 准备 LVM Volume Provider - 每天5分钟玩转 OpenStack(49)
  4. C#递归遍历指定目录下文件和文件夹
  5. 帝国时代的升级企事业的发展
  6. 诗与远方:无题(三十九)
  7. docker compose详解
  8. 怎么用计算机看,如何巧妙的查看电脑使用痕迹
  9. Markdown入门指导
  10. 冒泡排序,选择排序,插入排序