Linuxのtouchコマンド徹底解説!基本構文から便利なオプションまで実例付き
Linuxのtouchコマンドは、ファイルのタイムスタンプを更新したり、ファイルが存在しない場合には新しく空のファイルを作成したりするためのコマンドです。一見すると地味な機能に思えますが、実際にはさまざまな場面で役立つ非常に便利なツールです。
この記事では、touchコマンドの基本的な使い方から、よく使われるオプション、具体的な使用例までをわかりやすく解説します。
touchコマンドでできること
1. 空のファイルを作成する
たとえば、my_file.txtという名前の空ファイルを作成したい場合は、次のコマンドを実行するだけです。
touch my_file.txt
これだけで新しいファイルが作成されます。とても簡単ですね。
2. ファイルのタイムスタンプを更新する
touchコマンドのもうひとつの主な用途は、ファイルのタイムスタンプ(最終アクセス日時・最終更新日時)の更新です。
たとえば、現在お気に入りのテレビ番組の名前を記録しておくfavorite_tv.txtというファイルがあるとします。10年前のお気に入り番組も今も変わらず同じ番組だったとしても、ファイルのタイムスタンプが「10年前」となっていれば、そのファイルを見た人は「まだ現役のお気に入りなのかどうか」がわかりません。
そこで、次のコマンドを実行してみましょう。
touch favourite_tv.txt
このコマンドを実行しても、ファイルの中身は一切変わりません。しかし、タイムスタンプを見れば「最近更新されている」ことがわかるため、この番組が今でもお気に入りであることが一目瞭然になります。
touchコマンドの基本構文
touch [OPTIONS] file1 [file2 file3...]
構文のポイントは以下の通りです。
- ファイルパスは1つでも複数でも指定可能
- オプション(OPTIONS)は任意で指定できる(よく使われるものは下の表を参照)
- デフォルトでは、指定したファイルのアクセス時刻(access time)と修正時刻(modification time)の両方が更新される
主なオプション一覧
| オプション | 説明 |
|---|---|
| -a | アクセス時刻のみを変更する |
| -c | ファイルを作成しない(既存ファイルのタイムスタンプ更新のみ) |
| -m | 修正時刻のみを変更する |
| -d DATE | 現在の時刻の代わりに指定した日時(DATE)を使用する。解析可能な形式の日付・時刻文字列で指定する |
| -h | シンボリックリンクが参照する先のファイルではなく、シンボリックリンク自体に作用する |
その他のオプションや詳細については、以下のコマンドでマニュアルを確認できます。
man touch
touchコマンドの実用例
空ファイルの作成と、アクセス時刻・修正時刻の両方を更新する方法は前述の通りです。ここからは、各オプションを使った具体的な例を紹介します。
なお、以下の例で実際にどのような変更が行われたかを確認したい場合は、次のコマンドを実行してください。
stat <ファイル名>
アクセス時刻のみを変更する
touch -a my_file.txt
-aオプションを付けると、修正時刻はそのままに、アクセス時刻だけが更新されます。
修正時刻のみを変更する
touch -m my_file.txt
-mオプションを付けると、アクセス時刻はそのままに、修正時刻だけが更新されます。
特定の日時に設定する
touch -d '17 March 2021 10:26' my_file.txt
-dオプションを使うと、現在の時刻ではなく、指定した日時にタイムスタンプを設定できます。バックアップの検証やテストデータの作成などに便利です。
シンボリックリンクの扱い
デフォルトでは、touchコマンドはシンボリックリンクが参照している先のファイルに対して動作し、リンク自体には影響しません。リンク自体のタイムスタンプを更新したい場合は、-hオプションを使用します。
touch -h my_symbolic_link
まとめ
touchコマンドは、空ファイルの作成とタイムスタンプの更新というシンプルな機能ながら、スクリプト作成やログ管理、テスト環境の構築など、日常的なLinux操作のあらゆる場面で活躍するコマンドです。-a、-m、-dなどのオプションを使いこなせば、より柔軟にファイルの時刻情報を制御できます。ぜひ実際に試してみてください。
-
Linuxのlsコマンド徹底解説!ファイルとディレクトリを一覧表示する方法
Linuxのlsコマンドは、多くのユーザーが最初に使うことになる基本コマンドの一つです。この記事では、lsコマンドの基本的な使い方と、実務で頻繁に利用されるオプションについてわかりやすく解説します。 筆者が普段よく使うオプションの組み合わせは以下のとおりです。 ls -Zaltrh それでは、各オプションの意味をひとつずつ掘り下げながら、この組み合わせがなぜ便利なのかを説明していきます。 lsコマンドの基本構文 # ls [OPTION] [FILE] OPTIONS: [-a] 「.」または「..」で始まる隠しエントリを無視しない [-h] -lと併用した場合、サイズを人間が読みやすい形式で
-
chmod 777とは?Linuxにおける意味と正しい使い方を徹底解説
この記事では、ユーザー(所有者)、グループ、その他のユーザーのすべてに全権限を付与するLinuxコマンド「chmod 777」について詳しく解説します。 Linux初心者の方、Web開発者、システム管理者であれば、次のようなコマンドを入力するよう指示された経験があるかもしれません。 chmod 777 /path/to/file/or/folder システム上でコマンドを実行するとき(特にrootユーザーとして作業する場合は!)には、そのコマンドが何を行うのかを必ず理解しておくべきです。では、「chmod 777」とは一体何なのでしょうか? Linuxにおけるパーミッションの基本 まずは、以下