私は知っていますすべては文書です(Wikipedia)。私は、ファイルの権限を調べながら、ディレクトリファイル形式を通常の一般的なファイル形式に変更することが可能かどうか疑問に思いました。
たとえば、
mkdir directory
そしてtouch file
次の内容が表示されます。
drwxr-xr-x 2 user group 4096 Aug 18 22:26 directory
-rw-r--r-- 1 user group 0 Aug 18 22:26 file
directory
Linux(またはUnix)の世界でに変換することは可能ですかfile
?つまり、d
?drwxr-xr-x
答え1
d
権限ではなくファイル形式です。過去のUnixファイルシステムの実装では、タイプと権限が16ビットにバンドルされました。mode
iノードドメイン1、これがおそらくstat(2)
API(st_mode
フィールド)とls
長い出力も一緒に結ぶ理由です。
ただし、種類は変更できません。元のディレクトリデータは通常のファイルと同じ方法で保存されており、ユーザースペースに不透明ではありませんでしたが、現在は特定のシステムコールを使用してコンテンツを読み取るか、アイテムを追加/削除/名前変更するために直接コンテンツを読み書きするのではなく、ディレクトリ)、いくつかのファイルシステムでは、ディレクトリデータがファイルとは異なる方法で保存されるため、型を変更する方がはるかに意味がありません。
¹低12ビット特権、より高いビットエンコーディングタイプ、より多くの内部FS関連エントリなどi_flag
V7から別の新しいフィールドに移動1970年代後半。