博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux的链接文件-ln命令
阅读量:4988 次
发布时间:2019-06-12

本文共 1895 字,大约阅读时间需要 6 分钟。

Linux的链接文件
  使用ln命令来创建链接文件(link)

Linux链接分两种:硬链接(Hard Link),符号链接(Symbolic Link)

  默认情况下,ln命令产生硬链接

[root@geo lianxi]# ln  -s  xiaotong   tongtong    #符号链接才能为目录建立链接
                                              源文件     目标文件(链接文件)

[root@geo lianxi]# cd tongtong/

[root@geo tongtong]# pwd

/lianxi/tongtong

[root@geo tongtong]# pwd -P   显示tongtong目录所在的真正的路径

/lianxi/xiaotong

 
1、硬链接(Hard Link)               
命令格式:
  ln 源文件… 链接文件

硬连接指通过索引节点来进行连接:一个inode号对应多个文件名(一个文件有多个不同的文件名

作用:

  允许一个文件拥有多个有效路径名,建立硬连接,以防止“误删”的功能。

#####文件真正删除的条件是与之相关的所有硬连接文件均被删除。

硬连接的2个限制:

①指向原始文件对应的数据存储位置,不能为目录建立硬链接文件
②硬链接与原始文件必须位于同一分区(文件系统)中

 

2、软链接Symbolic Link)符号链接:                
命令格式:
  ln -s  源文件… 链接文件
            -s, --symbolic    make symbolic links instead of hard links
一个文件链接到另外一个文件 (类似于Windows的快捷方式)soft
指向原始文件所在的路径(软链接源文件用绝对路径,但用相对路径较好)

原理:

  软连接文件实际上是一个特殊的文本文件,其中包含的有另一文件的位置信息。

允许符号链接(经常简写为symlinks)指向位于其他分区、甚至是其他网络硬盘上的某个文件。

 

[root@studying lianxi]# touch test              #创建一个测试文件test

[root@studying lianxi]# ln test H_test         #创建test 的一个硬连接文件H_test 
[root@studying lianxi]# ln -s test S_test     #创建test 的一个符号连接文件S_test
[root@studying lianxi]# ls -li           # -i参数显示文件的inode节点信息

total 0
262146 -rw-r--r-- 2 root root 0 Feb 21 23:31 test
262146 -rw-r--r-- 2 root root 0 Feb 21 23:31 H_test
262196 lrwxrwxrwx 1 root root 4 Feb 21 23:31 S_test -> test

分析:硬连接文件H_test 与原文件test的inode节点相同,均为262146,然而符号连接文件的inode节点不同。

[root@studying lianxi]# echo "I am test file">>test
[root@studying lianxi]# cat test
I am test file
[root@studying lianxi]# cat H_test 
I am test file
[root@studying lianxi]# cat S_test 
I am test file
[root@studying lianxi]# rm -f test
[root@studying lianxi]# cat H_test 
I am test file
[root@studying lianxi]# cat S_test 
cat: S_test: No such file or directory

分析:当删除原始文件test后,硬连接H_test不受影响,但是符号连接S_test文件无效

 

总结:

  ①删除原文件,对硬连接文件没有影响,导致符号连接文件(依赖与源文件)失效;

  ②删除符号连接文件,对源文件、硬链接文件无影响;

  ③删除硬连接文件,对源文件、符号连接文件也无影响;

  ④同时删除原文件和硬连接文件,整个文件会真正的被删除。建立硬链接文件起到一定的备份作用。

#####修改任意文件内容,其他链接文件相应的都会被修改

转载于:https://www.cnblogs.com/geaozhang/p/6679838.html

你可能感兴趣的文章
使用阿里云学生服务器搭建nodejs项目(准备阶段)
查看>>
HDU——2087剪花布条
查看>>
Codeforces Round #358 (Div. 2)——C. Alyona and the Tree(树的DFS+逆向思维)
查看>>
[最短路]香甜的黄油 Sweet Butter
查看>>
目录_JVM专题
查看>>
C++求任意数组长度
查看>>
返回一个二维整数数组中最大联通子数组的和
查看>>
log4j 将web请求 日志输入到数据库
查看>>
125-初识布尔运算(比较运算)
查看>>
前端学习笔记之CSS后代选择器、子元素选择器、相邻兄弟选择器区别与详解
查看>>
ionic所支持的所有事件events
查看>>
Java学习之——泛型
查看>>
HTTP POST GET 本质区别详解
查看>>
css+div
查看>>
使用Java API的5个技巧
查看>>
Java生鲜电商平台-系统架构与技术选型
查看>>
nginx+keepalived简单双机主从热备
查看>>
vue mint-ui 三级地址联动
查看>>
前端异常和性能监控(转)
查看>>
多线程程序的测试和调试
查看>>