如何以句点'''访问文件.在壳中

Amu*_*umu 5 linux shell

可以使用反斜杠字符\来区分特殊字符.但是,我想将完整句点视为正常字符来操作隐藏文件夹.例如:

ls -lh .

它将列出当前目录.但是,我想列出所有隐藏文件夹.我希望它可用du -h,所以我知道隐藏文件夹消耗的磁盘空间.

Kei*_*son 8

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

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

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

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

编辑:

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

例如,这个脚本:

#!/bin/sh

mkdir -p .dot/.dot .dot/nodot nodot/.dot nodot/nodot
du -h
Run Code Online (Sandbox Code Playgroud)

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

4.0K    ./.dot/.dot
4.0K    ./.dot/nodot
12K     ./.dot
4.0K    ./nodot/.dot
4.0K    ./nodot/nodot
12K     ./nodot
32K     .
Run Code Online (Sandbox Code Playgroud)

这符合您的要求吗?如果没有,你能更清楚地解释一下你在寻找什么吗?是否要列出所有目录,无论其名称是否以.?您是否只想列出"隐藏"目录?您希望上述脚本创建的目录结构有什么输出?