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

初心者のためのLinux touchコマンドチュートリアル(6つの例)

時々、Linuxのコマンドラインで作業していると、新しいファイルを作成したい場合があります。また、ファイルのタイムスタンプを変更する必要がある場合もあります。これらのシナリオの両方で使用できるユーティリティがあります。そのツールはtouchであり、このチュートリアルでは、わかりやすい例を通じてその基本的な機能を理解します。

ここで使用するすべての例は、Ubuntu 22.04マシンでテストされています。

Linux Touchコマンド

touchコマンドは主にファイルのタイムスタンプを変更するために使用されますが、引数として渡されたファイルが存在しない場合は、そのファイルを作成します。

以下はコマンドの一般的な構文です:

touch [OPTION]... FILE...

そして、manページはこのコマンドを次のように説明しています:

DESCRIPTION  
       各FILEのアクセスおよび変更時刻を現在の時刻に更新します。存在しないFILE引数は空の状態で作成されます。-cまたは-hが指定されていない限り。-のFILE引数文字列は特別に処理され、touchが標準出力に関連付けられたファイルの時刻を変更する原因となります。

以下のQ&A形式の例は、このツールがどのように機能するかをより良く理解するのに役立ちます。

1. touchコマンドを使用してアクセス/変更時刻を変更する方法

これはシンプルで非常に簡単です。既存のファイルを例に取りましょう。以下のスクリーンショットは’apl.c’というファイルのアクセスおよび変更時刻を示しています。

ファイルのアクセスおよび変更時刻を変更するためにtouchコマンドを使用する方法は次のとおりです:

touch apl.c

以下のスクリーンショットは、これらのタイムスタンプの変更を確認しています。

2. アクセスまたは変更時刻のみを変更する方法

デフォルトでは、touchコマンドは入力ファイルのアクセス時刻と変更時刻の両方を変更します。ただし、必要に応じて、この動作をこれらのタイムスタンプのいずれかに制限することができます。つまり、アクセス時刻を変更するか、変更タイムスタンプを変更するかのいずれかです。

アクセス時刻のみを変更したい場合は、-aコマンドラインオプションを使用します。

touch -a [filename]

同様に、変更時刻のみを変更する必要がある場合は、-mコマンドラインオプションを使用します。

touch -m [filename]

3. touchが既存ファイルのアクセス/変更時刻を使用するようにする方法

必要に応じて、touchコマンドに参照ファイルからアクセスおよび変更タイムスタンプをコピーさせることもできます。たとえば、’apl.c’というファイルのタイムスタンプを変更したいとします。このファイルの現在のタイムスタンプは次のとおりです:

そして、touchが参照として使用するファイルは次のとおりです:

今、touchが’apl’のタイムスタンプを’apl.c’に使用するには、次のように-rコマンドラインオプションを使用する必要があります:

touch apl.c -r apl

上記のスクリーンショットは、’apl.c’の変更およびアクセスタイムスタンプが’apl’のものと同じになったことを示しています。

4. touchを使用して新しいファイルを作成する方法

新しいファイルを作成するのも非常に簡単です。実際、touchコマンドに引数として渡したファイル名が存在しない場合は、自動的に作成されます。たとえば、’newfile’という名前のファイルを作成するには、次のtouchコマンドを実行するだけです:

touch newfile

5. touchが新しいファイルを作成しないように強制する方法

touchコマンドが新しいファイルを作成しないという厳格な要件がある場合は、-cオプションを使用できます。

touch -c [filename]

以下のスクリーンショットは、’newfile12’が存在しなかったため、-cコマンドラインオプションを使用したため、touchコマンドがファイルを作成しなかったことを示しています。

6. シンボリックリンクの場合のtouchの動作

デフォルトでは、touchコマンドにシンボリックリンクファイル名を渡すと、アクセスおよび変更タイムスタンプの変更は元のファイル(シンボリックリンクが参照するファイル)に対して行われます。ただし、この動作をオーバーライドするオプション(-h)も提供されています。

manページは-hオプションを次のように説明しています:

-h, --no-dereference  
              参照されたファイルではなく、各シンボリックリンクに影響を与えます(シンボリックリンクのタイムスタンプを変更できるシステムでのみ有用です)

したがって、シンボリックリンクの変更およびアクセスタイムスタンプを変更したい場合は、次のようにtouchコマンドを使用します:

touch -h [sym link file name]

結論

ご同意いただけるように、touchは理解しやすく、使用するのが難しいコマンドではありません。このチュートリアルで説明した例/オプションは、ツールの使用を開始するのに十分であるはずです。初心者は主に新しいファイルを作成するためにこのユーティリティを使用することになりますが、より経験豊富なユーザーは他の目的でもこのツールを使って遊ぶことができます。touchコマンドの詳細については、そのmanページをご覧ください。もう一つ興味深いコマンドはteeコマンドです。

Share: X/Twitter LinkedIn

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

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