「ls -li」の動作をシミュレートする関数を C で作成しているため、ファイルまたはディレクトリが表示されないために隠されているかどうかを知る必要があります。
ありがとうございました
慣例により、隠しファイルはドット (.) で始まります。ls -a で表示されます。しかし、通常の ls はそうではありません。最新のファイル システムには、ファイルを非表示にできる拡張属性 (xttr) があります。ここに例があります http://man7.org/tlpi/code/online/dist/xattr/xattr_view.c.html
通常、隠しファイルには.
名前の先頭に a が付きます。
ファイル名の最初の文字が.
;かどうかを確認します。その場合、それは.
隠しファイルであり、そのファイルは表示されません。
char *filenames[10];
for (int i = 0; i < 10; i++)
if (filenames[i][0] != '.')
// Display filename
ファイル名の最初の文字がドットかどうかを確認します。で始まるファイル名.
は、慣例により、Unix では「非表示」と見なされます。つまりls
、表示される-a
か-A
表示されないという意味です。