Linux连接文件
2022/4/7 7:19:14
本文主要是介绍Linux连接文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、概念
1、什么是硬连接?
硬链接是多个文件都指向同一个inode,硬链接知识点:
①、具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。
②、对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。
③、根据硬链接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。
④、不论修改源文件还是连接文件,另一个文件的数据都会被改变。
⑤、硬连接不能跨文件系统。
⑥、硬连接不能连接到目录。
2、什么是软连接?
符号连接类似Windows下的快捷方式,符号链接也叫做软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。软连接的特点:
①、可以连接到目录。
②、可以跨文件系统。
③、删除源文件以后,软连接文件也就“打不开了”。
④、符号连接文件通过->来指示具体的连接文件。
⑤、符号连接要使用绝对路径,否则连接出问题。
二、实验
1、写一个简单的C程序,编译成一个可执行文件:
1 #include <stdio.h> 2 3 4 5 int main() 6 { 7 printf("Hello Linux!\r\n"); 8 return 0; 9 }
命令行输入:gcc hello.c -o hello
执行这个文件:
2、创建2个硬连接:
ln命令不带参数,默认就是创建硬连接,从上图可以看出,创建出来的硬连接(hello1和hello2)跟源文件(hello)的inode是一样的;
3、验证
3.1 验证硬连接的第②个结论:
删除掉源文件(hello),hello1和hello2还是可以正常执行:
由此可以验证硬连接的第②个结论。
3.2 验证硬连接的第④个结论:
创建一个目标文件为hello.c的硬连接:
修改源文件的内容:
由此可以验证硬连接的第④个结论。
3.3 验证软连接的第⑤个结论:
注意,上图是一个错误的示范,因为没有使用绝对路径,所以当hello1被复制到其他的目录下时,cp命令没有使用-d参数,其实它已经不是一个软连接了,由图中可以看到它的颜色从原来的蓝色变为绿色,所以它还可以执行成功
上图中创建软连接的方法才是正确的,应该加上绝对路径!输入ll -i hello*命令后看到软连接和源文件的inode是不一样的。
上图中的复制方式才是正确的,应该加上参数-d,这样复制到test1目录后,hello2还是蓝色的,是一个软连接。
3.4 验证软连接的第③个结论
这篇关于Linux连接文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法