实用的linux磁盘大文件查找方法

转载 2018年04月17日 14:05:47

1. 磁盘管理du命令详解

  • 用途

du(disk usage)命令可以计算文件或目录所占的磁盘空间。没有指定任何选项时,它会测量当前工作目录与所有子目录,分别显示各个目录所占的块数,最后才显示工作目录所占总快数。

  • 用法
# du  --help
# du [OPTION]… [FILE]…

-a, --all,包括了所有的文件,而不只是目录

--apparent-size,输出实际大小,而不是磁盘使用量; 虽然尺寸通常较小,可能是由于文件中的空洞,内部空间较大的碎片,间接块等

-b, –bytes,以字节为计算单位,等价于--apparent-size --block-size=1

-k,以千字节(KB)为计算单位,等价于--block-size=1K

-m,以兆字节(MB)为计算单位,等价于--block-size=1M

-c, –total 最后加上一个总计(系统缺省)

-D, –dereference-args,取消引用是符号链接的文件

-H,等价于--dereference-args (-D)

-h, –human-readable,以适合阅读的方式输出文件大小信息 (例如,1K 234M 2G)。注:该选项在很多其他命令(df, ls)中也有效

-l, –count-links 计算所有的文件大小,对硬链接文件,则计算多次

-L, –dereference 显示选项中所指定符号连接的源文件大小

-P, --no-dereference,不跟随任何的符号连接(缺省)

-S, –separate-dirs,计算目录(不包括子目录)所占空间的大小

--si, 像-h一样, 但是使用1000进制,而不是1024进制

-s, --summarize,只显示工作目录所占总空间

-x, --one-file-system,以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。

-X FILE,–-exclude-from=FILE,排除掉指定的文件

--exclude=PATTERN,排除符合样式的文件。Pattern就是普通的Shell样式,?表示任何一个字符,*表示任意多个字符

--max-depth=N,只列出深度小于max-depth的目录和文件的信息。--max-depth=0时,效果跟–s一样

2. 使用案例

  • 查找指定目录的大文件
# cd /home/web/

// 计算当前目录所占用空间的大小
# du -s
793832 

// 计算出当前目录所占用空间的大小。-h选项使得输出结果跟容易阅读(跟上例比较)
# du -sh
776M    

// 输出当前目录下各个子目录所使用的空间
# du -h --max-depth=1 

// 在当前目录下,查找空间大小前20的目录
# du -h --max-depth=2 | sort -hr | head -20
  • 其他查找方法
// 在当前文件夹中,查找100M以上的文件
# find . -type f -size +100M  

// 按照文件大小,对查找结果做排序
# find . -type f -size +100M  -print0 | xargs -0 du -h | sort -nr

3. linux磁盘空间不足怎么办,磁盘清理方法

  • 查看文件系统的inodes消耗
# df -i /home

如果还有大量的inodes可用,说明大文件占用空间;否贼可能大量的小文件占用空间

  • 找出占用空间较大的目录
# du -hs /home

// 查看/home下占用空间超过1000的文件
# du / awk'$1>;2000'
  • 查看某文件被进程使用的情况

有时候删除日志文件之后再df -h查看空间依然被占满,继续排查。

# lsof /usr/local/apache-tomcat-7.0.54/logs/catalina.out

lsof file_name 查看文件占用进程情况,如果删除的日志正在被某个进程占用,则必须重启或者kill掉进程。

  • 查看指定目录下的文件和子目录大小
# du -h --max-depth=2 /usr/local/ | sort -hr | head -20

数据结构基础系列(8):查找

-
  • 1970年01月01日 08:00

linux实用的磁盘大文件及大文件夹查找命令

1.查找大文件:% find . -type f -size +100M #查找100M以上的文件对查找结果按照文件大小做一个排序% find . -type f -size +100M -prin...
  • qq_16885135
  • qq_16885135
  • 2016-08-16 20:57:01
  • 9945

Linux 服务器 Shell 命令 查找大文件 磁盘占用情况 内存使用情况

这张我将讲解几个常用的指令,可以帮助你快速找到服务器问题发生原因所在。查找磁盘占用情况 df -ah 输入这个命令 ,将展示各分区占用的比例,如果发现分区使用率大于80%,那么你就得考虑是不是迁移一部...
  • weixin_36333654
  • weixin_36333654
  • 2016-10-10 21:17:31
  • 4097

linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘。

Linux下的根分区使用率100%,但是查看/分区下的目录都不大,没有占用满,这该怎么处理? 重启是肯定有效的,目前处理情况:重新restart应用后,空间释放出来 1、lsof | grep d...
  • zhangliangqi2000
  • zhangliangqi2000
  • 2017-06-21 18:17:28
  • 5627

Linux下查找大文件,大目录的方法

Linux下查找大文件、大目录的方法。 Linux下做文件管理的简单方法
  • Del_Zhu
  • Del_Zhu
  • 2016-08-10 10:59:48
  • 7501

Linux使用dd命令快速生成大文件

dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/ze...
  • BUG1314
  • BUG1314
  • 2015-01-26 14:33:37
  • 2720

Linux如何查找大文件内容

Linux如何查找大文件内容。 方法一:使用du命令 du -sh /* 先看看根目录下面 1.3G  /usr 15G /var 然后再使用 du -sh /var/* 进行查找 ...
  • whosheng
  • whosheng
  • 2015-11-12 17:20:23
  • 809

linux 查找大目录和大文件

今天,在机器上执行命令的时候,发现tab键无法补全了,原因竟然是磁盘空间满了,使用df命令看了一下,确实如此,每个分区的使用率都得到100%了,因此想找到系统中的大目录和大文件,删除一部分。 主要涉...
  • sole_cc
  • sole_cc
  • 2016-07-05 22:33:17
  • 711

linux如何查找大文件或目录

linux如何查找大文件或者目录在linux系统中,经常出现空间占满的情况,此时需要清楚一些大文件或文件夹,那么如何去搜索比较大的文件呢?下面列出如何查找大文件或者文件夹的方法。如何查找大文件?查找某...
  • xbrother123
  • xbrother123
  • 2017-04-11 13:49:44
  • 212

在Linux下创建一个大文件,即制造磁盘IO异常,使用dd命令

例如: 我们要创建一个10G的文件,方法是: dd if=/dev/zero of=./bill_test bs=1G count=10   其中dd是磁盘硬拷贝命令,/dev/zero是一个特殊文件...
  • yusiguyuan
  • yusiguyuan
  • 2013-11-17 09:56:21
  • 2975
收藏助手
不良信息举报
您举报文章:实用的linux磁盘大文件查找方法
举报原因:
原因补充:

(最多只允许输入30个字)