Centos常用命令之:ln
在linux中[ln]这个命令用来创建连接文件。
共有两种连接文件:一种是类似与Windows的快捷方式(软链接),另一种就是通过文件系统的inode来产生的新的文件名(硬链接)。
这里解释下什么叫inode。
我们在讲解[ls]命令的时候,说过[-i]这个选项可以查看到该文档的inode。

其中最前面一列的数字就表示inode,它保存了该文档很多信息,其中有一项就是该文件真正内容的指向。
在linux的文件系统中,我们上面看到的Desktop,Documents这些个文件夹中其实并没有真正的保存数据,而只是一个文件档的名字而已。
真正的数据是保存在block中。
这个文件档的inode中记录了该文档的很多信息,包括指向真实保存数据的block信息。
◇硬链接
由于硬链接有不可以垮文件系统,不能为目录创建等限制,因此使用较少。
创建命令 ln 文件名 新连接名
实例:
[fuwh@localhost stu]$ ll -i
总用量 4
391838 -rw-rw-r--. 1 fuwh fuwh 58 7月 24 19:11 test.txt
[fuwh@localhost stu]$ ln test.txt test2.txt
[fuwh@localhost stu]$ ll -i
总用量 8
391838 -rw-rw-r--. 2 fuwh fuwh 58 7月 24 19:11 test2.txt
391838 -rw-rw-r--. 2 fuwh fuwh 58 7月 24 19:11 test.txt
[fuwh@localhost stu]$
可以看到这时候,两个文档的inode是一样的,而且连接数也从1变成了2。
这时候,不论修改哪个文档,内容都会一起变。因为他们都是指向同一个block。
但是当你删掉了其中一个文档的时候,是对另一个没有影响。
◇软链接
这个就类似于Windows的快捷方式,使用较多。
使用方式:ln [-sf] 源文件 目标文件
选项:-s 就表示创建软链接了,不加的话就是创建硬链接
-f 表示存在的时候删除在创建
实例:

可以看到,新创建的软连接和源文件的inode是不一样的。
需要注意的是,新链接的大小为5,这刚好就是源文件名的5个字符。而他的名字中,也正确的显示了指向哪个文件。
因为在软链接中,只是保存了指向的文件的名字而已。当编辑软链接这个文件的时候,首先通过指向的文件,找到指向的文件,
然后通过指向文件的inode来找到实体存放的inode,所以我们编辑软链接文件的时候,实际上修改的就是真是存放的block中的内容。
Centos常用命令之:ln的更多相关文章
- centos常用命令
应用程序->附件->终端 一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name" grep " ...
- CentOS常用命令大全
一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name" grep "model name" /pro ...
- CentOS常用命令备忘
1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...
- CentOS 常用命令大全
下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...
- 第3章 CentOS常用命令
一.CentOS常用命令 1.1 文件和目录 # cd /home 进入 '/home' 目录 # cd .. ...
- CentOS 常用命令及快捷键整理
常用命令: 文件和目录: # cd /home 进入 '/home' 目录 # cd .. ...
- CentOS常用命令、快照、克隆大揭秘
不多说,直接上干货! cat是查看文件内容, cp –cp是连目录及件文件都拷贝 cp是拷贝文件 a.txt里的内容是, abc def ghi cat a.txt |grep –v gh ...
- Centos 常用命令[持续积累中...]
CentOS常用到的查看系统命令 uname -a cat /etc/issue /sbin/ifconfig # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操 ...
- CentOS 常用命令大全(2)
系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinf ...
随机推荐
- geotrellis使用(三十六)瓦片入库更新图层
前言 Geotrellis 是针对大数据量栅格数据进行分布式空间计算的框架,这一点毋庸置疑,并且无论采取何种操作,其实都是先将大块的数据切割成一定大小的小数据(专业术语为瓦片),这是分治的思想,也是分 ...
- 高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告
高级软件工程2017第6次作业--团队项目:Alpha阶段综合报告 Deadline:2017-10-30(周一)21:00pm (注:以下内容参考集大作业4,集大作业5,集大作业6,集大作业7 一. ...
- C语言——第0次作业(二)
1.翻阅邹欣老师的关于师生关系博客,并回答下列问题,每个问题的答案不少于500字: 1.最理想的师生关系是健身教练和学员的关系,在这种师生关系中你期望获得来自老师的哪些帮助? 在现代软件工程讲义 0 ...
- vim配置之taglist插件安装
上次说了不带插件的vim配置,今天补充两个,来日方长,不定期更新: 首先看一个路径: 下载ctags,将其中的ctags.exe复制到上边目录下边: 地址:https://sourceforge.ne ...
- C简单实现动态顺序表
<span style="font-size:18px;">一下为简单实现:</span> #define SIZE 3; typedef int Data ...
- kali使用
1.kali安装后安装vmtools ①.vim /etc/apt/sources.list 添加中科大滚动版更新源 deb http://mirrors.ustc.edu.cn/kali kali- ...
- 第一章 创建WEB项目
第一章 创建WEB项目 一.Eclipse创建WEB项目 方法/步骤1 首先,你要先打开Eclipse软件,打开后在工具栏依次点击[File]>>>[New]>>&g ...
- Mybatis和Hibernate本质区别和应用场景
Hibernate:是一个标准ORM(对象关系映射)框架.入门门槛较高,不需要程序员写sql语句,sql语句自动生成,对sql语句优化.修改比较困难 应用场景:适用于需求变化不多的中小型项目,比如后台 ...
- 创建以mybatis为基础的web项目(1)
1. 新建项目,生成web.xml(生成的目录结构如下所示) 目录结构如下图 2. 导入mybatis包,数据库驱动包,log4j包(复制到webroot目录下的lib文件夹下面,并添加到构建路径) ...
- tensorflow安装篇
安装虚拟机redhat7u4-64 镜像文件在http://www.linuxfly.org/post/659 更换yum 参考https://blog.csdn.net/xiaoyiaoyou/ar ...