首页 > 系统相关 >Linux系统中如何查看磁盘情况

Linux系统中如何查看磁盘情况

时间:2024-05-24 15:50:56浏览次数:20  
标签:sort 查看 df Linux 命令 databook 磁盘 du

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 的。

标签:sort,查看,df,Linux,命令,databook,磁盘,du
From: https://www.cnblogs.com/wang_yb/p/18211130

相关文章

  • orangepi zero2在linux5.4以上内核使用ili9341
    背景根据orangepizero2用户手册说明,linux5.13内核不能使用modprobefbtft_device驱动spilcd查看linux内核源码提交记录,发现在v5.4-rc3中删除了fbtft_device.c文件commit如下staging/fbtft:Removefbtft_deviceCommitc440eee("Staging:fbtft:Switchtothegpiode......
  • Linux系统postdrop服务进程持续增加导致无法登录
    临时解决方案:#servicepostfixstatus#servicesendmailstatus#servicepostfixstop[root@wign~]#ps-ef|grepsendmail|wc-l3038[root@wign~]#ps-ef|greppostdrop|wc-l3162停止postdrop服务,杀掉postdrop的进程#psaux|greppostdrop|grep-vgrep|cut-c9-15|xargs......
  • Linux安装卸载MySQL
    大家好,我是Java陈序员。今天,给大家分享下在Linux环境中如何安装卸载MySQL.关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。MySQL安装准备一台Linux服务器下载Linux版MySQL安装包下载地址:https://downloads.m......
  • GDB对Linux信号的处理方式
    前言在软件开发过程中,调试工具是程序员不可或缺的助手。GDB(GNUDebugger)作为一个强大的调试器,广泛应用于Linux系统中的C/C++程序调试。然而,信号处理机制的复杂性常常给调试带来挑战。特别是在处理异步和同步信号时,不同的信号处理方式对程序执行流和调试工具的行为会产生显......
  • Bash反弹shell & 搭建网页服务器 & 文件描述符学习 & ssh连接vm虚拟机 & sftp进行文件
    环境:kali:┌──(kali㉿kali)-[~/Desktop]└─$cat/proc/versionLinuxversion6.0.0-kali5-amd64([email protected])(gcc-12(Debian12.2.0-9)12.2.0,GNUld(GNUBinutilsforDebian)1.建立一个简单的链接进行nc,可以进行两个端口通信!#首先使用nc监听......
  • C++Linux系统编程——文件和目录操作函数
    stat函数(重要)#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>​intstat(constchar*path,structstat*buf);intlstat(constchar*pathname,structstat*buf);功能: 获取文件状态信息 stat和lstat的区别:   当文件是一个符号......
  • [IMX6ULL驱动开发]-Linux对中断的处理(一)
    目录中断概念的引入ARM架构中断的流程异常向量表Linux系统对中断的处理ARM对程序和中断的处理Linux进程中断处理中断概念的引入如何理解中断,我们可以进行如下抽象。把CPU看做一个母亲,当它正在执行任务的时候,可以看为是一个母亲在看书。此时可能发生许多不同的情况,比......
  • 在linux中离线安装docker操作指南
    1.在有网络连接的环境下,下载Docker安装包,包名为docker-xx.x.x.tgz。 下载地址:https://download.docker.com/linux/static/stable/x86_64/2.将压缩包上传到目标服务器,解压压缩包。3.执行如下命令卸载旧版docker。 yumremovedocker*4.将解压的所有文件拷贝到/usr/bin目录......
  • 【Linux C | 网络编程】基础概念
    一、IP和端口1、IP地址用来标识一台电脑的地址,它由四个字节组成,我们平时看到的192.168.100.30是把IP地址的四个字节按字节单独取出来显示的,在电脑中这个四个数字是存在一个32位的无符号整数中的,所以它的数值一般比较大2、端口每台电脑上有很多需要上网的程序,这些程序都是同......
  • 使用tc命令模拟linux网络延迟环境
    tc(TrafficControl)是Linux中用于流量控制和网络模拟的强大工具。你可以使用它来模拟网络延迟、带宽限制、数据包丢失等。以下是一个使用tc模拟网络延迟的基本步骤:1.查看当前的qdisc(队列规则)和filter(过滤器)首先,确保你的网络接口没有设置任何qdisc。你可以使用以下命令查......