Linux中文件系统的操作示例

  介绍

这篇文章给大家分享的是有关Linux中文件系统的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

<>强磁盘与目录的容量

磁盘的整体数据是在超级块中,但是每个个别文件的容量则在inode当中记载,常用来显示磁盘使用量的两个命令

df:列出文件系统的整体磁盘使用量

du:评估文件系统的磁盘使用量(常用于评估目录所占容量)

,美元df  [-ahikHTm],[目录或文件名)   参数:   ——:列出所有的文件系统,包括系统特有的/proc (/proc挂载在内存中,不会占用磁盘空间)等文件系统;   - k:以KB的容量显示各文件系统   m:,以MB的容量显示各文件系统   - h:以人们较易阅读的GB, MB, KB等格式自行显示   - h:以M=1000 k 替换M=1024 k 的进位方式   - t:连同该分区的文件系统名称也列出(例如ext3)   我:不用硬盘容量,而以inode的数量显示

df主要读取的数据几乎都是针对整个文件系统,因此读取的范围只要是在超级块内的信息,所以这个命令显示结果的速度非常快速。

,美元du  [-ahskm],文件或者目录名称   参数:   -a 列出所有的文件与目录容量,因为默认仅统计目录的文件量而已   -h 以人们较易读的容量显示   -s 列出总量,而不列出每个个别的目录占用容量   -S 不包括子目录下的总计   -k 以KB列出容量显示   -m 以MB列出容量显示

杜会直接查找文件系统的所有文件数据

<强>连接文件:ln

在linux下的连接文件有两种:一种是类似Windows上的快捷方式,可以让你快速连接到目标文件或目录。另外一种则是通过文件系统的inode连接来产生新文件名,而不是产生新文件,这种称为硬链接(硬链接)。

<强>硬链接(硬连接和实际连接)

<李>

每个文件都会占用一个inode,文件的内容由inode的记录来指向。

<李>

想要读取文件,必须要经过目录记录的文件名来指向到正确的inode号码才能读取。

<李>

文件名与目录有关,而文件内容则与inode有关,而硬链接就是在某个目录下新建一个文件名连接到某inode号码的关联记录。

vagrant@vagrant ubuntu -可靠的64:~,美元cd /tmp   vagrant@vagrant ubuntu -可靠的64:美元/tmp touch 测试工程师   vagrant@vagrant ubuntu -可靠的64:/tmp,美元ln  test  test1   vagrant@vagrant ubuntu -可靠的64:/tmp,美元ll 小姐;test  test1   62273,-rw-rw-r,, 2, vagrant  vagrant  0, Dec  17, 12:39 测试   62273,-rw-rw-r,, 2, vagrant  vagrant  0, Dec  17, 12:39  test1

可以看到两个文件的inode号码是一致的,他们的文件权限属性完全一样,而连接数变为了2 .

硬连接最大的好处就是安全,如果你将任何一个文件名删除,其实inode与块都是存在的。此时可以通过另外一个文件名来读取到正确的文件数据,不论你使用哪个文件名来编辑,最终的结果都会写到相同的inode与块中,因此均能进行数据的修改。

一般来说,使用硬链接设置连接文件时,磁盘的空间和inode的数目都不会改变,硬链接只是在某个目录下的块多写一个关联数据而已,既不会增加inode也不会耗用块数量(除非当你在阻止增加多一个关联数据时刚好磁盘满了,就可能需要增加多一个块来记录文件名关联性,而导致磁盘空间的变化)。

硬连接的限制:

<李>

不能跨文件系统

<李>

不能连接到目录,因为如果使用硬链接连接到目录,连接的数据需要连同被连接目录下面的所有数据都建立连接,会造成环境相当大的复杂度,因此对于目录暂时不支持

<强>符号链接(符号连接,也即快捷方式)

符号链接就是创建一个独立的文件,而这个文件会让数据的读取指向它链接的那个文件的文件名,由于只是利用文件作为指向的操作,所以当源文件被删除后,符号链接的文件会找不到源文件而导致无法打开。

vagrant@vagrant ubuntu -可靠的64:/tmp,美元ln  -s  test  test2   vagrant@vagrant ubuntu -可靠的64:/tmp,美元ll 小姐;test  test2   62273,-rw-rw-r,, 2, vagrant  vagrant  0, Dec  17, 12:39 测试   62275,lrwxrwxrwx  1, vagrant  vagrant  4, Dec  17, 13:07  test2 →,测试

Linux中文件系统的操作示例