ZYNQ - 嵌入式Linux开发 -03- 连接文件
linux连接文件两种方式
Linux有两种连接文件:符号连接(软连接)和硬链接,符号链接类似Windows下的快捷方式。硬链接通过文件系统的inode连接来产生新文件名,而不是产生新文件。
inode: inode 是 UNIX 操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息。在 UNIX 中创建文件系统时,同时将会创建大量的 inode 。通常,文件系统磁盘空间中大约百分之一空间分配给了 inode 表。他用于记录文件属性,一个文件一个inode。inode 相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。
硬链接
硬链接是多个文件都指向同一个inode。具有相同inode,的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。根据硬链接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。不论修改源文件还是连接文件,另一个文件的数据都会被改变。
硬连接不能跨文件系统,不能连接到目录。因为这些限制,硬链接其实不常用。
下面对测试的C文件编译后可执行文件进行建立硬链接。
新建test.c文件,输入代码:
#include "stdio.h"
int main(){
printf("hello_Word!\n");
}
然后进行编译
gcc test.c -o test
输入ls命令进行查看,此时已经生成了test可执行文件。
然后进行建立硬连接,在终端中输入以下指令:
ln test test1
然后再键入ls查看,发现已经建立了硬链接test1。
此时运行test1,可以正常运行。
键入以下代码进行查看连接的inode,
ls -l -i
如图所示,连接的两个inode相同,证明硬链接正常建立。
此时移除test的可执行文件可以正常执行test.c的代码功能。
符号连接(软连接)
符号连接类似Windows 下的快捷方式,符号链接也叫做软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。
软连接可以连接到目录。可以跨文件系统。删除源文件以后,软连接文件也就“打不开了"。符号连接文件通过->来指示具体的连接文件。
在终端中输入以下指令进行建立软连接:
ln -s test test2
此时终端如下:
test2可执行文件标红,尝试执行test2无法正常执行。
这是因为输入需要建立的连接是test 这里找不到test所以也就无法进行连接。当重新进行编译生成test的可执行文件,此时可以正常建立软连接:
同时可以正常执行:
相关文章
- linux服务器中如何解压分卷文件,Linux解压rar文件(unrar安装和使用,分卷解压)…
- 访问Linux禁止外网访问:保护系统安全(linux禁止外网)
- Linux虚拟主机免费上手,轻松搭建绿色的站点(linux免费虚拟主机)
- 文件通过 SSH 连接 Linux 下载文件(ssh连接linux下载)
- 服务器一步步搭建Linux下的SVN服务器(linux创建svn)
- Linux复制特定文件的简易方法(linux复制指定的文件)
- Linux:轻松实现文件复制脚本(linux文件复制脚本)
- Linux 主机快速安装指南(linux主机安装)
- Linux中复制文件的简单命令指南(linux中复制命令)
- Linux下的开放式文件操作:open函数(open函数linux)
- 区别Linux下so与a文件的区别(linux.so.a)
- tt服务器的部署部署Linux下MQTT服务器实现智能物联网(linux下mq)
- 表Linux管理员:如何打开文件表(linux管理员打开文件)
- Linux中文件的移动(linux文件移动)
- 深入Linux嵌入式开发详解PPT(linux嵌入式ppt)
- Linux命令:删除文件的正确方式(删除文件linux命令)
- 解决Linux下文件乱码问题(linux上传文件乱码)
- Linux操作系统:学习指南及入门书籍(linux操作系统书籍)
- Linux系统:快速清理日志文件(linux日志删除)
- 管理Linux定时任务管理:提升工作效率的有效方法(linux的定时任务)
- Linux下最强大的网络管理软件(linux网管软件)
- Linux文件权限命令:掌握chmod、chown和chgrp的使用方法(linux文件权限命令)
- 文件Linux编辑ISO文件的简单方法(linux编辑iso)
- Linux查看文件用户权限:一步步指导(linux查看文件用户)
- 深入理解Linux内核中的.ko文件(linux.ko)
- Linux下的轻松办公之旅(linux下办公)