1、df命令

df命令用于统计分区的占用状况。

[root@localhost ~]# df -ahT

选项:

  • -a:显示特殊文件系统,这些文件系统几乎都是保存在内存中的。如proc,因为是挂载在内存中,所以占用量都是0。
  • -h:换算成人类习惯看的单位(人性化显示)。
  • -T:多出了一列文件系统类型。

示例如下:

[root@localhost ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 19G 2.2G 16G 13% /
tmpfs tmpfs 495M 0 495M 0% /dev/shm
/dev/sdal ext4 190M 33M 147M 19% /boot

结果说明:

  • Filesystem:设备文件名。
  • Type:文件系统类型。
  • Size:分区总大小。
  • Used:占用大小。
  • Avail:空闲多少。
  • Use%:利用率。
  • Mounted on:挂载点。

2、du命令

du命令用于统计目录或文件大小的命令。

[root@localhost ~]# du [选项] [目录或文件名]

选项:

  • -a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量。
  • -h:使用习惯单位显示磁盘占用量,如KB,MB或GB等(人性化显示)。
  • -s:统计总占用量,而不列出子目录和子文件的占用量。

(1)ls或者ll命令统计目录的大小是不准确的,为什么?

我们通过ls或者ll命令查看文件大小,目录一般是0K或者4k或者是4K的倍数。

如下图:boot目录和dev目录除外。

我把一个6.2M大小的压缩包解压后,所的到的文件夹,显示也是4K

如下图所示:

解压后得到的文件,反而比压缩文件小很多,这明显就是不正确的数据。

这明显就是不合理的情况。

说明ls或者ll命令统计文件大小有问题,统计目录大小的数据是不准确的。

出现这种问题的原因,还要从分区说起。

目录有自己的block块,该block块中存放着文件名和对应的i节点号,和目录中文件的文件名和i节点号的数据,目录的block块中是不会统计目录中的文件大小是多少。

记录目录的文件名和对应的i节点号,和目录中文件的文件名和i节点号的这些数据,如果一个block块能装下,就是4K,如果装不下,就分多个block块来存储,这样就是4K的倍数。

所以执行[root@localhost ~]# du -h httpd-2.2.9命令,就可以看到httpd-2.2.9目录中每个文件的大小,最后会显示httpd-2.2.9目录的大小。

如果只需要看文件的总大小,添加选项s即可。

[root@localhost ~]# du -hs httpd-2.2.9

解释:

  • 为什么boot目录是1K大小,因为之前说过block块的大小为1K、2K、4K(默认),但是boot是一个单独的分区,默认就是1KB。
  • dev目录是特殊硬件目录,里边保存的都是硬盘等设备信息,比较特殊,所以除外。

(2)du命令与df命令的区别

  • du命令是用于统计文件大小的,统计的文件大小是准确的。
  • df命令是用于统计空间大小的(文件和临时文件都会算,重启会释放),统计分区的使用率是准确的(更明确的说法是分区剩余空间是准确的)。

再有如果你在工作中不能重启服务器,想释放临时文件占用的空间,也是可以手动释放的。

sof I grep deleted:是查询文件隐藏状态的命令,找出要删除的文件,然后一个进程一个进程的手工kill也是可以的。

这样做法极其难操作,出现错误的几率很高,不推荐手动释放。

Linux服务器在计划之内的重启所造成的损失,远比服务器意外宕机或重启所造成的损失要小的多。

3、fsck文件系统修复命令

这个命令是Linux系统中自带的一个文件系统修复的命令。

这个命令有点类似于Windows系统没有正常关机(突然断电了),下次开机的时候会提示是否扫描修复文件。

自动修复命令:

[root@localhost ~]# fsck -y /dev/sdb1

这条命令在Linux系统开机的时候,会自动执行。如果文件能通过fsck命令进行修复,开机自动执行也就修复了,如果Linux系统启动之后文件还报错,手工在执行一边fsck命令,也是没有用的,修复不好。

4、显示磁盘状态dumpe2fs

显示磁盘状态使用dumpe2fs命令,执行dumpe2fs + 分区号进行查看。

如何查询分区号,通过df -h命令进行查询,很方便。

下面是执行命令的结果:

上面的信息很多,如果你只想看超级块的信息(也就是最上面的一部分信息),只需要加上-h选项即可。

如下:

[root@localhost ~]# dumpe2fs -h /dev/sda3

5、查看文件的详细时间

stat 文件名:查看文件的详细时间。

执行命令结果如下:

这些信息能看懂就行。了解即可。

6、判断文件类型

  • file 文件名:判断文件类型
  • type 命令名:判断命令类型

判断文件类型

  • 如果我们判断一个文件,会显示该文件是一个ASCII码的英文文档。
    [root@localhost ~]# file anaconda-ks. cfg
    anaconda-ks. cfg: ASCII English text
  • 如果我们判断一个目录,会显示该文件是一个目录。
    [root@localhost ~]# file 123/
    123/: directory

判断命令类型

Linux系统中的命令分为内部命令和外部命令

  • 如果用type命令判断命令类型,有命令的位置,说明是外部命令。

    如下:
    [root@localhost ~]# type mkdir
    mkdir is /bin/mkdir
  • 如果用type命令判断命令类型,显示shell builtin(shell内置命令),说明是内部命令。

    如下:
    [root@localhost ~]# type cd
    cd is a shell builtin
  • 如果命令有别名,用type命令判断命令类型,显示的是命令的别名信息。
    [root@localhost ~]# type ls
    ls is aliased to 'ls --color=auto'

提示:这两个命令一般都是在写脚本程序的时候使用,平时我们辨别文件还是文件夹都很方便的(用眼,哈哈)。

『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令的更多相关文章

  1. 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍

    目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...

  2. 『学了就忘』Linux文件系统管理 — 59、使用fdisk命令进行手工分区

    目录 1.手工分区前提 (1)要有一块新的硬盘 (2)在虚拟机中添加一块新硬盘 2.手工分区 (1)查看Linux系统所有硬盘及分区 (2)手工分区:详细步骤 (3)保存手工分区 3.硬盘格式化 4. ...

  3. 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区

    目录 1.parted命令介绍 2.parted交互模式 3.建立分区 (1)查看分区 (2)修改成GPT分区表 (3)建立分区 (4)建立文件系统(格式化) (5)调整分区大小 (6)删除分区 1. ...

  4. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  5. 『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载

    目录 1.自动挂载 2.如何查询系统下每个分区的UUID 3.配置自动挂载 4./etc/fstab文件修复 上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载. 但是我们发现重启系统 ...

  6. 『学了就忘』Linux文件系统管理 — 62、手动分配swap分区

    目录 1.查看swap分区情况 2.手动修改swap分区 3.格式化swap分区 4.使用swap分区 5.配置swap分区开机之后自动挂载 1.查看swap分区情况 swap分区就相当于是内存的一个 ...

  7. 『学了就忘』Linux文件系统管理 — 63、磁盘配额介绍

    目录 1.磁盘配额概念 2.磁盘配额条件 3.磁盘配额的相关概念 4.磁盘配额实践规划 1.磁盘配额概念 磁盘配额是限制用户或者用户组在一个分区上可以使用的空间大小和文件个数的限制. 扩展: 管理员可 ...

  8. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

  9. 『学了就忘』Linux文件系统管理 — 67、通过命令模式进行LVM分区

    目录 1.物理卷管理 (1)准备硬盘或者分区 (2)建立物理卷 (3)查看物理卷 (3)删除物理卷 2.创建卷组 (1)建立卷组 (2)查看卷组 (3)增加卷组容量 (4)减小卷组容量 (5)删除卷组 ...

随机推荐

  1. 手摸手教你用 yapi-to-typescript生成Yapi的TypeScript数据类型

    一 背景 现代社会比较重视效率,本着这个思想宗旨,能用工具自动高效做的事情,就不要低质量的勤奋.yapi-to-typescript就是一款自动生成接口请求与响应的typescript数据类型定义的工 ...

  2. 【UE4】GAMES101 图形学作业1:mvp 模型、视图、投影变换

    总览 到目前为止,我们已经学习了如何使用矩阵变换来排列二维或三维空间中的对象.所以现在是时候通过实现一些简单的变换矩阵来获得一些实际经验了.在接下来的三次作业中,我们将要求你去模拟一个基于CPU 的光 ...

  3. Android构建工具--AAPT2源码解析(一)

    一.什么是AAPT2 在Android开发过程中,我们通过Gradle命令,启动一个构建任务,最终会生成构建产物"APK"文件.常规APK的构建流程如下: (引用自Google官方 ...

  4. 如何获取ISO8601定义的Work Week

    工作中遇到一个需求,需要在打印标签的时候打印生产当天的工作周.工作周按照ISO-8601定义的标准计算.找到两种方案. Excel函数 C#代码 Excel函数 非常简单,调用一个Excel自带函数就 ...

  5. Spring Security Jwt Token 自动刷新

    token的自动刷新 一.功能需求 二.功能分析 1.token 的生成 2.token 的自动延长 3.系统资源的保护 4.用户如何传递 token 三.实现思路 1.生成 token 和 refr ...

  6. stm32串口USART 硬件流控 --学习笔记

    流控的概念源于 RS232 这个标准,在 RS232 标准里面包含了串口.流控的定义.大家一定了解,RS232 中的"RS"是Recommend Standard 的缩写,即&qu ...

  7. AtCoder Grand Contest 055题解

    我太菜啦!!!md,第一题就把我卡死了...感觉对构造题不会再爱了... A - ABC Identity 先来看这个题吧,题意就是给定你一个字符串,让你将这个字符串最多分成6个子串,使得每个字符都在 ...

  8. 重学STM32---(十)之CAN通信(二)

    目录 前言 程序编写 主代码 测试 前言   CAN协议是非常难的,但是在stm32中却是简单的,只需要我们配置寄存器即可,,,即使这样,我在学习的时候也遇到了许多困难 程序编写 1.开时钟,不用说 ...

  9. JAVA笔记__窗体类/Panel类/Toolkit类

    /** * 窗体类 */ public class Main { public static void main(String[] args) { MyFrame m1 = new MyFrame() ...

  10. 羽夏看Win系统内核——SourceInsight 配置 WRK

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...