[一文一命令]ln命令详解
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命令详解相关推荐
- 离线调用linux命令,GitHub - rinetd/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...
Linux Command 516 个 Linux 命令大全,内容包含 Linux 命令手册.详解.学习,值得收藏的 Linux 命令速查手册.请原谅我写了个爬虫,爬了他们家的数据linuxde.ne ...
- 实验楼linux命令,GitHub - encorechow/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...
Linux Command 516 个 Linux 命令大全,内容包含 Linux 命令手册.详解.学习,值得收藏的 Linux 命令速查手册.请原谅我写了个爬虫,爬了他们家的数据linuxde.ne ...
- spark常用的linux命令,GitHub - Sparkinzy/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...
Linux Command 516 个 Linux 命令大全,内容包含 Linux 命令手册.详解.学习,值得收藏的 Linux 命令速查手册.请原谅我写了个爬虫,爬了他们家的数据linuxde.ne ...
- Linux系统常用命令及其使用详解大全
Linux系统常用命令及其使用详解大全 整理了linux常用的命令,最长常用的也就几十个,cd,ls ,vi等等,有些容易忘记,经常拿出来看看. 其他的可以推荐一个网站,https://www.lin ...
- Linux rpm 命令参数使用详解
Linux rpm 命令参数使用详解 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装 ...
- linux 文件 字符集设置,Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解...
博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握 ...
- MAC OS 命令行使用详解
MAC OS 命令行使用详解:https://blog.csdn.net/sun375867463/article/details/9812317 1 为什么要使用命令行/如何开启命令行? 许多功能在 ...
- 【Python】Python3.7.3 - Python命令行参数详解
文章目录 Python命令行参数概览 -c cmd参数示例 -m mod参数示例 file参数示例 - 参数示例 命令行选项详解 -b 选项 -B选项 -d选项 -E选项 -h / -? / --he ...
- docker实践(2)常用命令和DockerFile详解
<docker实践(1) 入门和springBoot实践部署> <docker实践(2)常用命令和DockerFile详解> <docker实践(3) 仓库registr ...
- 【学习笔记】sed 命令及参数详解
sed 命令及参数详解 标签:Sed 文章目录 sed 命令及参数详解 一.简介 二.基本用法 2.1. 三种方式 2.2. 常用选项 2.3. 命令体的组成 2.3.1. 定位文本部分 2.3.2. ...
最新文章
- 数据持久化(六)之Using CoreData with MagicalRecord
- 摈弃 Windows 低效率的工作方式,发掘 Linux 身上的 UNIX 气质
- nginx location 匹配 多个规则_三道小练习助你弄懂 Nginx location 匹配
- 求逆矩阵计算器_991CN的矩阵运算
- java - 判断任意一天是这年的第几天
- ASP.NET中Server.MapPath() 和Request.MapPath()使用
- 用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST
- MongoDB数据库常见问题
- 【代码源 Div1#103】子串的最大差 Codeforces - 817D,力扣2104,1900分
- wemall app商城源码Android中ViewHolder详细解释
- linux执行命令在哪,在linux终端中执行root命令有哪些方法
- mysql 在线语法检查工具_「mysql 管理工具」五大开源MySQL管理工具! - seo实验室
- Linux中fcntl函数介绍
- css模糊遮罩效果_CSS 半透明遮罩层
- (三)IDEA部署Tomcat原理
- [个人管理]学习超级搜索术知识点总结
- Macbook用Terminal启动Matlab
- 十年了,测试变了,我也变了,但总有一些东西未变
- python随机森林预测案例_Random Forest算法 python实现案例分析
- 基于EEG-EMG混合控制方法的研究—生物机器人应用:现状、挑战与未来方向(三)