概述

Linux文件系统管理 常见命令df、du、fsck、dumpe2fs。

文件系统查看命令:df

通过 df 命令可以査看已经挂载的文件系统的信息包括设备文件名、文件系统总大小、已经使用的大小、剩余大小、使用率和挂载点等。df 命令格式如下:

[root@localhost ~]# df [选项] [挂载点或分区设备文件名]

选项:

选项 选项说明
-a 显示所有文件系统信息,包括特殊文件系统,如 /proc、/sysfs
-h 使用习惯单位显示容量,如 KB、MB 或 GB 等
-T 显示文件系统类型
-m 以 MB 为单位显示容量
-k 以 KB 为单位显示容量。默认以 KB 为单位

1. 显示系统内的文件系统信息

[root@localhost ~]# df
文件系统 块 已用 可用 已用% 挂载点
/dev/sda1 % /boot 、
#内存虚拟出来的磁盘空间
tmpfs % /dev/shm

说明一下命令的输出结果。

第一列 第二列 第三列 第四列 第五列 第六列
设备文件名 文件系统总大小,默认以 KB 为单位 已用空间大小 未用空间大小 空间使用百分比 文件系统的挂载点

2. 带选项查询系统内的文件系统信息

#-a显示特殊文件系统,这些文件系统几乎都是保存在内存中的,如/proc。因为是挂载在内存中的,所以占用量是0
#-h单位不再只用KB,而是换算成习惯单位
#-T多出了文件系统类型一列

[root@localhost ~]# df -ahT
文件系统 类型 容量 已用 可用 已用% 挂载点
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
tmpfs tmpfs 913M 100K 913M 1% /dev/shm
cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd
configfs configfs 0 0 0 - /sys/kernel/config
/dev/sda1 ext4 190M 133M 44M 76% /boot
/dev/sr0 iso9660 4.1G 4.1G 0 100% /run/media/lizhouwei/CentOS 7 x86_64
........省略部分输出.........

统计目录或文件所占磁盘空间大小:du

du 是统计目录或文件所占磁盘空间大小的命令。需要注意的是,使用"ls -l"命令是可以看到文件的大小的。但是在使用"ls -l"命令査看目录大小时,目录的大小多数是 4KB,这是因为目录下的子目录名和子文件名是保存到父目录的 block(默认大小为 4KB)中的,如果父目录下的子目录和子文件并不多,一个 block 就能放下,那么这个父目录就只占用了一个 block 大小。

但是我们在统计目录时,不是想看父目录下的子目录名和子文件名到底占用了多少空间,而是想看父目录下的子目录和子文件的总磁盘占用量大小,这时就需要使用 du 命令才能统计目录的真正磁盘占用量大小。

du 命令的格式如下:

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

选项:

选项 选项说明
-a 显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h 使用习惯单位显示磁盘占用量,如 KB、MB 或 GB 等
-s 统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量

1. 统计当前目录的总磁盘占用量大小

同时会统计当前目录下所有子目录的磁盘占用量大小,不统计子文件磁盘占用量的大小。默认单位为KB

[root@localhost ~]# du
4 ./.config/abrt
8 ./.config
8 ./.cache/abrt
12 ./.cache
76 .

2.统计当前目录总大小

统计当前目录的总大小,同时会统计当前目录下所有子文件和子目录磁盘占用量的大小。默认单位为 KB

[root@localhost ~]# du -a
4 ./anaconda-ks.cfg
4 ./.viminfo
4 ./.bash_history
4 ./.bashrc
4 ./.config/abrt
8 ./.config
4 ./.bash_profile
8 ./.cache/abrt
12 ./.cache
4 ./.bash_logout
76 . …省略部分输出…

3. 只统计磁盘占用量总的大小,同时使用习惯单位显示

[root@localhost ~]# du -sh

[root@localhost ~]# du -sh
76K .

du命令和df命令的区别

使用 du 命令和 df 命令去统计分区的使用情况时,得到的数据是不一样的。那是因为df命令是从文件系统的角度考虑的,通过文件系统中未分配的空间来确定文件系统中已经分配的空间大小。也就是说,在使用 df 命令统计分区时,不仅要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)。

而 du 命令是面向文件的,只会计算文件或目录占用的磁盘空间。也就是说,df 命令统计的分区更准确,是真正的空闲空间。

检测和修复文件系统命令:fsck

计算机系统难免会因为人为的误操作或系统的原因而出现死机或突然断电的情况,这种情况下非常容易造成文件系统的崩溃,严重时甚至会造成硬件损坏。这也是我们一直在强调的服务器一定要先关闭服务再进行重启的原因所在。
如果真出现了文件系统损坏的情况, fsck 命令就是用来进行文件系统检侧与修复的。

fsck 命令格式如下:

[root@localhost ~]# fsck [选项] 分区设备文件名

选项:

选项 选项说明
-t 文件系统:指定分区的文件系统
-A 按照配置文件 /etc/fstab 检查所有分区
-a 不用显示用户提示,自动修复文件系统
-C 显示检查分区的进度条
-f 强制检测。一般 fsck 命令如果没有发现分区有问题,则是不会检测的。如果强制检测,那么不管是否发现问题,都会检测
-y 自动修复。和 -a 作用一致,不过有些文件系统只支持 -y

1. 修复某个分区

如果想要自动修复修复某个分区,则只需执行如下命令:

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

显示磁盘状态命令:dumpe2fs

命令:

[root@localhost ~]# dumpe2fs /dev/sda1
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: <none> #卷标名
Last mounted on: /boot #挂载点
Filesystem UUID: b71bedac-fe5d-411b-a67a-3d8a7d0d2c65
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl #挂载参数
Filesystem state: clean #文件系统状态,正常
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 51200 #inode总数
Block count: 204800 #块总数
Reserved block count: 10240
Free blocks: 58704
Free inodes: 50862
First block: 1
Block size: 1024 #块大小
Fragment size: 1024
Group descriptor size: 64
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Mon Nov 5 20:06:30 2018
Last mount time: Sun Nov 18 08:30:31 2018
Last write time: Sun Nov 18 08:30:31 2018
Mount count: 6
Maximum mount count: -1
Last checked: Mon Nov 5 20:06:30 2018
Check interval: 0 (<none>)
Lifetime writes: 197 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: bda20e55-b95f-48f1-a723-2fe197bd2e78
Journal backup: inode blocks
Journal features: journal_64bit
Journal size: 4096k
Journal length: 4096
Journal sequence: 0x0000017d
Journal start: 1Group 0: (Blocks 1-8192) [ITABLE_ZEROED] #第一组的内容
Checksum 0x1300, unused inodes 1710 #校验和0x1300,1710外未使用的inode
Primary superblock at 1, Group descriptors at 2-3
Reserved GDT blocks at 4-259 #保留的GDT块位于1-259
Block bitmap at 260 (+259), Inode bitmap at 276 (+275)
Inode table at 292-547 (+291)
3773 free blocks, 1710 free inodes, 9 directories, 1710 unused inodes
Free blocks: 4420-8192 可用块数:4420-8192
Free inodes: 339-2048

Linux文件系统管理 常见命令df、du、fsck、dumpe2fs的更多相关文章

  1. linux文件系统相关命令(df/du/fsck/dumpe2fs)

    一.文件系统查看命令df 格式 df [选项] [挂载点] 选项 名称 作用 -a 显示所有的文件系统信息,包括特殊文件系统,如/proc,/sysfs -h 使用习惯单位显示容量,如KB,MB或GB ...

  2. Linux命令-文件系统常用命令:df,du,fsck,dumpe2fs

    df -h 人性化显示文件系统的分区信息 注意:在linux中目录也是文件,不要混淆下面的目录文件说法. 传统方式查看文件大小可以使用:ll -h /目录/文件名,就可以看到文件的大小,但是如果你想看 ...

  3. Linux文件系统管理 挂载命令mount

    概述 mount命令用来挂载Linux系统外的文件. Linux 中所有的存储设备都必须挂载之后才能使用,包括硬盘.U 盘和光盘(swap 分区是系统直接调用的,所以不需要挂载).不过,硬盘分区在安装 ...

  4. centos Linux下磁盘管理 parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpfs ,nr_inodes, LVM,传统方式扩容文件系统 第七节课

    centos Linux下磁盘管理   parted,df ,du,fdisk,partprobe,mkfs.ext4,mount,/etc/fstab,fsck,e2fsck,mk2efs,tmpf ...

  5. Linux文件系统管理命令(第二版)

    Linux文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的 ...

  6. Linux下磁盘管理命令df与du

    Linux下磁盘管理命令df与du  对磁盘进行查看和控制的两个linux命令,df和du.  一.du命令 首先看一下du的help说明: [root@misdwh opt]# du --help ...

  7. Linux中查看各文件夹大小命令:du -h --max-depth=1

    Linux中查看各文件夹大小命令:du -h --max-depth=1 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-siz ...

  8. Linux 文件系统管理

    Linux 文件系统管理 课程大纲  文件系统构成及命令  硬盘分区及管理  磁盘配额  备份与恢复   文件系统构成 /usr/bin ./bin:存放所有用户可以执行的命令 /usr/s ...

  9. linux 文件系统管理三部曲之三:挂载文件系统

    linux 文件系统管理三部曲之一:磁盘分区 linux 文件系统管理三部曲之二:创建文件系统 上面说明了,硬盘的划分和格式化,那么怎么使用,还没说,这里说一下,怎么使用创建好的文件系统. 使用文件系 ...

随机推荐

  1. Leetcode392. Is Subsequence

    Description Given a string s and a string t, check if s is subsequence of t. You may assume that the ...

  2. python第二周数据类型 字符编码 文件处理

    第一数据类型需要学习的几个点: 用途 定义方式 常用操作和内置的方法 该类型总结: 可以存一个值或者多个值 只能存储一个值 可以存储多个值,值都可以是什么类型 有序或者无序 可变或者不可变 二:数字整 ...

  3. All in All - poj 1936 (子串)

    字符串子序列查找问题,设置两个指针,一个指向子序列,另一个指向待查找的序列,查找个字符串一次即可判断.   #include <iostream> #include <string. ...

  4. java 调用cmd命令

    public class Port{ public static void main(String[] args) { Runtime runtime=Runtime.getRuntime(); tr ...

  5. Struts2是一个基于MVC设计模式的Web应用框架

    Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互. Struts ...

  6. java string 首字母大小写方法

    String字符串需要进行首字母大小写改写,查询google,就是将首字母截取,转化大小写 + 首字母后面字符串 //首字母小写 public static String captureName(St ...

  7. HashMap的clear()方法和new HashMap的效率问题

    最近研究Lucene的时候,遇到的用到大量Map的问题,心生好奇,想看一下在1W,10W,100W三种数据量下,new HashMap ,与 HashMap.clear()方法的效率问题. 提前说明: ...

  8. 2318: Spoj4060 game with probability Problem

    2318: Spoj4060 game with probability Problem Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 356  Sol ...

  9. C++ 基础知识回顾(I/O)

    [1] I/O基础 大多数计算机语言的输入输出的实现都是以语言本身为基础的,但是C/C++没有这样做.C语言最初把I/O留给了编译器实现人员.这样做的一个原因是可以提供足够的自由度,使之最适合目标机器 ...

  10. 《从零开始学Swift》学习笔记(Day 17)——Swift中数组集合

    原创文章,欢迎转载.转载请注明:关东升的博客 数组(Array)是一串有序的由相同类型元素构成的集合.数组中的集合元素是有序的,可以重复出现. 声明一个Array类型的时候可以使用下面的语句之一. v ...