linux du命令

这个博客介绍了如何使用命令行工具来查看和管理磁盘空间,包括显示所有文件的磁盘用量、按人类可读的方式展示尺寸、处理符号链接以及设置不同的块大小。此外,还提到了排除特定文件、设定最大深度以及根据时间戳查看文件信息等功能。

-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         显示版本信息并退出

<think>嗯,用户想了解Linuxdu命令的用法和示例。首先,我需要回忆一下du的基本功能。du是disk usage的缩写,主要用于查看目录或文件的磁盘使用情况。用户可能需要知道如何快速检查某个目录的大小,或者找出占用空间最多的文件。 接下来,我应该考虑用户可能的场景。比如,他们可能遇到磁盘空间不足的问题,需要找出哪个目录占用了太多空间。这时候,du的常用选项如-h(人类可读格式)、-s(总计)会很有用。比如du -sh /home可以查看/home目录的总大小。 然后,用户可能需要更详细的示例,比如如何按大小排序子目录。这时候需要结合sort命令,例如du -h --max-depth=1 | sort -hr。这里要注意不同系统下sort的参数可能不同,比如MacOS可能需要调整。 另外,用户可能对排除某些文件类型感兴趣,比如用--exclude参数来过滤掉不需要的文件。或者需要检查文件的修改时间,使用--time选项。 还要考虑用户是否需要监控磁盘使用情况的变化,这时候--time和定期执行命令可能会有帮助。比如结合watch命令实时监控。 需要确保回答覆盖基本用法、常用选项、实际案例,以及可能遇到的问题,比如权限不足导致部分目录无法访问,这时候需要sudo来提升权限。 还要检查引用的资料是否有帮助。引用1提到--time选项,引用3提到了基本语法。可以引用这些来增强答案的可信度。同时,用户提供的引用中有df和du的区别,可能需要在相关问题中提及,帮助用户区分两者的不同用途。 最后,生成相关问题时要考虑用户可能的后续疑问,比如如何排除特定文件、如何排序结果、与df的区别,以及权限问题如何处理。这些问题能帮助用户更深入地理解du的使用场景和技巧。</think>### Linux du 命令详解及示例 du(disk usage)是Linux系统中用于分析**目录/文件磁盘占用**的核心命令,特别适合排查存储空间异常问题。以下从基础到进阶分步骤说明其用法: --- #### 一、基础语法 ```bash du [选项] [目录/文件路径] ``` 若未指定路径,默认分析**当前目录**。 --- #### 二、核心功能与常用选项 1. **查看目录总大小** ```bash du -sh /path/to/directory # -s: 显示总计,-h: 人类可读单位 ``` 示例: ```bash $ du -sh /var/log 1.2G /var/log ``` > 适用于快速定位大目录[^3] 2. **显示子目录详细大小** ```bash du -h --max-depth=1 /path # 限制递归深度为1级子目录 ``` 示例: ```bash $ du -h --max-depth=1 /home 24G /home/user1 15G /home/user2 39G /home ``` 3. **按大小排序输出结果** ```bash du -h --max-depth=1 /path | sort -hr # -h: 按人类可读数值排序,-r: 降序 ``` > 注意:MacOS需改用`-k`替代`-h`参数[^2] 4. **追踪文件修改时间** ```bash du --time -sh /path # 显示最后修改时间 ``` 输出示例: ```bash 1.2G 2024-01-15 14:30 /var/log ``` > 适用于分析近期变化的目录[^1] 5. **排除特定文件类型** ```bash du -h --exclude="*.tmp" /path # 跳过所有.tmp文件 ``` --- #### 三、典型应用场景 1. **定位存储异常增长** ```bash sudo du -sh /* # 扫描根目录下所有一级目录 ``` 2. **监控目录容量变化** ```bash watch -n 60 "du -sh /tmp" # 每60秒刷新/tmp目录大小 ``` 3. **统计隐藏文件占用** ```bash du -sch .[!.]* * | sort -h # 包含点文件的全量统计 ``` --- #### 四、注意事项 1. **权限问题**:分析系统目录时需加`sudo` 2. **符号链接**:默认不追踪,需添加`-L`选项 3. **与df的区别**:`df`显示磁盘分区的整体使用情况,`du`分析具体目录的存储占用[^2] ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值