touchコマンドとは?Linuxで空ファイル作成やタイムスタンプ変更を行う基本
生徒
「Linuxで新しいファイルを作りたいんですが、どうすればいいですか?」
先生
「新しい空のファイルを作成するには、touchコマンドを使いますよ。」
生徒
「空のファイルって何ですか?そして、なぜそれを作るんですか?」
先生
「空のファイルというのは、中身がまだ何も入っていない状態のファイルのことです。メモ帳を開いて名前だけつけて保存したようなものですね。Linuxでは設定ファイルを準備したり、ログファイルの入れ物を先に作っておいたりする時に便利なんですよ。」
1. touchコマンドとは?
touchコマンドは、Linux(リナックス)で空のファイルを作るための基本コマンドです。また、すでに存在するファイルがある場合には、そのタイムスタンプ(更新日時)を変更する目的でも使われます。
このコマンドは、初心者がファイル操作を学ぶ第一歩として、とても役立ちます。
2. 空ファイルを作るとは?
「空ファイル」とは、文字どおり中身が空っぽのファイルです。たとえば、ノートを1冊買ったけどまだ何も書いてない状態をイメージしてください。
Linuxでは、空のファイルを先に作っておき、そのあとで内容を追加したり、プログラムが自動的にそのファイルにログを書き込んだりする場面がよくあります。
3. touchコマンドの基本的な使い方
新しく空のファイルを作るには、次のようにコマンドを入力します。
touch sample.txt
このコマンドを実行すると、「sample.txt」という名前の空ファイルが作られます。
ls -l
-rw-r--r-- 1 user user 0 Sep 16 10:00 sample.txt
4. すでにあるファイルの更新日時を変える
touchコマンドは、新しくファイルを作るだけでなく、既存のファイルのタイムスタンプを更新することもできます。
例えば、以下のようにすでにあるファイルに対してtouchを使うと、更新日時だけが変わります。
touch sample.txt
中身には何も変更されませんが、ls -lで確認すると、更新日時だけが新しくなっていることがわかります。
5. 複数のファイルを一度に作る
touchは複数のファイルを一度に作ることも可能です。スペースで区切ってファイル名を並べましょう。
touch file1.txt file2.txt file3.txt
このように入力すれば、3つの空ファイルが同時に作成されます。
6. ファイルがすでに存在する場合の挙動
もし指定したファイルがすでに存在している場合でも、touchはエラーを出さずに更新日時だけを変更します。
中身が変更されることはありませんので、安心して使えます。
7. ディレクトリ内のファイルを一括で更新
複数のファイルに対して、更新日時だけをまとめて変更したい場合にもtouchが役立ちます。
touch *.txt
このようにすれば、カレントディレクトリにあるすべての.txtファイルのタイムスタンプが更新されます。
8. よく使うオプション
-c(または--no-create)を使うと、「ファイルがなければ作らない」設定になります。つまり、存在するファイルだけを対象にしたい場合に使えます。
touch -c sample.txt
このコマンドでは、「sample.txt」が存在していればそのタイムスタンプが更新され、存在しなければ何も起きません。
また、-tオプションを使えば、日時を指定して更新することも可能です。
touch -t 202509160900 sample.txt
この例では、2025年9月16日9時00分という日時を手動で設定できます。
9. touchと他のコマンドとの違い
touchコマンドは、ファイルの中身を直接いじるわけではありません。あくまでも作成するだけ、もしくはタイムスタンプを変更するだけです。
一方で、echoコマンドやcatコマンドは、実際にファイルの中に内容を書き込んだり表示したりします。
つまり、touchは「入れ物(ファイル)を用意する」イメージ、それに対してechoは「中に何か書き込む」イメージです。
10. touchを使う場面とは?
次のような場面で、touchコマンドは活躍します:
- ログファイルの入れ物だけを先に作っておきたいとき
- スクリプトの中で条件分岐に使うためのファイルを作るとき
- ファイルがあることだけをチェックしたいとき
- 古いタイムスタンプを更新して新しい状態にしたいとき
まとめ
ここまで、Linuxの基本コマンドの一つであるtouchコマンドについて、空ファイルの作成方法からタイムスタンプの更新、実務での使いどころまでを詳しく解説してきました。touchコマンドは一見すると地味な存在ですが、Linux環境では非常に登場回数が多く、初心者から上級者まで幅広く利用されている重要なコマンドです。
touchコマンドの最も基本的な役割は、中身が何も入っていない空のファイルを作成することです。設定ファイルやログファイル、スクリプト用のファイルなど、「とりあえずファイルの入れ物だけを用意したい」という場面はLinuxでは頻繁に発生します。そのようなとき、touchコマンドを使えば一瞬でファイルを準備できます。
また、touchコマンドのもう一つの重要な役割が、既存ファイルのタイムスタンプを更新するという点です。Linuxではファイルの更新日時やアクセス日時が処理の条件として使われることも多く、ビルド処理やバックアップ、ログ管理など、さまざまな場面でタイムスタンプが意味を持ちます。touchを使えば、中身を変更せずに日時だけを新しくできるため、安全に状態を調整できます。
記事中で紹介したように、touchはファイルがすでに存在していてもエラーにならず、静かに更新日時だけを変更します。この挙動を理解しておくと、「ファイルがなければ作る、あれば更新する」という柔軟な処理をシェルスクリプトなどで簡単に実現できます。Linuxコマンドの中でも、非常に扱いやすい特徴を持っていると言えるでしょう。
複数ファイルを一度に作成できる点や、ワイルドカードを使ってまとめて更新できる点も、touchコマンドの便利なポイントです。たとえば、作業ディレクトリ内のテキストファイルを一括で更新したい場合でも、touchを使えば短いコマンドで対応できます。ファイル管理を効率よく行うためには、こうした小さなコマンド操作の積み重ねが重要になります。
実際のLinux環境では、touchコマンドはログファイルの初期化、アプリケーション起動前の準備、処理のフラグ管理など、さまざまな用途で使われています。単に「空ファイルを作るだけのコマンド」と覚えるのではなく、「Linuxにおけるファイルの存在と時間を操作するコマンド」として理解すると、より応用の幅が広がります。
以下は、一般ユーザーとしてtouchコマンドを使い、ファイルの存在確認と更新を行うシンプルな例です。
touch check.log
ls -l
-rw-r--r-- 1 user user 0 Sep 16 10:30 check.log
このように、touchコマンドを実行することで、ファイルが存在しているかどうか、そして更新日時がどうなっているかを簡単に確認できます。Linux初心者の方は、lsコマンドと組み合わせて動きを確認しながら学習すると理解が深まります。
touchコマンドは派手な処理を行うわけではありませんが、Linuxのファイル操作を理解するうえで欠かせない基礎知識です。今回学んだ内容をしっかり身につけておくことで、今後登場するシェルスクリプトやサーバー運用の学習がぐっと楽になるはずです。
生徒「touchコマンドって、ただ空のファイルを作るだけだと思っていましたが、タイムスタンプを操作できるのが意外でした。」
先生「そうですね。Linuxでは時間の情報が重要になる場面が多いので、touchは実はとても実用的なコマンドなんです。」
生徒「ファイルがあってもエラーにならずに更新だけする動きも、スクリプトで使いやすそうだと感じました。」
先生「その理解はとても良いですね。存在確認と作成をまとめてできるのがtouchの強みです。」
生徒「これからログ管理や設定ファイルを扱うときに、touchを意識して使ってみます。」
先生「ぜひ実際に手を動かして試してみてください。Linuxコマンドは、使えば使うほど自然に身についていきますよ。」