touch – ファイルのタイムスタンプを変更・新規作成するコマンド

生成・削除
スポンサーリンク

touch コマンドは、ファイルのアクセス時刻・更新時刻を変更 するためのコマンドです。
存在しないファイルを指定した場合は、空ファイルとして新規作成することもできます。

構文(Syntax)

touch [オプション] ファイル...

主なオプション一覧

オプション説明使用例
(なし)存在する場合はタイムスタンプ更新、なければ空ファイル作成touch file.txt
-c / --no-create新規作成せず、既存ファイルがある場合のみタイムスタンプ変更touch -c file.txt
-aアクセス時刻(atime)のみ更新touch -a file.txt
-m更新時刻(mtime)のみ更新touch -m file.txt
-d TIME指定した日時に変更touch -d "2025-08-21 10:00" file.txt
-t STAMP[[CC]YY]MMDDhhmm[.ss] 形式で時刻を指定touch -t 202508211030.45 file.txt
-r FILE参照ファイルと同じタイムスタンプに変更touch -r ref.txt target.txt

実行例

空ファイルを作成

touch newfile.txt
ls -l newfile.txt

アクセス時刻だけ更新

touch -a file.txt

更新時刻だけ更新

touch -m file.txt

2025年8月21日10:00に変更

touch -d "2025-08-21 10:00" file.txt

-t 形式で日時を指定

touch -t 202508211030.45 file.txt

→ 2025年8月21日10時30分45秒

参照ファイルと同じ時刻に変更

touch -r old.txt new.txt

作成せずに既存ファイルのみに適用

touch -c notfound.txt

→ ファイルが存在しないので何も起こらない

エラー例(権限不足)

touch /root/secret.txt

出力例:

touch: cannot touch '/root/secret.txt': Permission denied

関連コマンド

  • stat : ファイルの詳細情報(atime, mtime, ctime)を表示
  • ls -l --time=atime : アクセス時刻を確認
  • date : システムの日時を表示・設定

備考

  • touch はスクリプトで一時ファイルや空ファイルを作る用途でもよく使われます。
  • -d は可読性が高く便利ですが、POSIX 互換を意識するなら -t を使うとよいです。
  • ファイルシステムによっては atime の更新が無効化されている場合があります(noatime マウントオプションなど)。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント