Linux, コマンド · 1 min read · Sep 20, 2025

初心者のためのLinux testコマンドチュートリアル(例付き)

Linuxコマンドラインで作業していると、整数値やファイルが特定のタイプであるかどうかなど、特定のことをテストしたくなることがあります。これらの比較やテストのほとんどを行うために使用できる組み込みのtestコマンドラインユーティリティがあります。

このチュートリアルでは、このツールの基本をわかりやすい例を交えて説明します。しかし、その前に、この記事のすべての例はUbuntu 22.04 LTSでテストされていることを述べておくべきです。

Linux testコマンド

前述のように、testコマンドはチェックと比較を行うために使用されます。以下がその構文です:

test EXPRESSION

そして、manページにはこのユーティリティについて次のように記載されています:

test - ファイルタイプをチェックし、値を比較します

以下は、このツールがどのように機能するかを理解するのに役立つQ&Aスタイルの例です。

注意:testが提供するコマンドラインオプションのいくつかは、シェルスクリプト内で使用する場合に最も便利です。

Q1. 2つの文字列を比較するには?

簡単です。2つの文字列の間に等号(=)を使用するだけです。例えば:

test howto = forge

より良い方法は、次のように書くことです:

test howto = forge && echo "same"

したがって、文字列が同じであれば、「same」という単語が出力に表示され、そうでなければ何も表示されません。

同様に、不等号をテストしたい場合は、次のテンプレートを使用できます。

STRING1 != STRING2

Q2. testを使用して整数を比較するには?

これも非常に簡単です。’-eq’を使用して比較するだけです。例えば:

test 5 -eq 7 && echo "same"

以下は、このコマンドラインオプションがどのように機能するかを示すスクリーンショットです:

同様に、’ -ge ‘を使用して「以上」をテストし、’ -gt ‘を使用して「より大きい」、’ -le ‘を使用して「以下」、’ -lt ‘を使用して「より小さい」、および’ -ne ‘を使用して「等しくない」をテストできます。

Q3. testを使用してファイルをテスト/比較するには?

2つのファイルのどちらが新しいかをテストするには、’-nt’を使用します。例えば:

test file1 -nt file2

以下は、私のシステムでどのようにテストしたかです:

他に実行できるファイル比較には、2つのファイルのどちらが古いかを確認する(-ot)ことや、2つのファイルが同じデバイスおよびinode番号を持っているかどうかを確認する(-ef)ことが含まれます。

特定のファイルがディレクトリであるかどうかを確認するには、次のように-dオプションを使用します:

test -d [filename]

例えば:

test -d new_dir

以下は、’test’コマンドが提供する他のファイルタイプテストオプションです:

testコマンド使用の結果

Q4. testコマンドはシンボリックリンクをどのように処理しますか?

testコマンドはシンボリックリンクを解決しますが、いくつかの例外があります。以下はmanページに記載されている内容です:

-hおよび-Lを除いて、すべてのFILE関連のテストはシンボリックリンクを解決します。

もしご存じない場合、-hと-Lはファイルが存在し、シンボリックリンクであるかどうかを確認します。したがって、これらの除外は理にかなっていますよね?

結論

testコマンドは多くのオプションを提供しますが、広く言えば、これらを3〜4つのカテゴリにまとめることができます。各カテゴリの例を提供しましたので、これらを試してみてください。そして、完了したら、ユーティリティのmanページにアクセスしてさらに情報を得てください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。