磁盘与目录的容量

  我们知道磁盘的整体数据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. 利用onMouseOver和onMouseOut实现图像翻滚

    代码: <img src="images/001.jpg" alt="pic" onmouseover="this.src='images/00 ...

  2. 提取线条的lines_color、lines_facet、 lines_gauss算子

    Halcon中线条提取的算子主要有: lines_color(Image : Lines : Sigma, Low, High, ExtractWidth, CompleteJunctions : ) ...

  3. RSA加密&解密【Java&Scala】

    一.简介 RSA加密算法是一种非对称加密算法.在公开密钥加密和电子商业中RSA被广泛使用. RSA公开密钥密码体制.所谓公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解 ...

  4. jemter csv参数化时注意问题

    csv设置 请求参数中引用参数注意点: 查看结果树-请求-http:查看结果,乱码问题解决 1.需要设置下请求体编码 csv设置线程共享模式: 所有线程:测试计划中所有线程,假如说有线程1到线程n ( ...

  5. xshell 连接出现 The remote SSH server rejected X11 forwarding request

    如果本文对你有用,请爱心点个赞,提高排名,帮助更多的人.谢谢大家!❤ yum install xorg-x11-xauth 同时sshd的config文件开启X11Forwarding yes vim ...

  6. MySQL Replication--多线程复制MTS

    多线程复制 多线程复制MTS(Mult-Threaded Slave Applier)指使用多个线程来并发应用二进制日志.在MYSQL5.6版本中,多线程复制基于schema来实现,将多个数据库下的事 ...

  7. Docker02-重要概念

    目录 Docker简介 思考 Docker是什么 Docker 解决了什么问题 Docker 的优点 Docker的目的 Docker常用场景 虚拟化和Docker的对比 Docker的架构 Dock ...

  8. Linux命令——blkid

    简介 blkid用于查看块设备UUID.Label.挂载.文件系统类型等信息 选项参数 无参数——显示所有已挂载分区信息 查看特定分区 -s:指定输出信息(UUID.TYPE.LABEL.PTTYPE ...

  9. git拉取远程分支并切换到该分支

    整理了五种方法,我常用最后一种,这五种方法(除了第4中已经写了fetch的步骤)执行前都需要执行git fetch来同步远程仓库 (1)git checkout -b 本地分支名 origin/远程分 ...

  10. APT 信息收集——shodan.io ,fofa.so、 MX 及 邮件。mx记录查询。censys.io查询子域名。

    信息收集 目标是某特殊机构,外网结构简单,防护严密.经探测发现其多个子机构由一家网站建设公司建设. 对子域名进行挖掘,确定目标ip分布范围及主要出口ip. 很多网站主站的访问量会比较大.往往主站都是挂 ...