No.025ファイルとフォルダ

touch

タッチ・タイムスタンプ更新・空ファイル作成

知識レベル 入門安全に試せる一般ユーザーで使える

ファイルのアクセス時刻や更新時刻を変更します。対象が存在しなければ空ファイルを作成できるため、初期化、生成物の用意、ビルドや自動化の補助でもよく使われます。

答えよく使う形

  1. 存在しないファイルを空で作成します
  2. 同じファイルへ再実行すると、サイズは変えずに時刻だけが更新されます
  3. 対象が存在しない場合でも新規作成しません
visitor@goodly: ~

$ touch demo.txt ls -l demo.txt

-rw-r--r-- 1 user user 0 4月 9 12:00 demo.txt

$ sleep 1 touch demo.txt ls -l demo.txt

-rw-r--r-- 1 user user 0 4月 9 12:00 demo.txt

$ touch sample.txt

覚える順番の中で30 コマンド・6 駅め / 30LPIC-1・3 駅め / 106

どんなコマンド?

こんなときに

存在確認用の空ファイルを作りたい時、生成物の作成日時を更新したい時、比較用に複数ファイルの時刻をそろえたい時、ビルドや自動化の動作確認で時刻依存の処理を再現したい時に使います。

touchは、ファイルのアクセス時刻と更新時刻を変更するためのコマンドです。最もよく使われるのは「存在しないなら空ファイルを作る」「既存ファイルの更新時刻だけを現在時刻へ進める」という二つの使い方です。シェルスクリプト、ビルド手順、検証手順、バックアップの確認など、幅広い場面で登場します。

Linuxでは多くの道具が更新時刻を手がかりに処理順や差分を判断します。そのためtouchは単なる空ファイル作成ではなく、時刻情報を明示的に操作する道具として理解すると実務で役立ちます。たとえば監視用の存在確認ファイルを置く、デプロイ済みマーカーを作る、比較用に基準時刻をそろえる、といった用途があります。

一方で、時刻を意図的に書き換えると、調査時に「いつ変更されたか」の手がかりを弱めることがあります。ログや設定ファイル、証跡として重要なファイルに対して安易に使うと、後から判断材料を失う原因になります。何のために時刻を変えるのかを明確にしたうえで使うことが重要です。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ touch

使用例と実行結果

行を押すとコピーできます。

-rw-r--r-- 1 user user 0 4月 9 12:00 demo.txt
存在しないファイルを空で作成します。
-rw-r--r-- 1 user user 0 4月 9 12:00 demo.txt
同じファイルへ再実行すると、サイズは変えずに時刻だけが更新されます。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

ゲームで確かめる

つまずいたとき

設定ファイルを作るつもりが空ファイルだけできてしまった

原因存在しない対象へtouchを実行したため、空ファイルが作成されました。

こうする内容を作る処理と存在確認を分け、必要ならtouch -cで新規作成を防ぎます。

時刻をそろえたつもりなのに期待通りにならない

原因参照元の選択や日時文字列の解釈が意図とずれています。

こうするtouch -rで参照元を明示し、必要に応じてstatで変更後の値を確認します。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。時刻変更または空ファイル作成に成功しました。
  • >0権限不足、対象不正、日時指定の解釈失敗などで処理できませんでした。

気をつけることと入れ方

気をつけること

危険度は低めですが、証跡として使われる時刻情報を人為的に変えるため、運用手順と無関係に使うべきではありません。特に障害調査中や差分確認中に不用意に実行すると、本来の更新順序が分かりにくくなります。

また、存在しない対象に対して何も考えずにtouchすると、空ファイルが新規作成されます。設定ファイルや入力データを期待している処理系では、「中身があるはずのファイル」が空のまま存在する状態を作ってしまい、別の不具合につながることがあります。

環境による違い

POSIXではtouchが標準化されており、時刻変更と空ファイル作成の基本動作は広く共通しています。GNU実装では-dや-hなどの拡張があり、日時指定やシンボリックリンクへの扱いが豊富です。

実装差として注意したいのは、日時文字列の解釈とシンボリックリンクへの時刻変更です。GNU系では人が読みやすい日時文字列を扱いやすい一方、最小構成環境では利用できる指定方法が限られることがあります。

確かめた環境2026-04-09 に確認

よくある質問

touchは必ず空ファイルを作りますか。

いいえ。対象が既に存在する場合は中身を変えず、通常は時刻だけを更新します。

中身を書かずに作成日時だけ整えたい時にも使えますか。

はい。存在しないファイルの作成や既存ファイルの時刻調整に向いています。

資格試験では

  • LinuC レベル1大事1.02.2 基本的なファイル管理の実行touchは、LinuCレベル1の基本的なファイル管理を理解するうえで重要なコマンドです。
  • LPIC-1大事103.3 基本的なファイル管理の実行touchは、LPIC-1のファイルとディレクトリの基本操作に関わる代表的なコマンドです。
  • 共通基礎大事Linuxコマンド基礎

touch を最後まで読みました。

Linux コマンド辞典に戻る122 / 144

Goodly のメニュー