Linux不像windows系统那样方便的图形界面,特别是作为服务器使用的时候,只有命令行可以使用。

我有个云服务器平时用来做一些数据分享用的,最近想看看磁盘和其中文件的占用情况,
于是搜索并学习了一些查看磁盘空间信息的命令,命令虽然简单,但对我自己来说还是有些新的东西值得记录。

1. df

首先,登录服务器用df命令查看磁盘情况:

/home/projects/databook# df .
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 51420828 14018512 35079240 29% /

输出包含当前文件系统的磁盘使用情况。

df命令有个-h参数,可以更好的展示磁盘情况:

/home/projects/databook# df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 14G 34G 29% /

-h参数一般是用来显示帮助信息的,但是对于df命令,h表示human,也就是以人类易读的方式显示。

上面的输出表示这个磁盘的使用量,包括我的虚拟服务器上的所有内容——可执行文件、库和支持文件等等。
总容量 50G,目前只使用了29%,剩余的还比较充裕。

2. du

接下来,我想看看databook目录的文件占用情况。这需要使用 du 命令:

/home/projects/databook# du -hd 1 .
24K ./certs
4.0K ./download
3.2M ./admin-ui
2.9M ./public
108K ./output
181M ./upload
472K ./markdown-files
207M .

同样,-h参数表示以人类易读的方式显示,-d 1 参数表示 du 只进入一个目录级别(也就是当前目录)。

从输出可以看出,upload目录稍微大点,其他目录都还好。
最后一行 207M 是整个目录占用磁盘的大小。
我希望按照文件/文件夹 占用磁盘空间大小的顺序来显示,这样可以快速定位到占用空间大的 文件/文件夹

3. du | sort

但是,du命令并没有按磁盘空间排序的参数,所以尝试结合 sort 命令来排序。

/home/projects/databook# du -hd 1 . | sort -n
2.9M ./public
3.2M ./admin-ui
4.0K ./download
24K ./certs
108K ./output
181M ./upload
207M .
472K ./markdown-files

sort命令的-n参数表示按数字排序,不过文件夹大小不仅有数字,还有单位(比如MK这些)。
所以,这样排序对我们用处不大。

接着,尝试所有文件统一用字节表示,然后在排序:

/home/projects/databook# du -kd 1 . | sort -n
4 ./download
24 ./certs
108 ./output
472 ./markdown-files
2948 ./public
3224 ./admin-ui
184532 ./upload
211112 .

du命令的-k参数表示用字节表示文件/文件夹的大小。
这样虽然可以正常排序,但是可读性差,字节并不是人类易读的方式,还是MBGB更好理解。

进一步调查,发现sort命令居然也有-h参数,也是为了读取人类易读格式的值。

/home/projects/databook# du -hd 1 . | sort -hr
207M .
181M ./upload
3.2M ./admin-ui
2.9M ./public
472K ./markdown-files
108K ./output
24K ./certs
4.0K ./download

这样就满足了我查询磁盘空间的要求。
sort命令的-r参数表示从大到小排序,因为我关注的是大文件,所以想把它们排在前面。

补充:-h参数是在2009年添加到GNU sort 的。

Linux系统中如何查看磁盘情况的更多相关文章

  1. Linux 系统中如何查看日志 (常用命令) tail -f

    Linux 系统中如何查看日志 (常用命令)  tail -f 日志文件 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日 ...

  2. linux系统中如何查看日志(转)

    cat tail -f 日 志 文 件 说    明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安 ...

  3. linux系统中如何查看日志 (常用命令2)

    cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关 ...

  4. linux系统中如何查看日志 (常用命令)

    cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关 ...

  5. 浅谈Linux系统中如何查看进程

    进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:p ...

  6. 浅谈Linux系统中如何查看进程 ——ps,pstree,top,w,全解

    进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源.一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝. 1,ps命令 作用:p ...

  7. 查找Linux系统中的占用磁盘空间

    目录的来查看空间占用情况 du -sh /* 先看看根目录下面 让文件夹下的文件让文件按大小排序 方法一:# ls -lhSl 长格式显示,h human readable模式,大小单位为M,G等易读 ...

  8. Linux系统中stat查看文件的相关时间

    目录 对于文件来说 对于目录来说 利用touch命令修改时间 在Linux下,对于一个文件有很多个时间戳属性,文件的创建时间,文件的修改时间,文件的读取时间.我们用stat来查看文件的相关时间属性. ...

  9. linux系统中如何查看最后一封mail

    1. mail命令查看邮件列表 2.file 命令查看一共多少封邮件 3.直接键入278 查看最后一封邮件内容 4. 输入q 从邮件阅读模式退出

  10. linux系统中如何查看acpi信息?

    答: 进入/sys/firmware/acpi/tables, 然后输入tree命令即可查看acpi信息

随机推荐

  1. 解析 Go 编程语言数据类型:bool、整数、浮点数和字符串详细介绍

    数据类型 数据类型是编程中的重要概念.数据类型指定了变量值的大小和类型.Go是静态类型的,这意味着一旦变量类型被定义,它只能存储该类型的数据. 基本数据类型 Go 有三种基本数据类型: bool:表示 ...

  2. Matplotlib绘图设置---坐标轴上下限/标题设置

    坐标轴上下限设置 plt.plot(x, np.sin(x)) #设置坐标轴上下限 plt.xlim(-1, 11) plt.ylim(-1.5, 1.5) plt.plot(x, np.sin(x) ...

  3. RabbitMQ 03 直连模式-可视化界面

    这里先演示最简单的模型:直连模式.其结构图为: 一个生产者 -> 消息队列 -> 一个消费者 生产者只需要将数据丢进消息队列,而消费者只需要将数据从消息队列中取出,这样就实现了生产者和消费 ...

  4. 高效使用Java构建工具|Maven篇|云效工程师指北

    ​简介:高效使用Java构建工具|Maven篇.众所周知,当前最主流的Java构建工具为Maven/Gradle/Bazel,针对每一个工具,我将分别从日常工作中常见的场景问题切入,例如依赖管理.构建 ...

  5. 深度解析开源推荐算法框架EasyRec的核心概念和优势

    ​简介:如何通过机器学习PAI实现快速构建推荐模型 作者:程孟力 - 机器学习PAI团队 随着移动app的普及,个性化推荐和广告成为很多app不可或缺的一部分.他们在改善用户体验和提升app的收益方面 ...

  6. [GPT] Vue 的 methods 中使用了 addEventListener,如何在 addEventListener 的匿名函数参数中访问 Vue data 变量

      在 Vue 的 methods 方法中使用 addEventListener时,你可以使用 箭头函数 来访问 Vue 实例的数据. 箭头函数不会创建自己的作用域,而是继承父级作用域的上下文.以下是 ...

  7. [ML] 机器学习的 7 步流程

    Gathering Data. Preparing that Data. Choosing a Model. Training. Evaluation. Hyperparameter Tuning. ...

  8. [ST] 音悦Tai 凉了,一段印记成为过去时

    互联网上依旧流传着音悦台的传说,过去十年间,你我也许都曾是音悦台的用户. 很多MV的右上角依然是 YinYueTai 的 Logo,比如 Siren-宣美,算是一个时代的印记吧. 互联网企业,即便是真 ...

  9. 一步步教你在 Windows 上构建 dotnet 系应用的 UOS 软件安装包

    本文将详细指导大家如何逐步为 dotnet 系列应用创建满足 UOS 统信系统软件安装包的要求.在这里,我们所说的 dotnet 系列应用是指那些能够在 Linux 平台上构建 UI 框架的应用,包括 ...

  10. STM32【HAL库】使用外部SRAM程序

    #include <board.h> #ifdef BSP_USING_SRAM #include <drv_common.h> #include <rtthread.h ...