gpt4 book ai didi

linux - 如何在shell中访问以句点 '.'开头的文件

转载 作者:IT王子 更新时间:2023-10-29 01:02:15 24 4
gpt4 key购买 nike

特殊字符可以用反斜杠字符\来区分。但是,我想将完整句点视为对隐藏文件夹进行操作的普通字符。例如:

ls -lh .

它将列出当前目录。但是,我想列出所有隐藏的文件夹。我希望它可以与 du -h 一起使用,所以我知道隐藏文件夹占用的磁盘空间。

最佳答案

名称以 . 开头的文件和目录仅在 (a) ls 默认忽略它们和 (b) 通配符扩展排除它们的意义上是“隐藏”的.在这两种情况下,如果您明确引用它们,您都可以看到点文件。 * 扩展到所有非点文件; .* 扩展到所有点文件。

(其他工具和命令也可能将它们视为隐藏;例如,像 Nautilus 这样的 GUI 文件管理器默认情况下通常不显示点文件,但通常可以选择显示它们。)

ls -a 覆盖名称以 . 开头的文件的特殊处理。 ls -A 列出“隐藏”文件和文件夹,但不包括 .(本目录)和 ..(父目录);某些版本的 ls 可能不支持 -A

据我所知,du 命令不会将点文件视为隐藏文件。 du -h 应该显示从当前目录开始的整个目录树。 (在一个小目录树中尝试它以确保您的行为如此。)

编辑:

我已经确认至少 du 的 GNU coreutils 版本不会特别处理名称以 . 开头的文件或目录;没有什么是隐藏的。

例如,这个脚本:

#!/bin/sh

mkdir -p .dot/.dot .dot/nodot nodot/.dot nodot/nodot
du -h

在我的系统上产生这个输出(具体数字取决于文件系统的性质,与当前的讨论无关):

4.0K    ./.dot/.dot
4.0K ./.dot/nodot
12K ./.dot
4.0K ./nodot/.dot
4.0K ./nodot/nodot
12K ./nodot
32K .

这是否符合您的要求?如果没有,你能更清楚地解释你在找什么吗?您要列出所有 目录,无论它们的名称是否以. 开头?您只想列出“隐藏”目录吗?对于上述脚本创建的目录结构,您希望得到什么输出?

关于linux - 如何在shell中访问以句点 '.'开头的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8462023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com