Linux下查看文件大小和目录大小以及目录下文件的大小

简介:

在linux中经常会查看文件大小,通常用的命令du:

该命令详细解释如下:

[www@server101 logs]$ du --help

用法:du [选项]... [文件]...

 或:du [选项]... --files0-from=F

计算每个文件的磁盘用量,目录则取总用量。


长选项必须使用的参数对于短选项时也是必需使用的。

  -a, --all             输出所有文件的磁盘用量,不仅仅是目录

      --apparent-size   显示表面用量,而并非是磁盘用量;虽然表面用量通常会

                        小一些,但有时它会因为稀疏文件间的"洞"、内部碎

                        片、非直接引用的块等原因而变大。

  -B, --block-size=大小 使用指定字节数的块

  -b, --bytes           等于--apparent-size --block-size=1

  -c, --total           显示总计信息

  -D, --dereference-args        解除命令行中列出的符号连接

      --files0-from=F   计算文件F 中以NUL 结尾的文件名对应占用的磁盘空间

                        如果F 的值是"-",则从标准输入读入文件名

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

  -h, --human-readable  以可读性较好的方式显示尺寸(例如:1K 234M 2G)

      --si              类似-h,但在计算时使用1000 为基底而非1024

  -k                    等于--block-size=1K

  -l, --count-links     如果是硬连接,就多次计算其尺寸

  -m                    等于--block-size=1M

  -L, --dereference     找出任何符号链接指示的真正目的地

  -P, --no-dereference  不跟随任何符号链接(默认)

  -0, --null            将每个空行视作0 字节而非换行符

  -S, --separate-dirs   不包括子目录的占用量

  -s, --summarize       只分别计算命令列中每个参数所占的总用量

  -x, --one-file-system         跳过处于不同文件系统之上的目录

  -X, --exclude-from=文件       排除与指定文件中描述的模式相符的文件

      --exclude=PATTERN         排除与PATTERN 中描述的模式相符的文件

      --max-depth=N     显示目录总计(与--all 一起使用计算文件)

                        当N 为指定数值时计算深度为N;

                        --max-depth=0 等于--summarize

      --time            显示目录或该目录子目录下所有文件的最后修改时间

      --time=WORD       显示WORD 时间,而非修改时间:

                        atime,access,use,ctime 或status

      --time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):

                        full-iso,long-iso,iso,+FORMAT

      --help            显示此帮助信息并退出

      --version         显示版本信息并退出


所显示的数值是来自 --block-size、DU_BLOCK_SIZE、BLOCK_SIZE 

及 BLOCKSIZE 环境变量中第一个可用的 SIZE 单位。

否则,默认单位是 1024 字节(或是 512,若设定 POSIXLY_CORRECT 的话)。


SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:

KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。


请向bug-coreutils@gnu.org 报告du 的错误

GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>

GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>

请向<http://translationproject.org/team/zh_CN.html> 报告du 的翻译错误

要获取完整文档,请运行:info coreutils 'du invocation'


根据以上参数,平常用的最多的就是-h和--max-depth=N,用法如下:

[www@server101 logs]$ du -h php101

4.0K    php101

[www@server101 logs]$ du -h php111

4.0K    php111

[www@server101 logs]$

如果要进一步查看,可以运用参数--max-depth=N

比如要看查看当前目录下每个目录的下一级目录(中文件)大小,此时N=2

[www@server101 logs]$ du -h --max-depth=2 ./

4.0K    ./php

4.0K    ./php101

5.5M    ./php102/activity.test.org

8.0K    ./php102/adminfw.test.org

8.0K    ./php102/admin.test.org

4.7M    ./php102/affiliate.test.org

298M    ./php102/api.pb.test.org

8.0K    ./php102/bidding.m.test.org

304M    ./php102/bidding.test.org

372K    ./php102/ck.test.org

27M     ./php102/comm-bxgxq

717M    ./php102/community.test.org

8.0K    ./php102/co.test.org

1.1M    ./php102/cost.ibs.test.org


如果要继续查看下一级目录,则N=3

[www@server101 logs]$ du -h --max-depth=3 ./

4.0K    ./php

4.0K    ./php101

5.5M    ./php102/activity.test.org/logs

5.5M    ./php102/activity.test.org

4.0K    ./php102/adminfw.test.org/logs

8.0K    ./php102/adminfw.test.org

4.0K    ./php102/admin.test.org/logs

8.0K    ./php102/admin.test.org

4.7M    ./php102/affiliate.test.org/logs

4.7M    ./php102/affiliate.test.org

298M    ./php102/api.pb.test.org/logs

298M    ./php102/api.pb.test.org

4.0K    ./php102/bidding.m.test.org/logs

8.0K    ./php102/bidding.m.test.org

304M    ./php102/bidding.test.org/logs

304M    ./php102/bidding.test.org

368K    ./php102/ck.test.org/logs

372K    ./php102/ck.test.org

27M     ./php102/comm-bxgxq/logs


依次改变N的值查看目录层级的大小。然后进入目录,运用du -ah ./查看当前目录下文件的大小

www@server101 huhoo-api]$ du -ah ./

374M    ./localhost_access_log.2016-04-27.txt

100K    ./localhost.2016-04-27.log

81M     ./catalina_112.out.2016-04-28

383M    ./localhost_access_log.2016-04-28.txt

96K     ./localhost.2016-04-28.log

26M     ./catalina_112.out.2016-04-29

174M    ./localhost_access_log.2016-04-29.txt

44K     ./localhost.2016-04-29.log

74M     ./catalina_112.out.2016-04-27

1.5M    ./localhost_access_log.2016-04-20.txt

140K    ./localhost.2016-04-20.log

79M     ./localhost_access_log.2016-04-21.txt

3.1M    ./localhost.2016-04-21.log

16K     ./catalina.2016-04-21.log

0       ./manager.2016-04-21.log

0       ./host-manager.2016-04-21.log

17M     ./catalina_112.out.2016-04-21

64M     ./catalina_112.out.2016-04-22

250M    ./localhost_access_log.2016-04-22.txt

100K    ./localhost.2016-04-22.log

77M     ./catalina_112.out.2016-04-23

345M    ./localhost_access_log.2016-04-23.txt

88K     ./localhost.2016-04-23.log

77M     ./catalina_112.out.2016-04-24

367M    ./localhost_access_log.2016-04-24.txt

92K     ./localhost.2016-04-24.log

82M     ./catalina_112.out.2016-04-25


其他参数根据解释可以依次尝试,这里只介绍--max-depth=N,这个在平常的查找哪个文件占用磁盘空间用的频率较高。



      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1769003,如需转载请自行联系原作者


相关文章
|
7天前
|
Linux
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat &gt; filename` 创建新文件,`cat &gt;&gt; filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
29 5
Linux 常用文件查看命令
|
20天前
|
存储 Linux Shell
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
32 2
Linux|Transfer.sh 轻松实现文件共享
|
1月前
|
存储 网络协议 Linux
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
82 34
|
7天前
|
Linux
Linux目录删除指南:彻底解决“Is a directory”错误
在 Linux 系统中遇到 `cannot remove &#39;xxx&#39;: Is a directory` 错误,是因为删除目录时未使用正确参数。解决方法包括:1) 使用 `rmdir` 删除空目录或 `rm -r` 删除非空目录;2) 检查并调整目录权限(如通过 `sudo` 提权);3) 处理特殊场景,例如文件属性异常、特殊字符或进程占用;4) 替代方法如 `find -delete` 或文件系统修复。操作前建议备份数据,并启用防误删功能(如 `alias rm=&#39;rm -i&#39;`)。掌握 `rm` 和 `rmdir` 的区别是关键。
33 1
|
13天前
|
Linux 网络安全 虚拟化
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
100 1
|
1月前
|
Linux
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
42 14
|
24天前
|
Linux Shell
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
27 3
|
10月前
|
Ubuntu Linux
linux(三十六)文件和目录相关命令tree
linux(三十六)文件和目录相关命令tree
75 0
|
10月前
|
Linux
快速上手linux | 一文秒懂Linux各种常用目录命令(上)
快速上手linux | 一文秒懂Linux各种常用目录命令(上)
66 0
|
10月前
|
Linux Shell PHP
linux(十五)文件和目录相关命令-控制台输出命令echo和重定向
linux(十五)文件和目录相关命令-控制台输出命令echo和重定向
152 0