知っておくとちょっと便利!Linux の拡張子について

今号では、Linux における「拡張子」の取り扱いについて説明します!

Linux での「拡張子」の役割とは

「拡張子」とは、ファイルの種類を分かりやすく判断するための仕組みであり、ファイルの末尾に付けられる文字のことです。

例えば Windows の場合、.exe は実行ファイル、.txt はテキストファイル、となっています。この、あらかじめ決められている拡張子を他のものに変えてしまうと、そのファイルを開いたり実行できなくなるなどの問題が発生します。

しかし、Linux の場合は「ファイルヘッダ」というファイルの情報を読み取り、どのようなファイルであるかを判断しています。そのため、拡張子がなくてもどのようなファイルかを判別できます。

とはいえ…システム的にはすぐにファイルを判別できても、人間はそうはいきませんよね。そこで、Linux でも Windows と同様にファイルに拡張子を付けることで、どのようなファイルかを判別しやすくしているのです。

Linux で使われる拡張子

Linux でよく使用される拡張子と、その内容についてご紹介します。

スクリプト系

  • .sh
    シェルスクリプト。Linux のコマンドや、if文、for文などの制御構文から構成される。
  • .py
    Python で実装されたスクリプト。

他にも様々なスクリプト言語があり、それによって拡張子も様々です。

設定ファイル系

  • .conf
    アプリケーション、システムの設定ファイル。
  • .cfg
    GRUB (ブートローダー) などに使用される、独自の書式を持つ設定ファイル。
  • .yaml、.yml
    コンテナ関連や Ansible で使用される設定ファイル。

設定ファイルは、主に /etc ディレクトリ配下に配置されます。

パッケージ、リポジトリ系

  • .rpm
    RHEL 系 OS で使用される、ソフトウェアのパッケージファイル。
  • .repo
    RHEL 系 OS で使用される、リポジトリの設定ファイル。

.rpm ファイルは、yum / dnf コマンドでダウンロードした場合 /var/cache/yum や /var/cache/dnf ディレクトリ配下に一時的に保存されます。

.repo ファイルは、通常 /etc/yum.repos.d ディレクトリ配下に配置されます。

システム管理系

  • .service
    サービス (インストール済みのプログラム) の起動、停止などを定義するファイル。
  • .timer
    プログラムの定期実行を定義するファイル。
  • .target
    「マルチユーザーモード」や「グラフィカルモード」など、システムの起動状態をグループ化するためのファイル。

鍵・証明書系

  • .pem
    秘密鍵や証明書の情報を格納する、テキストベースのファイル。
  • .crt
    SSL/TLS の証明書ファイル。
  • .key
    SSL/TLS の秘密鍵ファイル。
  • .pub
    SSH の公開鍵ファイル。

その他

  • .log
    ログファイル。
  • .tar
    アーカイブファイル。
  • .tar.gz
    圧縮アーカイブファイル。

補足事項

file コマンドでファイルの形式を表示する

file コマンドを使用すると、指定したファイルの形式を表示します。
私は、このファイルはテキスト?バイナリ?どちらなのか?を確認するのに使ったりします。

# file text.txt # テキストファイル
text: ASCII text

# file archivefile.gz # アーカイブファイル
archivefile: gzip compressed data, was "test.txt", last modified: Mon Feb  9 00:40:33 2026, from Unix, truncated

# file /var/log/messages # ログファイル
/var/log/messages: UTF-8 Unicode text, with very long lines

※file コマンドは、あくまでファイルの形式を表示するためのものです。

例えば、.conf ファイルや .service ファイルはいずれもテキスト形式で保存されているため、file コマンドで確認すると ASCII text という結果が返ってきます。
「これは設定ファイル」「これはサービスファイル」という、具体的なファイルの種類については判別できませんので注意してください。

拡張子を変更した場合、各ファイルは認識されるのか

結論から言いますと、ちゃんと認識されます。
例えば .sh ファイルを .txt に変えても、シェルスクリプトとして実行できます (ただし実行権限は必要)。

ただし、GUI (デスクトップ環境) を利用している場合は Windows と同様に拡張子とアプリケーションが紐付けられている場合があるため、注意が必要です。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。
エンジニア募集中!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です