知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

【Linux】Shell学习笔记之四――文件和目录管理(硬连接和软连接)

发布时间:2014-09-05 14:11:49作者:知识屋

 先说一下文件是怎么存储的。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector),每个扇区储存512字节(相当于0.5KB)。操作系统读取硬盘的时候,不会一个个扇区地读取,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。"块"的大小,最常见的是4KB,即8个“扇区”组成一个“块"。文件数据都储存在“块”中,那么就得有个地方来储存文件的信息(比如创建者,创建时间等),这个区域就叫“inode”,即索引节点。

  当创建一个文件时,系统分配一个inode及能够装载文件大小的blocks给它,inode记录文件的属性,包括block的位置,block记录文件内容。
  当创建一个目录时,系统分配一个inode和一个block,若此目录下的文件过多的话,会开辟一个新的block给它。inode记录目录的属性,block记录这个目录下的所有文件和子目录对应的inode,通过block可以找到某个文件的inode位置,从而找到文件内容。
  这里可以通过“stat +文件名” 的命令来查看文件inode的信息,如下图:
 
  然而,在硬盘的同一个文件可以通过不同的路径来访问它。接下来要讲的软、硬连接就是建立在inode和block的关系之上。
硬连接:一般情况下,一个文件名对就一个inode,但Linux允许多个文件名对应同一个inode,也就是说通过不同的文件名可以访问同一个内容。删除一个文件名不影响其它文件名的访问。语法如下:
 
[plain] 
 
ln 源文件 目标文件(要创建的文件) 
#这里只能是文件,不可以是目录 
 例如:
 
先查看一下当前一个叫yum.sh文档的连接数,如图所示为2
执行添加硬连接的指令:
 
执行指令之后,在打开目录可以发现,出现新的文件yum_hLink.sh
再查看yum.sh的连接数,如下图所示,连接数增加了一个:
 
软连接(或符号链接):若文件(目录)A是文件(目录)B的软连接,A的内容是B的路径,想当于A是B的快捷方式。当删除A时,不影响B的访问;当删除B时,就会报错。
语法:
 
[plain] 
 
ln -s 源文文件或目录 目标文件或目录 
#软连接可以是目录 
例如,test 是一个目录:
 
执行指令后,当前目录下多了一个test_sLink目录
查看连接数,发现test 目录的连接数并没有增加,而test_sLink 以 "->"形式来表示是test的软连接:
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜