JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... 書式 In magic.h Ft magic_t Fn magic_open int flags Ft void Fn magic_close magic_t cookie Ft const char * Fn magic_error magic_t cookie F ... t int Fn magic_errno magic_t cookie Ft const char * Fn magic_file magic_t cookie, const char *filename Ft const char * Fn magic_buffer ma ... gic_t cookie, const void *buffer, size_t length Ft int Fn magic_setflags magic_t cookie, int flags Ft int Fn magic_check magic_t cookie, const char *filename Ft int Fn magic_compile magi ... ... WORD_TYPE f_frsize; /* フラグメントサイズ (Linux 2.6 以降) */ __SWORD_TYPE f_spare[5]; }; ファイルシステムの型: ADFS_SUPER_MAGIC 0xadf5 AFFS_SUPER_MAGIC 0xADFF BDEVFS_MAGIC 0x62646576 BEFS_SUPER_MAGIC 0x42465331 BFS_MAGIC 0x1BADFACE BINFMTFS_MAGIC 0x4 ... 2494e4d BTRFS_SUPER_MAGIC 0x9123683E CGROUP_SUPER_MAGIC 0x27e0eb CIFS_MAGIC_NUMBER 0xFF534D42 CODA_SUPER_MAGIC 0x73757245 COH_SUPER_MAGIC 0x012FF7B7 ... CRAMFS_MAGIC 0x28cd3d45 DEBUGFS_MAGIC 0x64626720 DEVFS_SUPER_MAGIC 0x1373 DEVPTS_SUPER_MAGIC 0x1cd1 EFIVARFS_MAGIC 0xde5e81e4 EFS_SUPER ... ... WORD_TYPE f_frsize; /* フラグメントサイズ (Linux 2.6 以降) */ __SWORD_TYPE f_spare[5]; }; ファイルシステムの型: ADFS_SUPER_MAGIC 0xadf5 AFFS_SUPER_MAGIC 0xADFF BDEVFS_MAGIC 0x62646576 BEFS_SUPER_MAGIC 0x42465331 BFS_MAGIC 0x1BADFACE BINFMTFS_MAGIC 0x4 ... 2494e4d BTRFS_SUPER_MAGIC 0x9123683E CGROUP_SUPER_MAGIC 0x27e0eb CIFS_MAGIC_NUMBER 0xFF534D42 CODA_SUPER_MAGIC 0x73757245 COH_SUPER_MAGIC 0x012FF7B7 ... CRAMFS_MAGIC 0x28cd3d45 DEBUGFS_MAGIC 0x64626720 DEVFS_SUPER_MAGIC 0x1373 DEVPTS_SUPER_MAGIC 0x1cd1 EFIVARFS_MAGIC 0xde5e81e4 EFS_SUPER ... ... WORD_TYPE f_frsize; /* フラグメントサイズ (Linux 2.6 以降) */ __SWORD_TYPE f_spare[5]; }; ファイルシステムの型: ADFS_SUPER_MAGIC 0xadf5 AFFS_SUPER_MAGIC 0xADFF BDEVFS_MAGIC 0x62646576 BEFS_SUPER_MAGIC 0x42465331 BFS_MAGIC 0x1BADFACE BINFMTFS_MAGIC 0x4 ... 2494e4d BTRFS_SUPER_MAGIC 0x9123683E CGROUP_SUPER_MAGIC 0x27e0eb CIFS_MAGIC_NUMBER 0xFF534D42 CODA_SUPER_MAGIC 0x73757245 COH_SUPER_MAGIC 0x012FF7B7 ... CRAMFS_MAGIC 0x28cd3d45 DEBUGFS_MAGIC 0x64626720 DEVFS_SUPER_MAGIC 0x1373 DEVPTS_SUPER_MAGIC 0x1cd1 EFIVARFS_MAGIC 0xde5e81e4 EFS_SUPER ... ... WORD_TYPE f_frsize; /* フラグメントサイズ (Linux 2.6 以降) */ __SWORD_TYPE f_spare[5]; }; ファイルシステムの型: ADFS_SUPER_MAGIC 0xadf5 AFFS_SUPER_MAGIC 0xADFF BDEVFS_MAGIC 0x62646576 BEFS_SUPER_MAGIC 0x42465331 BFS_MAGIC 0x1BADFACE BINFMTFS_MAGIC 0x4 ... 2494e4d BTRFS_SUPER_MAGIC 0x9123683E CGROUP_SUPER_MAGIC 0x27e0eb CIFS_MAGIC_NUMBER 0xFF534D42 CODA_SUPER_MAGIC 0x73757245 COH_SUPER_MAGIC 0x012FF7B7 ... CRAMFS_MAGIC 0x28cd3d45 DEBUGFS_MAGIC 0x64626720 DEVFS_SUPER_MAGIC 0x1373 DEVPTS_SUPER_MAGIC 0x1cd1 EFIVARFS_MAGIC 0xde5e81e4 EFS_SUPER ... ... バイナリデータを含んでいる良く知られた形式のフォーマット (core ファイル、tar アーカイブなど) は例外である。 /usr/share/file/magic ファイルや file プログラム自身を変更する場合も、 これらのキーワードは変更しないこと 。 人々は、ディレクトリ内の読み取り可能 ... y がかつてやったように、 ``shell commands text'' を ``shell script'' に変更したりしてはいけない。 ファイル /usr/share/file/magic は、このプログラムのソースディストリビューションのサブディレクトリ Magdir にある数多くの小さなファイルから機械的に作られて ... ルは、 通常はこの方法で記述できる。 これらのファイルについての情報識別子は、コンパイルされたマジックファイル /usr/share/file/magic.mgc から読み込まれる。 このコンパイルされたファイルがない場合は、 /usr/share/file/magic から読み込まれる。 更に file は $H ... ... の書式を説明する。 ファイルの種類を調べる方法は色々あるが、 file コマンドはファイルが特定の 「マジックナンバー (magic number)」 で始まるかどうかによってファイルの種類を識別する。 ファイル /usr/share/file/magic で指定することは、調べるべきマ ... ジックナンバー、 特定のマジックナンバーが見つかった時に表示するメッセージ、 ファイルから取り出せるその他の情報である。 magic ファイルの各行では実行するテストを指定する。 テストでは、ファイル先頭から見て特定のオフセット位置にあるデータと、 1 バイト ... ァイル中の複数個の空白を 1 個の空白に切り詰めて扱う。 この場合、対象ファイルは少なくとも 1 個の空白を含んでいる必要がある。 magic ファイルに n 個の連続した空白がある場合、 対象ファイルには、これにマッチする n 個の連続した空白が必要となる。 ``b''フラグは ... ... 9. 例 The program below demonstrates the use of fread () by parsing /bin/sh ELF executable in binary mode and printing its magic and class: $ ./a.out ELF magic: 0x7f454c46 Class: 0x02 プログラムのソース #include < stdio.h > #include < stdlib.h > #defi ... ffer), fp); if (ret != sizeof(*buffer)) { fprintf(stderr, "fread() failed: %zu\n", ret); exit(EXIT_FAILURE); } printf("ELF magic: %#04x%02x%02x%02x\n", buffer[0], buffer[1], buffer[2], buffer[3]); ret = fread(buffer, 1, 1, fp); if (ret != 1) { fprintf ... ... 9. 例 The program below demonstrates the use of fread () by parsing /bin/sh ELF executable in binary mode and printing its magic and class: $ ./a.out ELF magic: 0x7f454c46 Class: 0x02 プログラムのソース #include < stdio.h > #include < stdlib.h > #defi ... ffer), fp); if (ret != sizeof(*buffer)) { fprintf(stderr, "fread() failed: %zu\n", ret); exit(EXIT_FAILURE); } printf("ELF magic: %#04x%02x%02x%02x\n", buffer[0], buffer[1], buffer[2], buffer[3]); ret = fread(buffer, 1, 1, fp); if (ret != 1) { fprintf ... ... プリケーションもこれらのルールに準拠し、 可能な限りユーザーインターフェースが一貫したものになるようにすることが重要である。 Magic links There is a special class of symbolic-link-like objects known as "magic links", which can be found in certain pseudof ... ilesystems such as proc (5) (examples include /proc/[pid]/exe and /proc/[pid]/fd/* ). Unlike normal symbolic links, magic links are not resolved through pathname-expansion, but instead act as direct references to the kernel's own representation ... of a file handle. As such, these magic links allow users to access files which cannot be referenced with normal paths (such as unlinked files still referenced by ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。