Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

fileコマンドの判定方法@CentOS 5.4

      2013/07/15

あるファイルが何のファイルかを判別するためのコマンドfileコマンドがありますが、どうやって調べているのかというと、

  • デバイスファイルやディレクトリ、シンボリックリンクなどの特別なファイルかどうか
  • 圧縮ファイルかどうか
  • magicファイルに基づいての判定
  • テキストファイルの種別判定

といった順番で判定しているようです。ここでいうmagicファイルとは、/usr/share/misc/magic ファイルのことで、判定条件が書かれています。例えば、以下のような記述の場合。

 # updated by Daniel Quinlan (quinlan@yggdrasil.com)
0       string          \177ELF         ELF
>4      byte            0               invalid class
>4      byte            1               32-bit
>4      byte            2               64-bit

先頭から0バイト目に\177ELFがあればELFファイル。”>” は続けての意味で、続けて先頭から4バイト目が0ならばinvalid class、1ならば32-bit、2ならば64-bitという意味で書かれています。

実際にodコマンドで/bin/lsを表示してみると、先頭がELFで4バイト目が2になっているので、ELFファイルで64bitだとわかります。(※今回は64bit OSを使用しています)

# od -c /bin/ls
0000000 177   E   L   F 002 001 001  \\0  \\0  \\0  \\0  \\0  \\0  \\0  \\0  \\0
0000020 002  \\0   >  \\0 001  \\0  \\0  \\0   `   $   @  \\0  \\0  \\0  \\0  \\0
0000040   @  \\0  \\0  \\0  \\0  \\0  \\0  \\0 250   \\ 001  \\0  \\0  \\0  \\0  \\0
以下省略

 - IT技術 , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
sendip

ネットワークのテストをしたいとき、任意のパケットを送出したい場合があります。Wi …

no image
Linuxで汎用マウスジェスチャ@Fedora 14 with KDE

Windows では strokeit という汎用のマウスジェスチャをずっと使っ …

no image
vimで検索語をハイライトする@さくらインターネット

普通vimで検索すると、検索語がハイライトされるのですが、さくらインターネットに …

no image
Googleの検索結果に近所の情報が表示される件

いつ頃からか、Googleで普通に検索すると、近所の情報が表示されるようになりま …

no image
電池使用状況@Galaxy S

電池の持ちが悪いときは、端末の情報を覗いてみると何かわかるかもしれません。 以下 …

no image
blu-rayの再生でちらつく@Acer AS 1410 with PowerDVD 10 on Windows 7

Acer AS 1410 で blu-ray を再生してみました。 blu-ra …

no image
Google Plublic DNS

Google が提供しているパブリックDNSサービス。名前解決が早くなり、インタ …

no image
リモートデスクトップサーバ構築@Ubuntu 14.04 LTS

Ubuntu 14.04.2 LTS (Cloud-image版)に、リモートデ …

no image
Date型@EntityBean

EntityBeanからDate型にマッピングしたデータを取り出した場合、jav …

no image
screenコマンド@cygwin with ck

cygwinのターミナルck上でscreenを使用しようとすると、デタッチ後にア …