磁盘与目录的容量

  我们知道磁盘的整体数据hi在superblock块中,但是各文件的容量则在inode中记载。

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

  

  

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

你需要特别留意的是那个根目录的剩余容量,因为我们所有的数据都是由根目录衍生出来的。因此当根目录的剩余容量剩下0时,那你的系统可能问题就大了。

  如果使用-a这个参数时,系统会出现/pro这个挂载点,但是这里面的东西都是0,不要紧张。/proc的东西都是Linux系统所需加载的系统数据,而且是挂载在内存

当中的,所以当然没有占任何内存。

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

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

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

  

  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.

    

Linux 文件系统磁盘空间与连接文件的更多相关文章

  1. linux查找系统中占用磁盘空间最大的文件

    Q:下午有一客户磁盘空间占用很大,使用df查看磁盘剩余空间很小了,客户想知道是哪些文件占满了文件. Q1:在Linux下如何查看系统占用磁盘空间最大的文件? Q2:在Linux下如何让文件夹下的文件让 ...

  2. linux 查看磁盘空间

    linux 查看磁盘空间大小命令 df :命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息 df -hl:查看磁盘剩余空间信息,显示如下: 文件系统          ...

  3. Linux文件系统十问---深入理解文件存储方式(rhel6.5,EXT4)【转】

    本文转载自:https://blog.csdn.net/tongyijia/article/details/52832236 前几天在红黑联盟上看了一篇博客<Linux文件系统十问—深入理解文件 ...

  4. Linux查看磁盘空间大小命令

    Linux查看磁盘空间大小命令df -hldf -hl 查看磁盘剩余空间df -h 查看每个根路径的分区大小du -sh [目录名] 返回该目录的大小du -sm [文件夹] 返回该文件夹总M数du ...

  5. 关于Linux服务器磁盘空间占满问题的解决方法

    下面给大家分享一篇关于Linux服务器磁盘占满问题解决方法(/dev/sda3 满了),需要的的朋友参考下吧   下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了), ...

  6. Linux 磁盘空间查询&&解决Linux 中“磁盘空间不足”的问题

    一.linux 查看目录的剩余空间大小 两个命令df .du结合比较直观 df -h 查看整台服务器的硬盘使用情况 du -lh --max-depth=1 : 查看当前目录下一级子文件和子目录占用的 ...

  7. 给VMware下的Linux扩容磁盘空间到根分区(以centos7.0为例)

    一.扩展VMWare硬盘空间 关闭Vmware 的 Linux系统,这样,才能在VMWare菜单中设置: VM -> Settings... -> Hardware -> Hard ...

  8. Linux 查看磁盘空间 相关命令

    Linux 查看磁盘空间 相关命令 实际工作中,我们经常需要查看磁盘空间的使用情况,以防止磁盘空间不足,导致的系统崩溃或者服务异常等问题. 常用的磁盘空间查看命令如下: 1.查看磁盘空间的整体使用情况 ...

  9. oracle for linux服务器磁盘空间不足,通过过期的文件释放磁盘空间

    --2013-09-16截取的数据-- 使用df-h命令查看系统磁盘空间 [root@erpdbs PROD]# df -h Filesystem Size Used Avail Use% Mount ...

随机推荐

  1. 采用__call__ 实现装饰器模式

    装饰器模式在实现中也是很常见的:比如手机贴膜,手机壳 都是为了给手机增加一些额外功能 增加耐操 装饰器模式的本质就是对对象二次包装,赋额外功能 __call__ __call__是python魔术方法 ...

  2. Java开发环境之Redis

    查看更多Java开发环境配置,请点击<Java开发环境配置大全> 陆章:Redis安装教程 1)去Github上下载安装包 https://github.com/MSOpenTech/re ...

  3. 搭建helm私服ChartMuseum

    介绍 ChartMuseum是一个用Go(Golang)编写的开源Helm Chart Repository服务器 ChartMuseum是一个用Go(Golang)编写的开源Helm Chart R ...

  4. 【Mybatis异常】Caused by: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

    一.错误原因分析 从错误提示可以看出:实际传入的参数大于sql中待设置的参数,也就是sql中的?少于参数或?根本没有产生原因:  ?号被单引号包围 如: sql += " and artic ...

  5. MySQL/MariaDB数据库的复制过滤器

      MySQL/MariaDB数据库的复制过滤器 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.复制过滤器概述 1>.复制器过滤器功能 让从节点仅复制指定的数据库,或指 ...

  6. storm整合kafka storm-kafka-client

    pom.xml-注意jar-log4j---------------------<dependencies> <dependency> <groupId>org.a ...

  7. SQL进阶系列之8EXISTS谓词的用法

    写在前面 支撑SQL和关系数据库的基础理论:数学领域的集合论和逻辑学标准体系的谓词逻辑 理论篇 什么是谓词?谓词是返回值为真值(true false unknown)的函数 关系数据库里,每一个行数据 ...

  8. POJ 1797 Heavy Transportation(Kruskal灵活使用)(瓶颈树)

    题意: 求1到n路径上最大的最小值. 原因:样例输入 1 3 3 1 2 3 1 3 4 2 3 5 1-2最多可以运输3,2-3可最多以运输5,但是2的来源只有3,所以路径1-2-3上能运输的量为3 ...

  9. selenium常用的API(四)设置get方法最大加载时间

    我们在进行自动化测试的时候,使用get方法打开页面时会等到页面完全加载完才会执行后续操作, 有时我们需要的元素已加载完成,而部分JS未加载完导致加载时间很长,这无疑增加了自动化测试的时间, 针对此情况 ...

  10. 51nod 1254 最大子段和 V2

    N个整数组成的序列a[1],a[2],a[3],…,a[n],你可以对数组中的一对元素进行交换,并且交换后求a[1]至a[n]的最大子段和,所能得到的结果是所有交换中最大的.当所给的整数均为负数时和为 ...