「奇妙なファイル」とは何ですか?


38

私が使用しているアプリケーションは、このユーザーメッセージで開始されません。 [Errno 13] Permission denied: '/home/sleblanc/.config/app/.config

を使用するlsと、ファイルは次のように表示されました。

?--------- 1 root root     0 Dec 31  1969 .config

ファイルでstatを実行すると、次のことがわかります。

% stat .config
  File: .config
  Size: 0           Blocks: 0          IO Block: 4096   weird file
Device: 2dh/45d Inode: 9799944     Links: 1
Access: (0666/?rw-rw-rw-)  Uid: ( 1000/     sleblanc)   Gid: ( 1000/         sleblanc)
Access: 1969-12-31 19:00:00.000000000 -0500
Modify: 1969-12-31 19:00:00.000000000 -0500
Change: 2018-04-07 23:40:22.549653691 -0400

最も驚くべきことは、この「奇妙なファイル」の言及です。

奇妙なファイルとは何ですか?


何をstat -c '%f' .config印刷しますか?(4桁の16進数を取得する必要があります。)また、何をstat -f .config印刷しますか?(これは、.config。を含むファイルシステムに関する情報を報告します。)
zwol

4
ファイルの所有者/グループのルートはIDゼロです。これは、メタデータの一部がゼロ化されたという@peterhの仮定をサポートしています。
CSM

eCryptfsを使用していますか?
カスペルド

回答:


39

(... GNUを仮定)の場合は、statそれが(ディレクトリ、(空の)通常のファイル、リンク、ソケット、...)で入力する内容伝えることができなかった、それは述べていますweird file。私はファイルシステムの破損を推測し、提案しfsckます。


2014年には、GNU coreutilsに追加の認識されるファイルタイプが追加されました。したがって、バージョンがそれよりも古い場合、何らかの特別な状況では妥当なファイルになる可能性がありますが、アプリはその構成を通常のファイルに保存する可能性が高くなります。


ただし、一部のソフトウェアは、.configという名前の奇数タイプのソケットまたはリンクを使用する場合があります
...-rackandboneman

1
stat私のシステムのGNU coreutilsの@rackandboneman は、ソケットをsocket。シンボリックリンクはとして報告されsymbolic linkます。ハードリンクは「通常の」ファイルと見分けがつかずregular file、リンク数が1を超えることを除いて、(それが何であるかと)報告されます。
CVn

「奇妙な型の」-私は、Cコードのその超冗長セクションにある他の数十のソケット型またはリンク型に言及していました(文字列の配列をファイル型番号でインデックス付けするだけの理由は確かにありません。 ..推測...):)
rackandboneman

@rackandboneman Base POSIXは、stat構造体から「ファイルタイプ番号」を抽出する方法を提供せず、S_ISxxx()マクロのみを提供します。一部のUnixは、それを行う方法を含む一連の「XSI」拡張機能を提供していますが、coreutilsはXSIに依存しないようにしようとしています。
zwol

ああ、[OK。私はcoreutilsをGNU / Linux中心であると
誤解
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.