磁盘与目录的容量

  我们知道磁盘的整体数据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. InheritedWidget and screen

    self: import 'package:flutter/material.dart'; class GrantScreen { static double _width, _height; sta ...

  2. 2017-07-25 PDO预处理以及防止sql注入

    首先来看下不做任何处理的php登录,首先是HTML页面代码 <html> <head><title>用户登录</title></head> ...

  3. nodejs express+nodemon 实现自动刷新 (热更新)

    1.全局安装 nodemon npm i nodemon -g -f 2. 在项目中安装nodemon npm i nodemon -f 3.使用nodemon 在express项目中 运行nodem ...

  4. [应用层]Linux进程间通信机制

    转自:https://www.cnblogs.com/yangang92/p/5679641.html 主要如下方式: 1. 管道pipe2. 命名管道FIFO3. 内存映射MemoryMapping ...

  5. 第一次使用Git(常用的dos命令整理)

    在使用git的过程中,有许多dos命令也要会用才行 Git 工具分类 命令行 bash.cmd.power shell GUI Git GUI.GitHub Desktop IDE 集成 Visual ...

  6. YES, There is No such thing as a free lunch

    软件行业本身就建立在copy的基础上的,据说视窗both Windows and Mac OS都借鉴了施乐的. 国内的很多的软件质量真的好差呀. https://queue.acm.org/detai ...

  7. [Reprint] Difference Between Job, Work, And Career

    https://www.espressoenglish.net/difference-between-job-work-and-career/ A lot of English learners co ...

  8. Java——CaptchaUtil生成二维码乱码

    前言 这个问题就是因为Linux上没有字体,你可以有两种方法,一个在生成的时候设置字体,一个就是安装字体. 默认的字体为Courier 乱码情况 步骤 安装字体工具 yum install -y fo ...

  9. Spring源码窥探之:声明式事务

    1. 导入驱动,连接池,jdbc和AOP的依赖 <!-- c3p0数据库连接池 --> <dependency> <groupId>c3p0</groupId ...

  10. C++中的hash_map和map的区别

    hash_map和map的区别在哪里?构造函数.hash_map需要hash函数,等于函数:map只需要比较函数(小于函数). 存储结构.hash_map采用hash表存储,map一般采用红黑树(RB ...