有些时候总想了解下文件和目录大小和总空间大小,在linux下,熟练使用如下几个命令可以非常清楚的知道期望知道的内容哦!
1. df
df --help
用法:df [选项]... [文件]...
显示每个文件所在的文件系统的信息,默认是显示所有文件系统。
2. du
du --help
用法:du [选项]... [文件]...
或:du [选项]... --files0-from=F
计算每个文件的磁盘用量,目录则取总用量。
3. 知道了这两个命令后,看完help,差不多就很清楚了,下面举几个例子:
$: df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda5 118105420 27662504 84443456 25% /
none 2018980 676 2018304 1% /dev
none 2025608 2108 2023500 1% /dev/shm
none 2025608 100 2025508 1% /var/run
none 2025608 0 2025608 0% /var/lock
看出来我的文件系统布局是不合理的,竟然有四个是none……
$ df -h
文件系统 容量 已用 可用 已用%% 挂载点
/dev/sda5 113G 27G 81G 25% /
none 2.0G 676K 2.0G 1% /dev
none 2.0G 2.1M 2.0G 1% /dev/shm
none 2.0G 100K 2.0G 1% /var/run
none 2.0G 0 2.0G 0% /var/lock
加了-h后,显示结果更加符合我们的习惯,来瞧瞧help里的-h代表什么:
-h, --human-readable 以可读性较好的格式显示尺寸(例如:1K 234M 2G)
此处发现,此处的短选项-h并不是很多命令熟知的--help的同义词,而是一个新含义的同义词,这个选项对于查看非常有帮助,后面细看。
继续看du的例子,此处我查看我httpd下面的内容:
~/httpd$ du
4580 ./modules
2716 ./lib
1284 ./include
264 ./icons/small
912 ./icons
148 ./htdocs
1108 ./bin
12 ./cgi-bin
12 ./logs
188 ./conf
16 ./error/include
208 ./error
268 ./manual/platform
172 ./manual/images
8 ./manual/style/xsl/util
使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.
~/httpd$ du -h --max-depth=1
4.5M ./modules
2.7M ./lib
1.3M ./include
912K ./icons
148K ./htdocs
1.1M ./bin
12K ./cgi-bin
12K ./logs
188K ./conf
208K ./error
9.9M ./manual
84K ./man
280K ./build
22M .
~/httpd$ du -h --max-depth=1 ./*
1.1M ./bin
280K ./build
12K ./cgi-bin
188K ./conf
16K ./error/include
208K ./error
148K ./htdocs
264K ./icons/small
912K ./icons
1.3M ./include
2.7M ./lib
12K ./logs
32K ./man/man1
48K ./man/man8
84K ./man
268K ./manual/platform
172K ./manual/images
456K ./manual/style
128K ./manual/rewrite
220K ./manual/developer
84K ./manual/faq
4.7M ./manual/mod
196K ./manual/ssl
392K ./manual/howto
464K ./manual/misc
360K ./manual/vhosts
428K ./manual/programs
9.9M ./manual
4.5M ./modules
注意,-h作为--human-readable在ls下也是有效的:如ls -lh等;
其他例子:
统计总数大小
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:多少字
附:
http://www.diybl.com/course/6_system/linux/Linuxjs/2008716/133217.html中提到个例子:
# df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p2 10080520 9112968 455484 96% /
none 1977584 0 1977584 0% /dev/shm
/dev/cciss/c0d0p5 28842748 6706924 20670700 25% /u01
/dev/cciss/c0d0p6 26850172 683148 24803108 3% /u02
但是使用du -kxs 检查,根目录使用率是80%
du 统计文件大小相加
df 统计数据块使用情况
如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。
我们碰到的问题是,我们在定期删除 /var/spool/clientmqueue下面的文件,但是没有杀掉其进程,所以空间一直没有释放。
使用下面的命令杀掉进程之后,系统恢复。
fuser -u /var/spool/clientmqueue
其他参考:
http://www.yayu.org/look.php?id=162
http://linux.chinaitlab.com/command/734706.html
http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html
分享到:
相关推荐
linux如何查看文件夹大小
Linux下查看指定文件夹和文件的大小.docx
Java获取文件夹大小、文件大小,文件个数.doc
主要介绍了Linux中du-查看文件夹大小并按大小进行排序详解的相关资料,需要的朋友可以参考下
基于jdk7或以上java版本的文件夹大小统计功能实现,相对于传统的java获取文件再计算大小的方式要快速很多,支持统计指定类型,是否统计子文件夹
Linux 删除文件夹和文件的命令,根据文件夹的大小来判断是否删除该文件,你也可以根据文件名来删除
主要介绍了Linux du命令查看文件夹大小并按降序排列,需要的朋友可以参考下
1) 统计当前文件夹下文件的个数 代码如下: ls -l |grep “^-“|wc -l 2) 统计当前文件夹下目录的个数 代码如下: ls -l |grep “^d”|wc -l 3) 统计当前文件夹下文件的个数,包括子文件夹里的 代码如下: ls -...
du -sh --max-depth=1 #查看当前目录下所有一级子目录文件夹大小 du -h --max-depth=1 |sort #查看当前目录下所有一级子目录文件夹大小 并排序 du -h --max-depth=1 |grep [TG] |sort -nr #倒序排 FreeBSD下是...
du -ah –max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。 du命令用来查看目录或文件所占用磁盘空间的大小。常用选项组合为...
文件夹和文件名(Unix/Linux 格式), SHA1, MD5, CRC32, 文件大小(以字节为单位,新功能尚未在所有 SMDB 中可用) 为一系列闪存车提供了 SMDB。 更多详情、使用方法,请下载后阅读README.md文件
查看目录下面的所有文件: #!/bin/bash cd /目标目录 for file in $(ls *) do echo $file done 延伸的方法,查看目录下面的所有目录 #!/bin/bash cd /export/bak/original_document for dir in $(ls split*) do ...
6 查看目录下的各个文件大小日期等 6 查看环境变量 6 进入到用户的起始目录 6 退出并重新登陆 6 ftp命令 6 文件拷贝命令 7 拷贝文件夹命令 7 查看进程打开文件数 7 查看临时目录某个文件大小 7 查看环境变量 7 Linux...
Linux Tomcat下使用Log4j接管catalina.out 日志文件生成方式,按天分割,解决catalina.out日志文件过大问题 1、将log4j-1.2.17.jar、tomcat-juli-adapters.jar两个jar包和log4j.properties文件拷贝到 Tomcat 的 lib...
本文介绍了tar命令、gzip, zcat 命令、bzip2, bzcat 命令、compress 命令、dd...-t :查看tarfile 里面的文件! 特别注意,在参数的下达中,c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩。 -z :
-l(L) 查看当前目录下文件的属性信息 用法: ls -l d rwx r-x r-x 2 linux(所有者名) linux(所在的组名) 4096 Jul 15 2014 Music 111 101 101 root(管理者权限) 大小(单位:字节) (最后修改日期) 421 421 421...
脚本生成二进制白文件,脚本内配置生成单文件大小,生成文件夹中文件大小,文件夹名生成规则为递增。运行后手动输入生成地址与生成所需的文件大小。后期方便管理,可以通过删除单个文件,或者单个文件夹,做到细化...
当我在网上查了几小时的挂载文件夹方法后发现,VMware中的Linux的挂载和双系统的挂载不同 最终目的就是在/mnt目录下有个hgfs的文件夹 效果图: 首先打开VMware中的Linux系统 具体步骤如下: 然后 这时候虚拟机的...