Linux查看磁盘空间大小,剩余空间容量等,空间满该如何操作

下面是相关命令的解释:

df -hl 查看磁盘剩余空间

df -h 查看每个根路径的分区大小

du -sh [目录名] 返回该目录的大小

du -sm [文件夹] 返回该文件夹总M数

更多功能可以输入一下命令查看:

df --help

du --help

查看linux文件目录的大小和文件夹包含的文件数

统计总数大小

du -sh xmldb/

du -sm * | sort -n //统计当前目录大小 并安大小 排序

du -sk * | sort -n

du -sk * | grep guojf //看一个人的大小

du -m | cut -d "/" -f 2 //看第二个/ 字符前的文字

查看此文件夹有多少文件 /*/*/* 有多少文件

du xmldb/

du xmldb/*/*/* |wc -l

40752

解释:

wc [-lmw]

参数说明:-l :多少行;-m:多少字符;-w:多少字

 

两个命令df 、du结合比较直观

df    -h                     查看整台服务器的硬盘使用情况

cd    /                       进入根目录

du   -sh    *              查看每个文件夹的大小

这样的组合可以快速定位大文件和分区满了

 

如果要查看磁盘还剩多少空间,当然是用df的命令了。 
[root@localhost ~]# df -h 
文件系统 容量 已用 可用 已用% 挂载点 
/dev/sda2 14G 11G 2.6G 82% / 
/dev/sda1 99M 14M 81M 14% /boot 
tmpfs 442M 275M 168M 63% /dev/shm 
/dev/mapper/vg_test-lv_test 
24M 1.3M 21M 6% /mnt/lvm 


当然你可能并不关系磁盘还剩余多少空间,你是需要知道当前的文件夹下的磁盘使用情况: 
[root@localhost ~]# du –max-depth=1 -h 
24K ./.gnome www.2cto.com 
8.0K ./.eggcups 
8.0K ./.config 
136K ./.gnome2 
16K ./.chewing 
8.0K ./.gnome2_private 
8.0K ./.Trash 
224K ./.gstreamer-0.10 
28K ./Desktop 
48K ./.nautilus 
48K ./.metacity 
240K ./.scim 
3.4M ./.mozilla 
1012K ./.kde 
12K ./.superkaramba 
40K ./.local 
8.0K ./.qt 
272K ./.gconf 
32K ./.mcop 
16K ./.redhat 
1.7M ./.thumbnails 
8.0K ./.gconfd 
7.5M . 


看上面使用了du –max-depth=1 -h的命令来查找磁盘的使用情况,因为后面没有跟路径,它就默认是当前的路径。这个命令的-h参数是为了方便你读懂每个文件的大小,如果没有这个参数显示的文件大小就没有k,M,G等。执行命令后,前面n-1行的是该目录下每个文件夹的大小。最后一行显示的是该目录总的大小。 
然后你会说不在乎该目录下每个文件的大小,你只想知道其中某一个文件(文件夹)的大小,那么有没有办法呢?当然你应该记得,我一直强调的,方法总比问题多,这儿也不例外。 
请看下面的例子: 
[root@localhost ~]# du -sh 
7.5M . www.2cto.com 


聪明的你一定发现了这里显示的大小和上面最后一行的大小是一样的。这就是说这里显示的大小是该目录的总大小。 
我知道你心里在冷笑,不是方法比问题多吗?这里说的也只有一个答案。当然,我不会让你失望的。另一个方法比较土,但是还是可以解决问题的。 
[root@localhost ~]# du -h –max-depth=0 
7.5M . 


我想告诉你的是man手册里面已经告诉了:–max-depth=0的功能和-s的功能是一样的。 
当然你也可以通过sed打印最后du -h –max-depth=1一行来解决问题,但我并不推荐。 
这里涉及到一个原则,尽量使用命令提供选项的原始功能。如果命令没有提供该功能,才需要我们自己使用grep,sed,awk来选取我们需要的行。 
当然du命令后面可以跟文件路径,来查看指定路径的大小的。 
[root@localhost ~]# du -sh /opt/oracle 
5.6G /opt/oracle 
[root@localhost ~]# 
如果磁盘过大,那么查看文件大小就比较忙,请等一会


今天在运行R脚本的时候报了个错:Fatal error: cannot create ‘R_TempDir’。排除了是自己写的代码的问题,想着应该是某个没见过的原因,google之,发现网上的说法是/tmp文件夹占满了磁盘空间。

运行 df 命令:

Filesystem Size Used Avail Use% Mounted on 
/dev/mapper/VG00-LV01 
50G 47G 16M 100% / 
发现确实有个分区被占满了。。。

第一次碰到这种情况,继续google之,使用如下命令 
du -sh /* | sort -nr 
可以得到 / 目录下所有文件和目录的大小的排序结果。

从中找出最大的,在我的机器中/var文件占用了47个G的大小,应该就是它了,使用上面的命令继续追踪:

du -sh /var/* | sort -nr 
du -sh /var/log/* | sort -nr 
du -sh /var/log/httpd/* | sort -nr 
一层一层往下追踪,最后发现是 httpd/目录下的ssl_error_log占据了超大磁盘空间,看了下文件内容,估计是某次链接导致了大量错误信息被一遍遍的循环写入。

不多想,直接把这文件删除。

运行 df -i:

Filesystem Inodes IUsed IFree IUse% Mounted on 
/dev/mapper/VG00-LV01 
3276800 226882 3049918 7% / 
tmpfs 4069835 7 4069828 1% /dev/shm 
/dev/md0 51200 39 51161 1% /boot 
/dev/mapper/VG00-LV02 
56705024 11756 56693268 1% /opt 
没有太大使用量,这是因为-i查看inode节点情况,和文件大小是不同概念。

再次运行df -h命令:

Filesystem Size Used Avail Use% Mounted on 
/dev/mapper/VG00-LV01 
50G 47G 16M 100% / 
仍然还是100%,明明已经删除了啊。。。 不解,继续google之。。

结论是“在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。”

找出文件使用者,kill掉:

lsof -n | grep deleted 
找到使用ssl_error_log文件的进程,kill掉,然后再次df -h,发现已经没有100%的情况了。

处理完成~~

<think>嗯,用户问的是如何在Linux中使用df -h命令查看磁盘空间。首先,我需要确认df命令的基本用法,以及-h参数的作用。根据提供的引用资料,引用[1]和[2]都提到df -h是以人类可读的格式显示磁盘使用情况,比如用GB、MB而不是字节。引用[3]还解释了设备名的含义,比如/dev/sda10的分区信息。 接下来,我应该分步骤说明使用方法。首先介绍命令的基本格式,然后解释各个参数,比如-h、-a、--total等。需要确保用户知道如何执行命令,以及输出中各列的含义,比如文件系统、容量、已用、可用等。可能还需要提到挂载点的重要性,这样用户知道哪个分区对应哪个目录。 另外,用户可能不知道其他有用的参数,比如--total显示总和,或者-i显示inode信息。这些可以作为高级用法补充,帮助用户更全面地管理磁盘空间。还要注意示例的准确性,比如示例中的输出是否合理,是否包含关键信息。 用户的实际需求可能不仅仅是运行命令,还可能包括如何解读结果,比如识别哪个分区快满了,或者如何定位问题所在。因此,解释输出结果的部分很重要,需要详细说明每一列的意义,并给出实际例子,比如当可用空间不足时应该如何处理。 最后,生成的相关问题需要考虑用户可能的后续疑问,比如其他查看磁盘的命令,如du,或者如何清理空间。这些问题可以帮助用户进一步解决问题,提升他们的使用体验。</think>### Linux查看磁盘空间命令`df -h`使用详解 #### 一、命令基本格式 在Linux系统中,使用`df -h`命令可以快速查看文件系统的磁盘空间占用情况,并以**人类可读格式**(如GB、MB)显示结果。命令格式为: ```bash df [选项] [文件或目录] ``` #### 二、参数解析与常用场景 1. **基础用法** ```bash df -h ``` - **输出列说明**: - `文件系统`:磁盘分区或存储设备名称(如`/dev/sda1`)[^3] - `容量`:分区总大小(如`50G`) - `已用`:已占用的空间 - `可用`:剩余可用空间 - `已用%`:使用百分比 - `挂载点`:分区在系统中的访问路径(如`/home`) **示例输出**: ``` Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 30G 18G 63% / tmpfs 3.9G 0 3.9G 0% /dev/shm ``` 2. **扩展参数** - `-a`:显示所有文件系统(包括伪文件系统如`tmpfs`) - `--total`:在末尾添加汇总行 - `-T`:显示文件系统类型(如ext4、xfs) - `-i`:查看inode使用情况(适用于文件数量监控) #### 三、典型应用场景 1. **快速定位磁盘问题** 当服务器出现磁盘空间不足时,执行: ```bash df -h | grep -E "(90%|95%|100%)" # 筛选使用率超过90%的分区 ``` 2. **结合目录路径分析** 若需查看**特定目录所在分区的空间**: ```bash df -h /var/log # 显示/var/log目录所在分区的使用情况 ``` #### 四、注意事项 - 若遇到`/dev/sda`等设备名,`sda`表示第一块SATA硬盘,`sda1`是其第一个分区 - 使用`df -Th`可同时查看**文件系统类型**(如ext4、xfs)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值