前言

呵呵 这个命令 应该是 linux 使用者 基本上都会使用到的吧?

呵呵 我们这里主要是 看一下 这个命令是如何工作的

main 中主要是参数处理, 通过 read_file_system_list 读取文件系统列表, get_all_entries 获取各个文件系统的信息, print_table 来输出各个文件系统的信息

read_file_system_list 通过读取 /proc/self/mountinfo 或者 getmntinfo 来读取挂载的文件系统列表

get_all_entries 根据需要展示的列, 获取对应的数据项, fs, size, used, avail, mount_point 等

print_table 输出各个文件系统的相关信息

基于 linux-4.4.0 + coreutils-8.25

调试基于命令 "df -h"

main

参数处理, 通过 read_file_system_list 读取文件系统列表, get_all_entries 获取各个文件系统的信息, print_table 来输出各个文件系统的信息

07 df 命令_bash

read_file_system_list

通过读取 /proc/self/mountinfo 或者 getmntinfo 来读取挂载的文件系统列表

07 df 命令_shell_02

get_all_entries

根据需要展示的列, 获取对应的数据项, fs, size, used, avail, mount_point 等

07 df 命令_shell_03

print_table 

输出 table[row][col] 

07 df 命令_读取文件_04

完