カテゴリ: Linuxコマンド集 更新日: 2026/03/28

touch -tオプションの使い方を完全ガイド!初心者でもわかる日時形式のタイムスタンプ設定

touch -tオプション|形式指定で日付と時刻を設定する方法
touch -tオプション|形式指定で日付と時刻を設定する方法

先生と生徒の会話形式で理解しよう

生徒

「Linuxのtouchコマンドで、自由に日付や時間を設定したいときってどうすればいいんですか?」

先生

「その場合は-tオプションを使えば、正確な日時を数値形式で設定できますよ。」

生徒

「どんな形式で書けばいいんですか?覚えるの難しそう…」

先生

「大丈夫です。パターンを覚えれば簡単ですよ。ゆっくり解説していきましょう。」

1. touchコマンドとは?

1. touchコマンドとは?
1. touchコマンドとは?

touch(タッチ)コマンドは、Linuxでファイルの更新日時(タイムスタンプ)を変更したり、空のファイルを新規作成するための基本コマンドです。ファイルの操作やログ管理などで広く使われる重要なコマンドの一つです。

たとえば、以下のように使うとファイルが作られます:


touch report.txt

このコマンドで、report.txtが存在しない場合は新しく作られ、存在する場合は更新日時のみが現在の日時に書き換えられます。

2. -tオプションの概要と役割

2. -tオプションの概要と役割
2. -tオプションの概要と役割

-tオプションは、ファイルの更新日時を正確な日時形式で指定できるようにするものです。たとえば、「2025年12月31日23時59分59秒」というような日時を、数字の形式で設定できます。

指定する形式は以下のようになります:

[[CC]YY]MMDDhhmm[.ss]

  • CC:世紀(20なら2000年代)
  • YY:年(例:25なら2025年)
  • MM:月(01〜12)
  • DD:日(01〜31)
  • hh:時(00〜23)
  • mm:分(00〜59)
  • .ss:秒(省略可能)

つまり、「2025年12月31日23時59分59秒」を設定したい場合、こう書きます:


touch -t 202512312359.59 sample.txt

3. 実際の使用例と確認方法

3. 実際の使用例と確認方法
3. 実際の使用例と確認方法

(1)ファイルを指定日時で作成


touch -t 202401011200.00 newyear.txt
ls -l newyear.txt
-rw-r--r-- 1 user user 0  1月  1 12:00 newyear.txt

この例では、「2024年1月1日12時00分00秒」にタイムスタンプが設定されています。

(2)すでに存在するファイルの日時を変更


touch oldfile.txt
touch -t 202310101500.00 oldfile.txt
ls -l oldfile.txt
-rw-r--r-- 1 user user 0 10月 10 15:00 oldfile.txt

既存のファイルにも、簡単に日時を上書きできます。

4. 書式を覚えるコツと間違えやすい点

4. 書式を覚えるコツと間違えやすい点
4. 書式を覚えるコツと間違えやすい点

数字が並んでいて混乱しがちですが、年月日時分秒の順番で8桁または10桁と覚えると分かりやすいです。

よくある間違い:

  • 「13月」などの存在しない月を入力してしまう
  • 日付が「00日」などでエラーになる
  • 桁数が足りずにエラーになる

必ず8桁または10桁(秒まで)で記述しましょう。

5. -dオプションとの違い

5. -dオプションとの違い
5. -dオプションとの違い

touchコマンドには-dオプションもありますが、-tと何が違うのでしょうか?

  • -t:数字で厳密な書式を指定(機械的で正確)
  • -d:人間が読みやすい自然な表現(例:「yesterday」)が使える

-tの方がスクリプトや自動処理に向いていて、-d日付を自由に指定したいときに便利です。

6. スクリプトでの活用例

6. スクリプトでの活用例
6. スクリプトでの活用例

たとえば、バックアップファイルにそれぞれ異なる日時を設定することで、見た目の整理をしたいときがあります。


#!/bin/bash
for i in 1 2 3
do
  fname="backup_$i.log"
  touch "$fname"
  touch -t 2024090${i}1200.00 "$fname"
done

このスクリプトでは、3つのログファイルにそれぞれ違う日付(2024年9月1日~3日)の正午を設定しています。

7. -tオプションの活用場面まとめ

7. -tオプションの活用場面まとめ
7. -tオプションの活用場面まとめ

この-tオプションは、次のような場面で非常に重宝されます:

  • 開発時に日時を特定の値にそろえたいとき
  • ログファイルのテストや確認
  • バックアップファイルに日付を付与して整理したいとき
  • スクリプト内で確実な日時指定が必要なとき

まとめ

まとめ
まとめ

touch -tオプションの重要ポイント総復習

ここまで解説してきたtouchコマンドのtオプションは、Linuxにおけるファイル操作の中でも非常に実用性が高く、特にファイルの更新日時やタイムスタンプを正確に制御したい場面で大きな力を発揮します。通常のtouchコマンドはファイルの作成や更新日時の変更に使われますが、tオプションを使うことで任意の日時を細かく指定できる点が大きな特徴です。

Linux環境ではログ管理やバックアップ管理、テスト環境構築などさまざまな場面でファイルの日時情報が重要になります。そのため、touchコマンドとtオプションの理解は、初心者から中級者へステップアップするための重要なスキルの一つと言えるでしょう。特にシェルスクリプトや自動処理の中で利用する場合には、日時を正確に指定できることが作業の安定性や再現性に直結します。

日時指定の書式を確実に覚える

tオプションの最大のポイントは、日時の書式を正しく理解することです。形式は年月日時分秒の順番で数字を並べるシンプルな構造ですが、桁数や順番を間違えるとエラーの原因になります。特に初心者のうちは月や日、時間の範囲に注意しながら入力することが大切です。

また、秒の指定は省略可能であるため、用途に応じて柔軟に使い分けることも重要です。例えば簡単なテストでは分までで十分ですが、厳密なログ検証などでは秒まで指定することでより正確な管理が可能になります。

基本的なコマンドの振り返り

まずは基本となるコマンドの流れをしっかり確認しておきましょう。シンプルな例でも繰り返し実行することで自然と身につきます。


touch -t 202501011200.00 sample.txt
ls -l sample.txt
-rw-r--r-- 1 user user 0  1月  1 12:00 sample.txt

このように、ファイルのタイムスタンプが指定した日時に変更されていることを確認できます。lsコマンドと組み合わせて確認する習慣をつけることで、操作ミスを防ぐことができます。

実務での活用シーンを意識する

touchコマンドのtオプションは、実務において非常に幅広い用途があります。例えばシステム開発の現場では、ログファイルの時系列を意図的に調整することでテストを行うケースがあります。また、バックアップファイルの管理では日付順に整理するためにタイムスタンプを統一することもあります。

さらに、データ移行や検証作業の際に過去の日付を再現する必要がある場合にも、この機能は非常に役立ちます。単なるコマンド操作にとどまらず、運用や管理の効率化にも直結する重要なテクニックです。

シェルスクリプトでの応用例

繰り返し処理の中で日時を自動設定することで、作業効率はさらに向上します。以下のようなスクリプトを使えば、複数のファイルに異なる日時を一括で設定できます。


#!/bin/bash
for i in 1 2 3
do
  file="log_$i.txt"
  touch "$file"
  touch -t 2024020${i}0900.00 "$file"
done
ls -l log_*.txt
-rw-r--r-- 1 user user 0  2月  1 09:00 log_1.txt
-rw-r--r-- 1 user user 0  2月  2 09:00 log_2.txt
-rw-r--r-- 1 user user 0  2月  3 09:00 log_3.txt

このように、スクリプトと組み合わせることで作業の自動化が可能になり、人的ミスの削減や作業時間の短縮にもつながります。Linuxコマンドを学ぶ上で、こうした実践的な使い方を意識することが大切です。

初心者がつまずきやすいポイント

よくあるミスとしては、桁数の不足や順番の間違い、存在しない日付の指定などがあります。特に十三月や三十二日などの誤った入力はエラーになるため注意が必要です。また、数字だけの入力は一見すると分かりにくいため、最初は紙に書きながら確認すると理解しやすくなります。

慣れてくると自然に入力できるようになりますが、最初の段階では正確性を重視して丁寧に操作することが重要です。

先生と生徒の振り返り会話

生徒

touchコマンドのtオプションって、思ったより便利ですね。最初は数字ばかりで難しそうに見えました。

先生

そうですね。ですが、年月日時分の順番さえ覚えてしまえば、とてもシンプルな仕組みですよ。実務でもよく使われる重要なコマンドです。

生徒

ファイルの日時を自由に変えられると、テストや整理がやりやすくなりそうです。

先生

その通りです。特にログファイルの検証やバックアップ管理では非常に役立ちます。スクリプトと組み合わせれば自動化もできますよ。

生徒

まずは基本のコマンドを何度も試して、しっかり覚えたいと思います。

先生

それが一番です。実際に手を動かして確認することで、理解が深まります。焦らず少しずつ慣れていきましょう。

関連記事:
カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
grep -Lオプションの使い方を完全解説!一致しなかったファイル名を表示しよう
New2
ファイル・ディレクトリ操作
realpathコマンドとは?Linuxでシンボリックリンクを解決して絶対パスを表示する基本
New3
権限とユーザー管理
idコマンドの使い方!現在のユーザー情報を確認するLinux基本コマンド
New4
ファイル・ディレクトリ操作
touch -tオプションの使い方を完全ガイド!初心者でもわかる日時形式のタイムスタンプ設定
人気記事
No.1
Java&Spring記事人気No1
Linuxコマンドの基本
Linuxコマンドとは?基本の考え方とシェルとの関係を初心者向けに徹底解説
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!