「touch」コマンドは、Unix 系オペレーティングシステムにおける標準的なユーティリティです。主な目的はファイルのタイムスタンプを変更することですが、新しい空のファイルを作成するためにも一般的に使用されます。ここでは、linux touch コマンドがどのように機能するかを探ります。
新しいファイルの作成
空のファイルを作成する最も簡単な方法は、「touch」コマンドの後にファイル名を指定することです。ファイルが存在しない場合、「touch」はそのファイルを作成します。これは、スクリプト作成や日常的なタスクにおける基本的な bash touch 操作です。
touch mysuperduperfile
このコマンドを実行した後、カレントディレクトリに mysuperduperfile という名前の新しい空のファイルが表示されます。ファイル名を列挙することで、複数のファイルを一度に作成できます。
touch file1.txt file2.txt file3.log
ファイルタイムスタンプの更新
linux touch コマンドの本来の機能は、ファイルまたはディレクトリのアクセス時刻と更新時刻を更新することです。既存のファイルに対して「touch」を使用すると、そのタイムスタンプは現在時刻に更新されます。
ls -l を使用してファイルのタイムスタンプを確認し、「touch」を実行してから再度確認することで、これを検証できます。
# 元のタイムスタンプを確認
ls -l mysuperduperfile
# タイムスタンプを更新
touch mysuperduperfile
# 新しいタイムスタンプを確認
ls -l mysuperduperfile
高度なタイムスタンプ制御
linux touch コマンドは、より正確なタイムスタンプ操作のためのオプションも提供します。
参照ファイルの利用
linux touch -r オプションを使用すると、あるファイル(参照ファイル)のタイムスタンプに別のファイル(対象ファイル)のタイムスタンプを合わせることができます。これは、関連するファイル間でタイムスタンプを同期させる場合に便利です。
# file2.txt のタイムスタンプを file1.txt のタイムスタンプに合わせる
touch -r file1.txt file2.txt
特定の日付の設定
-d オプションを使用すると、ファイルのタイムスタンプを特定の日時に設定できます。touch -d linux 機能は、日付に対してさまざまな文字列形式を受け入れます。
# 特定の日時にタイムスタンプを設定
touch -d "2023-01-01 12:30:00" mysuperduperfile
touch を習得することは、コマンドラインからファイルシステムを効率的に管理することを学ぶための素晴らしい一歩です。