我在 C 中创建一个模拟“ls -li”行为的函数,所以我必须知道文件或目录是否因不显示而被隐藏。
谢谢
按照惯例,隐藏文件以点 (.) 开头。ls -a 将显示它们。但正常的 ls 不会。现代文件系统具有可以隐藏文件的扩展属性 (xttr)。这是一个示例 http://man7.org/tlpi/code/online/dist/xattr/xattr_view.c.html
通常,隐藏文件.
的名称开头有一个。
检查文件名的第一个字符是否为.
; 如果是,.
那么这是一个隐藏文件,您将不会显示该文件。
char *filenames[10];
for (int i = 0; i < 10; i++)
if (filenames[i][0] != '.')
// Display filename
检查文件名的第一个字符是否为点。在.
Unixls
中-a
,以-A