做海报的参考网站,启东网站建设公司,seo关键词搜索和优化,营销网络建设是什么如果要想说清楚 ln 命令#xff0c;则必须先解释下 ext 文件系统#xff08;Linux 文件系统#xff09;是如何工作的。我们在前面讲解了分区的格式化就是写入文件系统#xff0c;而我们的 Linux 目前使用的是 ext4 文件系统。如果用一张示意图来描述 ext4 文件系统。 ext4 …如果要想说清楚 ln 命令则必须先解释下 ext 文件系统Linux 文件系统是如何工作的。我们在前面讲解了分区的格式化就是写入文件系统而我们的 Linux 目前使用的是 ext4 文件系统。如果用一张示意图来描述 ext4 文件系统。 ext4 文件系统会把分区主要分为两大部分暂时不提超级块小部分用于保存文件的 inode (i 节点信息剩余的大部分用于保存 block 信息。
inode 的默认大小为 128 Byte用来记录文件的权限r、w、x、文件的所有者和属组、文件的大小、文件的状态改变时间ctime、文件的最近一次读取时间atime、文件的最近一次修改时间mtime、文件的数据真正保存的 block 编号。每个文件需要占用一个 inode。大家如果仔细查看就会发现 inode 中是不记录文件名的那是因为文件名记录在文件所在目录的 block 中。
block 的大小可以是 1KB、2KB、4KB默认为 4KB。block 用于实际的数据存储如果一个 block 放不下数据则可以占用多个 block。例如有一个 10KB 的文件需要存储则会占用 3 个 block虽然最后一个 block 不能占满但也不能再放入其他文件的数据。这 3 个 block 有可能是连续的也有可能是分散的。
由此我们可以知道以下 2 个重要的信息 每个文件都独自占用一个 inode文件内容由 inode 的记录来指向 如果想要读取文件内容就必须借助目录中记录的文件名找到该文件的 inode才能成功找到文件内容所在的 block 块
了解了 Linux 系统底层文件的存储状态后接下来学习 ln 命令。
ln 命令用于给文件创建链接根据 Linux 系统存储文件的特点链接的方式分为以下 2 种 软链接类似于 Windows 系统中给文件创建快捷方式即产生一个特殊的文件该文件用来指向另一个文件此链接方式同样适用于目录。 硬链接我们知道文件的基本信息都存储在 inode 中而硬链接指的就是给一个文件的 inode 分配多个文件名通过任何一个文件名都可以找到此文件的 inode从而读取该文件的数据信息。
ln 命令的基本格式如下
[rootlocalhost ~]# ln [选项] 源文件 目标文件
选项 -s建立软链接文件。如果不加 -s 选项则建立硬链接文件 -f强制。如果目标文件已经存在则删除目标文件后再建立链接文件
【例 1】创建硬链接
[rootlocalhost ~]# touch cangls
[rootlocalhost ~]# ln /root/cangls /tmp
#建立硬链接文件目标文件没有写文件名会和原名一致
#也就是/tmp/cangls 是硬链接文件
【例 2】创建软链接
[rootlocalhost ~]# touch bols
[rootlocalhost ~]# In -s /root/bols /tmp
#建立软链接文件
这里需要注意的是软链接文件的源文件必须写成绝对路径而不能写成相对路径硬链接没有这样的要求否则软链接文件会报错。这是初学者非常容易犯的错误。