首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >du skip符号链接

du skip符号链接
EN

Unix & Linux用户
提问于 2014-09-23 19:19:07
回答 3查看 24.9K关注 0票数 13

du在我的系统上的默认行为不是正确的默认行为。

如果我ls我的/data文件夹,我会看到(删除不重要的内容):

代码语言:javascript
复制
ghs
ghsb -> ghs
hope
rssf -> roper
roper

每个文件夹内都有一组以数字作为名称的文件夹。我希望获得名为14的所有文件夹的总大小,因此我使用:

代码语言:javascript
复制
du -s /data/*/14

我看到了..。

代码语言:javascript
复制
161176 /data/ghs/14
161176 /data/ghsb/14
8 /data/hope/14
681564 /data/rssf/14
681564 /data/roper/14

我只想:

代码语言:javascript
复制
161176 /data/ghs/14
8 /data/hope/14
681564 /data/roper/14

我不想看到象征性的链接。我试过-L-D-S等等。我总是得到符号链接。有办法把它们移走吗?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2014-09-23 19:30:42

这不是解析符号链接的du,而是您的shell。

*是一个shell glob;它是在运行任何命令之前由shell展开的。因此,您正在运行的命令实际上是:

代码语言:javascript
复制
du -s /data/ghs/14 /data/ghsb/14 /data/hope/14 /data/rssf/14 /data/roper/14

如果您的shell是bash,则无法告诉它不要扩展符号链接。但是,您可以使用find (GNU版本)来代替:

代码语言:javascript
复制
find /data -mindepth 2 -maxdepth 2 -type d -name 14 -exec du -s {} +
票数 18
EN

Unix & Linux用户

发布于 2021-01-13 13:06:47

只需使用标志-L

从手册页:

代码语言:javascript
复制
-L, --dereference
              dereference all symbolic links

然后du计算大小,不管它们是否具有象征意义。

票数 1
EN

Unix & Linux用户

发布于 2020-11-04 19:43:50

代码语言:javascript
复制
du -P

-P,--不取消引用不要遵循任何符号链接(这是默认的)

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/157112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档