Linux touchコマンド完全まとめ

Linux touchコマンドは「ファイルの新規作成」「タイムスタンプの操作」に広く利用される基本コマンドです。

touchコマンドとは

touchコマンドは、以下の用途で使用されます。

  • 指定したファイルが存在しない場合は空のファイルを新規作成
  • 既存ファイルのタイムスタンプ(アクセス・変更時刻)を現在日時に更新

この特性により、
「簡単に空ファイルを作りたい時」
「ファイルのタイムスタンプを手動更新したい時」に重宝します。

基本構文と使用例

基本構文

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

例:

touch newfile.txt

指定したファイルがなければ新規作成されます。すでに存在する場合はタイムスタンプのみ更新されます。

複数ファイルの同時作成

touch file1.txt file2.txt file3.log

スペース区切りで複数のファイル名を指定することで、同時に複数の空ファイル作成が可能です。

主なオプション一覧

オプション説明
-aアクセス時刻(atime)のみを現在時刻または指定した時刻に更新
-m変更時刻(mtime)のみを現在時刻または指定した時刻に更新
-cファイルが存在しない場合は新規作成せずエラーも出ない
-d “日時”タイムスタンプを指定した日時に設定(例: touch -d "2025-09-01 17:30" ファイル名
-t “時刻”数字で日時指定(例: touch -t 202509011730 ファイル名
-r 参照ファイル指定ファイルのタイムスタンプに合わせて更新
-hシンボリックリンクそのもののタイムスタンプを変更(リンク先ではなくリンク自身)
--helptouchコマンドのヘルプ表示
--versiontouchコマンドのバージョン表示

実践的な使用例

・空ファイルを作成

touch test.txt

・複数ファイル作成

touch a.txt b.txt c.txt

・アクセス時刻だけ更新

touch -a access.log

・変更時刻だけ更新

touch -m script.py

・ファイルのタイムスタンプを特定日時にする

touch -d "2025-09-23 20:00" report.csv

・参照ファイルと同じ日時にする

touch -r template.txt new.txt

・ファイルがなければ作成しない

touch -c config.dat

タイムスタンプ詳細

  • atime(アクセス時刻):ファイルにアクセスした最終日時
  • mtime(変更時刻):ファイル内容が変更された最終日時
  • ctime(変更時刻):ファイルの属性(パーミッションなど)が変更された最終日時
    (touchはatime・mtimeのみ直接変更可能)

注意点

  • -cオプションはスクリプト等で意図しない空ファイル作成を防げます。
  • ファイル確認はlsコマンドでタイムスタンプを表示しましょう(ls -l)。

まとめ

touchコマンドは「空ファイルの迅速作成やバッチ作成」「タイムスタンプ調整」「スクリプト運用」など、多様な用途に活用できる万能コマンドです。オプションを活用することで、より柔軟なファイル管理が可能となります。

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村