
1.命令格式:
df [选项] [文件]
2.命令功能:
显示指定磁盘文件的可用空间。如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示,除非环境变量 POSIXLY_CORRECT 被指定,那样将以512字节为单位进行显示
3.命令参数:
必要参数:
-a 全部文件系统列表
-h 方便阅读方式显示
-H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地文件系统
-m 区块为1048576字节
--no-sync 忽略 sync 命令
-P 输出格式为POSIX
--sync 在取得磁盘信息前,先执行sync命令
-T 文件系统类型
选择参数:
--block-size=<区块大小> 指定区块大小
-t<文件系统类型> 只显示选定文件系统的磁盘信息
-x<文件系统类型> 不显示选定文件系统的磁盘信息
--help 显示帮助信息
--version 显示版本信息
4.使用实例:
实例1:显示磁盘使用情况
命令:
df
输出:
[root@CT1190 log]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda7 19840892 890896 17925856 5% /
/dev/sda9 203727156 112797500 80413912 59% /opt
/dev/sda8 4956284 570080 4130372 13% /var
/dev/sda6 19840892 1977568 16839184 11% /usr
/dev/sda3 988116 23880 913232 3% /boot
tmpfs 16473212 0 16473212 0% /dev/shm
说明:
linux中df命令的输出清单的第1列是代表文件系统对应的设备文件的路径名(一般是硬盘上的分区);第2列给出分区包含的数据块(1024字节)的数目;第3,4列分别表示已用的和可用的数据块数目。用户也许会感到奇怪的是,第3,4列块数之和不等于第2列中的块数。这是因为缺省的每个分区都留了少量空间供系统管理员使用。即使遇到普通用户空间已满的情况,管理员仍能登录和留有解决问题所需的工作空间。清单中Use% 列表示普通用户空间使用的百分比,即使这一数字达到100%,分区仍然留有系统管理员使用的空间。最后,Mounted on列表示文件系统的挂载点。时间有限,先做个简记,后面再来丰富。
服务器磁盘告警,找到不需要的文件,做 rm -Rf xxx *** 作, df -h 打印出来一看,空间并未释放,猜测是某种机制导致的释放延迟,所以坐等了一会再看,空间依然没释放。
通过查阅相关资料,了解到被删除文件被执行 rm 命令时,如果有进程 *** 作该文件,该文件不会被立马删除,而是被标记为 deleted ;直到 *** 作该文件的所有进程都结束,该文件才会被删除。
delete 状态下的文件不可见,使用 ll 命令时该文件看不见摸不着,但实实在在的占用了磁盘空间。可以通过执行下列命令查看被标记为 delete 的文件清单:磁盘空间不足怎么办,linux磁盘清理方法
由于当初安装系统设计不合理,有些分区的过小,以及网络通讯故障等造成日志文件速度增长等其他原因都可以表现为磁盘空间满,造成无法读写磁盘,应用程序无法执行等。下面就给你支几招(以/home空间满为例):
1定期对重要文件系统扫描,并作对比,分析那些文件经常读写
#IS-IR/home>;filestxt
#diff filesoldtxt filestxt
通过分析预测空间的增长情况,同时可以考虑对不经常读写文件进行压缩,以减少占用空间。
2查看空间文件系统的inodes消耗
#df-i/home
如果还有大量的inpde可用,说明大文件占用空间,否贼可能大量小文件占用空间。
3找出占用空间较大的目录
查看/home占用的空间
#du-hs/home
查看/home下占用空间超过1000m
#du/awk'$1>;2000'
4找出占用空间较大的文件
#find/home-size +2000K
5找出最近修改或创建的文件
先TOUCH一个你想要的时间的文件如下
#TOUCH-t 08190800 test
#find/home-newer test-print
6删除日志
#rm-rf/var/log/
7对分区做连接
在有空间的分区,对没有空进分区做连接
#in-s/home/use/home
8找出耗费大量的空间的进程
根据不同的应用,找出对应的进程,分析原因。
9检查并修复文件系统
#fsck-y/home
10重启机器
有了以上的十招,应该可以解决大部分问题,但是关键还是安装时要规划好分区。另外发现磁盘蛮时,不能急,小心 *** 作,认真分析原因,然后小心应对。需要注意,以上十招不需要顺序执行,有的可能一招封喉,有的可能需要数招并用,删除 *** 作一定要小心。如果还不行,只有采取增加硬盘,重新安装系统等“硬”办法了
还可以:
cd/
du-h--max-depth=q/grep M/sort-n
找到最大的那个目录后进入该目录
再运行du-h-max-depth=1/grep M /sort-n
找出来以后看是否有用的文件
没用就删掉
查看已挂载的分区
#df -h
查看已分的分区
#fdisk -l
通过2个对比,可以看出哪些分区没有挂载,不过上面截图都挂载了
如下图,新加一个/dev/sda9没有挂载,用df命令看不到
linux里查看磁盘空间以及磁盘分区的情况可以使用一下命令1、fdisk -l
此命令可以查看到磁盘总空间、分区情况以及每个分区的大小。
2、使用df -h
可以查看到已挂载的磁盘的大小以及挂载位置。Ubuntu 查看磁盘空间大小命令df -h Df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 494df -hDf命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式:df -hl显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 Filesystem Size Used Avail Use% Mounted on/dev/hda2 45G 19G 24G 44% //dev/hda1 494M 19M 450M 4% /boot/dev/hda6 49G 22G 25G 47% /home/dev/hda5 97G 29G 64G 31% /optnone 1009M 0 1009M 0% /dev/shm/dev/hda3 97G 72G 21G 78% /usr/local/dev/hdb2 75G 75G 0 100% //dev/hdb2 75G 75G 0 100% /以上面的输出为例,表示的意思为:HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,因此利用率是100%, 被挂载到根分区目录上(/)。下面是相关命令的解释:df -hl 查看磁盘剩余空间df -h 查看每个根路径的分区大小du -sh [目录名] 返回该目录的大小du -sm [文件夹] 返回该文件夹总M数更多功能可以输入一下命令查看:df --helpdu --helpLinux系统磁盘提示满了,可是磁盘内文件加起来的大小和被占用的大小不一致,这就是磁盘丢失的情况,那么是什么程序占用了磁盘空间下面小编就给大家介绍下Linux找回丢失磁盘空间的方法。
经常接触linux的用户也许会经常遇到这样的问题:
收到一个磁盘告警,说某某分区已经满了,然后登录服务器
df
一看,发现磁盘确实快满了,然后你就想找到具体是哪个目录满了,于是
du
-s
一看,却发现所有子目录的大小总和却和df显示的总已使用磁盘空间对不上,有时候甚至还相差很多,于是就纳闷了:我的磁盘空间去哪了呢
这里就列3种情况:
隐藏文件
linux系统把文件名以。(点号)开头的文件视为隐藏文件,而类似bash里这样的 *** 作符是不会匹配隐藏文件的,所以如果根目录下有个较大的隐藏文件的话,是不会被du
-sh
统计到的,解决办法就是:
du
-sh
。[^]
。
非空目录被mount
一般挂载其他分区的时候都是建议mount到一个空目录的,那么如果mount到一个非空的目录,情况会怎么样呢比如/mnt目录本来里面是有文件的,然后执行了sudo
mount
/dev/sda6
/mnt。其实这个mount命令完全能正常执行,被mount的分区也能正常访问,只是原先在/mnt里的文件,现在已经访问不到了,包括du也看不到大小了,但是磁盘空间却还是被占着,因为如果你
umount
/mnt
以后,原来的文件都还会回来的。
空洞文件
一个文件的大小和所占磁盘空间也不一定完全一致,比如某个程序一直打开着一个叫log的文件在写,而中间有人用
》
log
命令清除了log的内容,就会产生这样的文件。
上面就是Linux找回丢失磁盘空间的方法介绍了,主要是文中三种情况平白占用了磁盘空间,磁盘空间满了可从这些方面着手清理。
注:更多精彩教程请关注三联电脑教程栏目,三联电脑办公群:189034526欢迎你的加入对于新手或者只是练习机,建议你按照如下分区:
swap 交换分区,为物理内存的两倍
/ 其余的空间都给根分区吧
这是我经常使用的分区方案,20G硬盘,仅供参考使用时请酌情考虑:
/ 3G
swap 2G(物理内存两倍)
/var 800M
/tmp 800M
/usr 10G
/home 剩余的
更多Linux知识可参考书籍《Linux就该这么学》。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)