Linux 文件系统磁盘空间与链接文件

磁盘与目录的容量node

  咱们知道磁盘的总体数据hi在superblock块中,可是各文件的容量则在inode中记载。安全

  df:列出文件系统的总体磁盘使用量测试

  

  

  因为df主要读取的数据几乎都是针对整个文件系统,所以读取的范围主要是在Super block内的信息,因此这个命令显示结构的速度很是快。在显示的结果中spa

你须要特别留意的是那个根目录的剩余容量,由于咱们全部的数据都是由根目录衍生出来的。所以当根目录的剩余容量剩下0时,那你的系统可能问题就大了。3d

  若是使用-a这个参数时,系统会出现/pro这个挂载点,可是这里面的东西都是0,没关系张。/proc的东西都是Linux系统所需加载的系统数据,并且是挂载在内存blog

当中的,因此固然没有占任何内存。crontab

   至于/dev/shm/目录,是利用内存虚拟出来的磁盘空间。因为是经过内存虚拟出来的磁盘,所以你在这个目录下面新建任何数据文件时,访问速度是很是快速的内存

(在内存工做)。不过,因为是在内存虚拟出来的,所以这个文件系统的大小在每一个主机上都不同,并且新建的东西下次开机就消失了,由于是在内存中。test

  du:评估文件系统的磁盘使用量bfc

  

  du这个命令会直接到文件系统内查找全部的文件数据,默认将全部文件的大小列出来,而后最终的容量会加总一次,若是想要列出

某目录下的所有数据,加上-S,减小子目录的计算。

链接文件:ln

  Linux下面有两种链接文件:一种是相似Windows的快捷方式功能的文件,可让你快速链接到目标文件;另外一种是经过文件系统的inode

链接来产生新文件名,而不是产生新文件,这种称为硬链接。

  hard link (硬链接)

    每一个文件都会占用一个inode,文件内容由inode的记录来指定。想要读取文件,必须通过目录记录的文件名来指向到正确的inode号码才能

  读取。文件名只与目录有关,可是文件内容与inode有关。若是有多个文件名对应到同一个inode号码呢那就是hard link。hard link 是在某个目录下

  新建一条文件名链接到某inode号码的关联记录。

  

  示意图:

  

  使用hard link最大的好处就是安全,若是将任何一个“文件名”删除,inode与block都仍是存在。能够经过另外一个文件名读取正确的文件数据。不论你

使用哪一个“文件名”来编辑,最终的结果都会写入到相同的inode与block中。

    hard link限制

      不能跨文件系统

      不能链接到目录

  symbolic link(符号链接快捷方式)

    symbolic link就是再建立一个独立文件,而这个文件会让数据的读取指向它链接的那个文件的文件名,当源文件删除以后,symbolic link的文件会

  显示“没法打开某文件”。其实是找不到源文件而已。

       建立一个符号链接文件到/etc/crontab

  

  从上面结果能够知道两个文件指向不一样的inode号码,固然就是两个独立的文件存在。并且链接文件的重要内容就是它会写上目标文件的“文件名”

  图示:

  

  1号inode读取到链接文件的内容仅有文件名,根据文件名链接到正确的目录去取得目标文件inode,最终获得正确数据。若是目标文件被删除,那么整个环节

  就没法进行下去了。由symbolic link建立的文件为一个独立的新文件,会占用掉inode和block。彷佛hard link比较安全,由于即便某个目录下的关联数据被删除

  也没有关系。不过因为hard link显示太多,反而是symbolic link使用普遍。

  ln命令制做链接文件

  

  

  /tmp这个目录是给你们做为暂存盘用的,因此你会发现,过去咱们在进行测试时都会将数据移动到/tmp下面去练习,所以,没事的时候能够将

  /tmp下的怪异数据清一清。

  目录的链接数

    若是在新建目录时,它默认的链接数是多少?“空目录”里面至少会有“.”与".."这两个目录,例如,新建一个目录“/tmp/testing”,基本上会有三个

  东西:

    /tmp/testing

    /tmp/testing/.

    /tmp/testing/..

    /tmp/testing与/tmp/testing/.是同样的,表明/tmp/testing。而/tmp/test/..表明/tmp。因此说当新建一个目录时,新目录的链接数为2.而上层目录的链接

    会增长1.

    

相关文章
相关标签/搜索