这篇文章给大家分享的是有关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中文件系统的操作示例