linux中的文件类型
linux中的文件类型
“l”是链接文件,相当于windows的快捷方式;
“b”是块设备知,硬盘就是一个例子;
“道c”是字符设备文件,鼠标,键盘算是;
“d”是目录文件,相当于windows的文件夹
硬链接
命令格式:ln 源文件… 链接文件
实质:一个文件对应多个文件名
硬链接:一个inode号对应多个文件名
硬链接是一个inode对应多个文件,也就是多个链接文件的inode都是相同的,那么当我们不论删除源文件还是其中的连接文件的时候,通过剩下的连接文件就可以访问到原来的数据,因为inode都是一样的。
创建硬链接实例
- 创建文件,并写入文件信息
- 将文件4硬链接到/mnt/5
- 查看链接内容
- 进行测试把源文件4删出看是否链接文件还在
- 查看链接文件的内容
软连接
命令格式:ln -s 源文件…链接文件
文件类型和权限肯定是lrwxrwxrwx
实质:软连接是创建了一个新的文件,并且拥有自己的Inode号,通过这个Inode号找到另外一个文件名,
再通过这个文件名找到其Inode号,再通过Inode号找到文件内容(数据)
软连接两个文件的Inode号不同
软连接获取源文件内容(数据)的过程是:
软连接是创建了一个新的文件,并且拥有自己的Inode号,通过这个Inode号找到另外一个文件名,
再通过这个文件名找到其Inode号,再通过Inode号找到文件内容(数据)
所以当我们将原文件删除之后,软连接文件就不能通过自己的inode找到源文件的文件名,也就获取不到源文件中的数据了
创建软连接实例
- 创建/lcc文件
- 将文件软连接到/etc/lc
- 查看链接文件
- 测试是否链接成功
最后补充一点,软连接、硬链接都不要文件系统,也就是说,连接文件和源文件最好都在同一个文件系统中;目录只能创建软连接,不能创建硬链接。
附:
查询文件inode的方法:
ls -l 命令
stat 命令