磁盘与目录的容量

  我们知道磁盘的整体数据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. SpringBoot启动原理详解

    SpringBoot和Spring相比,有着不少优势,比如自动配置,jar直接运行等等.那么SpringBoot到底是怎么启动的呢? 下面是SpringBoot启动的入口: @SpringBootAp ...

  2. 【ElasticSearch】查询优化

    一.背景 每周统计接口耗时,发现耗时较长的前几个接口tp5个9都超过了1000ms. 经过分析慢查询的原因是ES查询耗时太长导致的 二.设计方案 1.问题定位 查询功能使用不当导致慢查询 索引设计存在 ...

  3. spring 中的 bean 是线程安全的吗?

    spring 中的 bean 是线程安全的吗? Spring 不保证 bean 的线程安全. 默认 spring 容器中的 bean 是单例的.当单例中存在竞态条件,即有线程安全问题.如下面的例子 计 ...

  4. 【python】udp 数据的发送和接收

    import socket def send_message(): # 创建一个udp套接字 udp_socker = socket.socket(socket.AF_INET,socket.SOCK ...

  5. 关于如何往Jupyter notebook添加可选的kernel

    关于如何往Jupyter notebook添加可选的kernel 1. Anaconda知识预热 管理虚拟环境 关于如何安装Anaconda,这里就不再一一赘述,安装完Anaconda,接下来我们就可 ...

  6. Linux命令——groups

    groups用于查询当前用户的属组,没有参数.

  7. Pthon魔术方法(Magic Methods)-hash

    Pthon魔术方法(Magic Methods)-hash 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.hash方法 __hash__: 内建函数hash()调用的返回值,返 ...

  8. 亚洲唯一:瀚思科技入选2019 Gartner SIEM 领域 Peer Insights,其他第一象限的有splunk和logrithym,elastic==,RSA、fortinet、rapid7和翰思一样都在第二象限

    亚洲唯一:瀚思科技入选 Gartner SIEM 领域 Peer Insights     网络安全技术与产业,正在由传统的合规驱动,走向合规与需求双轮驱动.关注用户需求.倾听用户声音,根据实际情况打 ...

  9. Apache虚拟主机&伪静态配置

    Apache基本操作 安装:yum install httpd 启动:systemctl start httpd 查看进程:ps -ef | grep httpd 查看端口:sudo netstat ...

  10. R笔记整理(持续更新中)

    1. 安装R包 install.packages("ggplot2") #注意留意在包的名称外有引号!!! library(ggplot2) #在加载包的时候,则不需要在包的名称外 ...