【问题标题】:How to suppress the error and display only the final output of du Linux command如何抑制错误并仅显示 du Linux 命令的最终输出
【发布时间】:2021-06-29 12:23:40
【问题描述】:

运行 du 命令显示以下输出 -

[pz@texualp ~]$ du -s /My-Data/
du: cannot read directory ‘/My-Data/ROMANIEI/smart/store’: Permission denied
du: cannot read directory ‘/My-Data/ROMANIEI/smart/data’: Permission denied
du: cannot read directory ‘/My-Data/ROMANIEI/smart/temp’: Permission denied
du: cannot read directory ‘/My-Data/ROMANIEI/smart/spool’: Permission denied
2900883608      /My-Data/
[pz@texualp ~]$

只显示最后一行的方式是什么(即2900883608 /My-Data/)?

我也试过 - du -s /My-Data/ | tail -n1,但没用。

我也想知道有没有办法只显示尺寸(即2900883608)。

【问题讨论】:

  • 要抑制错误,请在命令末尾添加2>/dev/null
  • 谢谢dratenik。有效。有没有办法只打印第一个值(即代表大小的数字)。
  • 如果只需要数字,请添加| cut -f1
  • 非常感谢dratenik。你的两个建议都奏效了。

标签: tail du


【解决方案1】:

正如它在 cmets 中提到的,您应该重定向 STDERR(打印这些错误的位置)。这可以通过这种方式完成:

du -s /My-Data/ 2>/dev/null

附:如果您没有读取特定目录的权限,您将无法获得正确的结果,您只会看到您有权限的目录的大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2023-04-04
    相关资源
    最近更新 更多