カテゴリ: Linuxコマンド集 更新日: 2025/12/15

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オプションは、次のような場面で非常に重宝されます:

  • 開発時に日時を特定の値にそろえたいとき
  • ログファイルのテストや確認
  • バックアップファイルに日付を付与して整理したいとき
  • スクリプト内で確実な日時指定が必要なとき
関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls --full-timeオプションを完全ガイド!初心者でもわかるタイムスタンプのフル表示方法