JP Coders

Published on

拡張子のないファイルが何ファイルなのか知りたい場合に使えるコマンド

LinuxパソコンやサーバーのBashコマンドラインで、拡張子のないファイルが何のファイルなのか知りたい場合に使えるコマンドを紹介します。

背景

SQLiteデータベースファイルは拡張子がない場合がよくあります。先日、Google\Chrome\User Data\Defaultフォルダの中からHistoryファイルをいじる機会がありましたが、「このファイルはSQLiteなんだろうけど、拡張子がないのにどうやってSQLiteファイルだって分かるのだろうか?」と疑問に思いました。

SQLiteファイルであると判別できれば、DB Browser for SQLiteのようなビューワーソフトウェアで簡単に開くことができます。しかし、拡張子がないと何のファイルか分からず、開くのをためらってしまいますよね。

コマンドの紹介

Linuxには、拡張子がないファイルに対して、そのファイルがどういったファイルなのかを教えてくれる便利なコマンドがあります。それが file コマンドです。

以下に具体例を示します。

例1: Historyファイルの判別

$ ls History
16888498605221144 -rwxrwxrwx 1 user user 27000832 Mar 24 09:45 History

$ file History
History: SQLite 3.x database

この例では、History ファイルがSQLite 3.xデータベースファイルであることが分かります。

例2: Bookmarksファイルの判別

$ ls Bookmarks
11540474047715538 -rwxrwxrwx 1 user user 2057085 Mar 24 09:25 Bookmarks

$ wc Bookmarks
  39250   97271 2057085 Bookmarks

$ file Bookmarks
Bookmarks: UTF-8 Unicode text, with very long lines, with CRLF line terminators

$ head Bookmarks
{
   "checksum": "48fd3028..e870260",
   "roots": {
      "bookmark_bar": {
         "children": [ {
            "children": [ {
               "children": [ {
                  "date_added": "13132775602996953",
                  "id": "2782",

この例では、Bookmarks ファイルがUTF-8 Unicodeテキストであることが分かります。

まとめ

拡張子がないファイルの種類を判別するには、Linuxの file コマンドが非常に有用です。このコマンドを使用することで、ファイルの内容に応じた適切なソフトウェアでファイルを開くことが容易になります。是非活用してみてください。

Authors
  • avatar
  • Name
  • 情報技術者 / Z世代プログラマー / 米大学院にてデータサイエンスを学ぶ

  • ITプロフェッショナルとして活動しています。React.js等のモダンなウェブ制作・アプリ開発を得意としており、Java・Python・Rust等のプログラミング言語を用いたソフトウェア開発全般を行っています。

お手伝いできますか? 🤝

他の方法でのご連絡をご希望ですか?
web制作ご依頼受付中

本記事で掲載している情報やコードは執筆時点のものであり、動作を保証するものではありません。 自己責任のもと、プログラムの実行や情報の利用にあたってはご注意ください。


本記事には提携する企業の広告が含まれる場合があります。