linux_链接文件
链接概念:
分为软链接和硬链接,文件类型为 l
硬链接: ln 源文件 目标文件
软链接: ln -s 源文件 目标文件(目标文件不能事先存在)
ln -s /root/ /tmp/root # 给 /root 目录创建一个软链接到 /tmp目录下 readlink /tmp/root # 指出链接链向地址 touch test.sh # 创建测试数据 ln test.sh /tmp/test.sh # 创建硬链接 ll -i test.sh /tmp/test.sh # 检查两个文件的i节点
硬链接:
硬链接是通过索引节点来进行链接,在linux系统中,多个文件名指向同一个索引节点是正常且允许的,这种情况的文件被称为硬链接,硬链接相当于文件的另外一个入口,建立硬链接防止误删,有备份作用
ln /etc/hosts /tmp/oldboy.host #对于这个文件,创建一个硬链接,也可以说创建了一个文件新的入口 /tmp/oldboy.host
链接知识总结:
- 具有相同inode节点号的多个文件互为硬链接文件,创建了硬链接相当于文件实体多了入口
- 只有删除源文件及对应的所有对应的硬链接文件,文件实体才会被删除,删除源文件的其中一个或几个硬链接,文件实体不会删除。当删除成功时候,该文件位置没有被重新占用或fsck检查之前,文件数据是有可能恢复
- 通过给文件创建硬链接,防止重要文件被误删
- 硬链接文件时普通文件,可以被rm删除
- 静态文件(没有进程进行调用), i_link 为0的时候,文件将被删除
- 删除源文件,软链接文件依旧存在,但是找不到文件,会红白闪烁
- 多个软链接指向同一个文件,单这些软链接inode不同,属于不同文件
- 软链接的文件类型为l,硬链接文件类型和源文件一样
对文件链接:
1. 文件可以创建硬链接,增加了文件的入口,但是创建硬链接不能跨分区
2. 文件可以创建软链接,但只能在同级目录,出来同级目录失效
3. 其实文件名本身就是个硬链接,也是文件入口
对于目录链接
- 目录不能创建硬链接,目录可以创建软链接
- 目录的软链接在生产场景经常使用,硬链接少用
- 每个目录下都会有两个硬链接, . 当前目录, .. 上级目录
链接总结:
1. 为文件创建硬链接,增加文件读数据入口;为目录创建软链接,可以直接通过软链接进入目录
2. 删除源文件名,只要还有该源文件的硬链接在,通过硬链接还是可以访问到数据,并没有被删除,为什么?
当 i_link = 0 和 i_count = 0 的时候,就像把文件数据关进了小黑屋,被回收了,就删除了
3. 删除软链接,对源文件没有任何的影响,删除源文件名,指向该源文件的软链接失效
4. 硬链接 指向的inode相同,软链接有自己的 inode 和block
linux_链接文件的更多相关文章
- 复制”链接文件“到虚拟机(VirtualBox)的”共享文件夹“时报错:创建符号链接时报错:只读文件系统
问题描述: 1.Ubuntu 中的 /www/目录,是宿主主机 Windows 7 以“共享文件夹”的形式挂载的: 2./etc/php.ini 是 /opt/software/php/etc/php ...
- visual studio 添加链接文件
本文转载http://blog.163.com/zhongpenghua@yeah/blog/static/87727415201282432345613/ 那个有个箭头的文件就是链接文件了,添加 ...
- Windows系统创建硬链接文件
源文件夹:E:\深海 创建新硬链接文件夹:D:\微云同步盘\719179409\4-工作资料\深海 打开命令提示符(管理员) 敲入以下命令: 创建成功后,进入目录 D:\微云同步盘\71917 ...
- Linux命令--链接文件的那些事
linux 链接ln的使用 linux操作系统下ln的使用方式: ln [option] source_file dest_file #source_file是待建立链接文件的文件,dest_file ...
- pwd显示链接文件的真实路径
1.pwd用于显示当前工作路径 2.pwd -P 用于显示当前的实际工作路径(主要用于链接文件) 加参数难以了理解,看个例子就明白了: 进入链接文件,pwd显示的是链接文件所在的路径,而你不是链接文件 ...
- Linux下的链接文件
整理自<鸟哥的Linux私房菜>,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/ Linux中的链接文件分为两种:硬链接和软链接.软链接(symbol ...
- Linux的链接文件-ln命令
Linux的链接文件 使用ln命令来创建链接文件(link) Linux链接分两种:硬链接(Hard Link),符号链接(Symbolic Link) 默认情况下,ln命令产生硬链接. [root@ ...
- tar命令-vi编辑器-磁盘分区及格式化-软链接及硬链接文件
一.tar命令 1.将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) [root@localhost /] # cat /etc/passwd /etc/group ...
- JZ2440学习笔记之链接文件lds
如果在Linux环境下用arm-linux-gcc来编译arm程序,需要编写链接文件lds: 1. 运行地址=链接地址,表示代码在SDRAM中执行的地址,如果程序中有对某部分代码执行过搬运,需要在ld ...
随机推荐
- 新手OTCBTC注册前一定要看的几个步骤!【安全性相关】
纽波特市一位名叫詹姆斯·豪威尔的32岁男子,筹集740万英镑给政府,希望政府同意他挖掘当地的一座垃圾填埋场,因为他有一块保存有7500枚比特币(价值人民币8.3亿)的钱包文件的硬盘,就被埋在这座垃圾填 ...
- Mac下安装ant(利用brew)
安装ant最简单的方法就是通过brew.步骤如下:1. 安装brew(如果已经安装可以跳过这步). ruby -e "$(curl -fsSL https://raw.github.com/ ...
- 【埃氏筛】洛谷P3383埃氏筛模板
思路: 如果我们要筛出 [1, n] 内的所有素数,使用 [1, √n] 内的素数去筛就可以了 设bool型数组 a,a[i] 表示 i 是否被某个素数筛过 从 2 开始枚举每个数 i: 若 a[i] ...
- python中将字典形式的数据循环插入Excel
1.我们看到字典形式的数据如下所示 list=[["2891-1", "D"],["2892-1", "D"],[&qu ...
- request拿各种东西
例如 : http://localhost:8080/projectName/aaa/bbb?name=zhangsan获取项目名(目录) /projectNameString uri = reque ...
- Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...
- 关于jmeter工具使用的总结
今天总结下jmeter工具如何使用 先从最简单的说起 如何打开jemter 配置环境变量 接下来我们只要在dos窗口中输入 jmeter就能打开,这也告诉了我们配置环境变量的方便性 接下来介绍一下线程 ...
- POJ 3624 Charm Bracelet(01背包裸题)
Charm Bracelet Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 38909 Accepted: 16862 ...
- Git服务搭建及github使用教程
.pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...
- 微信小程序个人心得
尊重原创:http://blog.csdn.net/qq_28832135/article/details/52796048 昨天看了一下微信小程序官方文档,总结一下自己学习的个人心得. 首先从官方文 ...