linux 文件存取 软硬联接的区别

一、linux文件存取过程

在linux系统中根目录是自引用的,比如要找 /etc/sysconfig/networkscripts/ifcfg-0文件

先根据根目录/ 的inode号,在inode table中找到存储 / 的磁盘块,在磁盘块中找到目录etc所对应的inode号(在磁盘块中存储着一个文件名或者目录名对应的inode号的一个表),然后在inode table中根据etc的inode号,找到etc目录所对应的磁盘块。然后在磁盘块中找到目录sysconfig对应的inode,然后根据sysconfig的inode再去inode table中找到sysconfig所对应的磁盘块,经过类似过程最后找到ifcfg-0文件。

根目录  / 和etc目录可以属于不同的分区。etc的的信息存储在 根目录 / 所在的分区,但是etc目录下的文件存储在etc的分区。

二、软链接和硬链接的区别

软链接:一个文件的inode号对应的是另一个文件的文件名。可以应用于目录,可以跨文件系统,不会增加链接次数,其大小为指向文件的路径字符个数。

硬链接:指向同一个inode的不同路径。只能对文件硬链接,不能跨文件系统,创建硬链接会增加文件的链接次数。

时间: 2024-10-14 12:41:53

linux 文件存取 软硬联接的区别的相关文章

Linux中软硬链接的区别

软硬链接的区别:本质:硬链接:1个文件起多个文件名 这两个文件的属性和内容必须完全相同.软链接:一个文件对应的快捷方式,不同文件. 1.链接数: 硬链接会增长链接数,软链接不会增长2.跨分区: 软链接支持跨分区,硬链接不支持3.目录: 硬链接不支持目录,软链接支持4.原始和链接文件的关系:硬链接是大家都是平等关系,软链接是依赖于原始文件5.删除时: 硬链接的文件还可以使用,软链接的文件就失效了6.大小: 软链接的大小由原始文件的路径决定的 例子:硬链接:ln link ln f1 f2 软链接:

Linux课堂作业2(inode工作原理以及软硬连接的区别)

inode工作原理: 一个文件包括元数据和数据内容,元数据存放在inode table中,而数据内容存放在block块中,inode存放着各个文件的元数据条目,其内容包括,一些基本的元数据比如mode,ownership,sizetimestamp,还存放着指向数据的指针,这些指针分为直接指针和间接指针,双重间接指针甚至三种间接指针.直接指针代表直接指向数据内容的block块,间接指针下一层指向虽然是一个数据块,但是数据块内却不是文件的数据内容,而是一个指针数据块,如果块大小为4k,每个指针占4

【转载】LINUX 和 WINDOWS 内核的区别

LINUX 和 WINDOWS 内核的区别 [声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1.html] 关于LINUX和WINDOWS的口水站已经很多了.本文企图从技术角度来比较下2个主流操作系统的异同.偏重于内核部分. 一.动机: 我最早是 WINDOWS 阵营的.在WINDOWS下写过2年多的驱动程序.后来由于学习需要,转投LINUX,一晃也快2年了.期间经历了很多曲折,也学到了很多

linux shell中'',""和``的区别

今天学习一个bash脚本,看到有一条:bin=`dirname "$0"` (dirname filename是输出该文件所在的目录,$0是该bash文件的文件名,在bash中一般使用cd `dirname $0`进入该脚本所在的目录中) 我尝试着cat $bin 输出是:. 然后我将反引号``去掉:bin=dirname "$0" 在运行cat $bin后报错. 网上查了一些bash的单引号'',双引号""和反引号``的区别. 单引号''和双引

菜鸟之linux系统中~和/的区别

linux系统中~和/的区别 困扰所在: 菜鸟在学习的过程中创建了一个目录(文件夹),但是不知道此目录所在位置了,也不知道此目录下有那些文件. 原因分析: 经过测试发现可能是创建文件夹的时候没有注意~和/的区别,查看目录和文件的时候没有cd到相应的目录下去. /是根节点,~是home.注意下边$前边字符的不同. 1.root用户登录: /是/ ~是/root/ 2.user登录: /是/ ~ 是 /home/user/ 所以在~下创建的目录或文件应该在/home/user下找,在/下创建的目录或

Linux中终端和控制台区别

Linux中终端和控制台区别: 终端:英文名叫terminal 控制台:英文名叫console 两者区别要从以前的多人使用的计算机开始 以前,由于计算机很昂贵,所用一台计算机一般由多个人同时使用.这样一台计算机上需要连接很多套键盘和显示器供多个人使用.这种只有显示器和键盘能够通过串口连接到计算机的设备就叫终端. 而在计算机里,把那套直接连接在电脑上的键盘和显示器就叫做控制台. 注意控制台和终端的区别.终端是通过串口连接上的,不是计算机本身就有的设备,而控制台是 计算机本身就有的设备,一个计算机只

linux 下 /bin /sbin 的区别 -- (转)

/bin,/sbin,/usr/bin,/usr/sbin区别 /  : this is root directory                root 用户根目录 /bin : commands in this dir are all system installed user commands    系统的一些指令 /sbin:  commands in this dir are all system installed super user commands  超级用户指令 系统管理

linux中yum与rpm区别

linux中yum与rpm区别: 一.源代码形式 1.      绝大多数开源软件都是直接以原码形式发布的 2.      源代码一般会被打成.tar.gz的归档压缩文件 3.      源代码需要编译成为二进制形式之后才能够运行使用 4.      源代码基本编译流程: 1).configure 检查编译环境: 2)make对源代码进行编译: 3)make insall 将生成的可执行文件安装到当前计算机中 二.RPM 1.源代码形式的特点:操作复杂.编译时间长.极易出现问题.依赖关系复杂 2

Linux:su和su-的区别

大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户.Linux中切换用户的命令是su或su -. 如上图所示,一开始是普通账户,执行userdel时,提示command not found,通过su命令切换到root用户,依旧提示command not found,退出后,重新通过su - 命令,成功实现userdel的命令执行. su命令和su -命令最大的区别就是:前者只是切换了root身份,但Shell