ホーム > ファイル・ディレクトリ管理 > touch-a

touch-a: ファイルのアクセス時間のみを更新

touch-aは、ファイルのアクセス時間(access time)のみを現在の時刻に更新するために使用されるコマンドです。このコマンドはファイルの変更時間(modification time)を変更せずにアクセス時間のみを更新します。ファイルが存在しない場合、デフォルトで空のファイルを生成します。

概要

touch-aは、ファイルのアクセス時間を現在の時刻に変更するか、指定した時刻に設定します。ファイルの変更時間は変更せず、ファイルが存在しない場合は新しい空のファイルを生成します。

主な特徴

  • ファイルのアクセス時間のみを更新
  • ファイルが存在しない場合は空のファイルを生成
  • 変更時間(modification time)は変更しない

主なオプション

touch-aコマンドはファイルのアクセス時間更新に特化しており、以下の追加オプションを活用して動作を細かく制御できます。

動作制御

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`touch-a` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

touch-aコマンドを活用してファイルのアクセス時間を管理する様々なシナリオを見てみましょう。

ファイルのアクセス時間を更新

touch-a myfile.txt

指定されたファイルのアクセス時間を現在の時刻に更新します。ファイルがなければ新しく生成します。

ファイル生成なしでアクセス時間のみ更新

touch-a -c existing_file.txt

ファイルが存在しない場合は生成せず、既存ファイルのアクセス時間のみを更新します。

他のファイルのアクセス時間を参照

touch-a -r reference.txt target.txt

reference.txtファイルのアクセス時間をtarget.txtファイルに適用します。

特定の時刻にアクセス時間を設定

touch-a -t 2312312359.59 myfile.txt

myfile.txtのアクセス時間を2023年12月31日 23時59分59秒に設定します。

インストール

touch-aは標準的なLinuxディストリビューションにはデフォルトで含まれていません。`touch`コマンドの`-a`オプションを使用して同様の機能を実現できます。もし`touch-a`という名前でコマンドを使用したい場合は、シェルエイリアス(alias)を設定するか、簡単なシェルスクリプトを作成して使用することができます。

Bash/Zshでエイリアスを設定

echo 'alias touch-a="touch -a"' >> ~/.bashrc
source ~/.bashrc

`.bashrc`または`.zshrc`ファイルに以下の行を追加して`touch-a`エイリアスを作成します。

簡単なシェルスクリプトを作成

echo '#!/bin/bash\ntouch -a "$@"' > /usr/local/bin/touch-a
chmod +x /usr/local/bin/touch-a

`touch-a`という名前の実行可能なスクリプトを作成して使用できます。

ヒント & 注意事項

touch-aコマンド使用時の役立つヒントと注意点です。

touch -aとの関係

touch-aは実質的に`touch -a`コマンドのエイリアスまたはラッパースクリプトです。`touch`コマンドは`-a`(アクセス時間)、`-m`(変更時間)オプションを組み合わせて使用できます。touch-aは`-a`オプションがデフォルトで適用されたものとみなされます。

  • `touch -a`は`touch-a`と同じ機能を実行します。
  • `touch -m`は変更時間のみを変更します。
  • `touch`(オプションなし)はアクセス時間と変更時間の両方を変更します。

ファイル時間の確認

ファイルのアクセス時間(Access)、変更時間(Modify)、ステータス変更時間(Change)は`stat`コマンドで確認できます。

  • `stat filename.txt`コマンドで詳細な時間情報を確認してください。
  • `ls -lu filename.txt`でアクセス時間を、`ls -l filename.txt`で変更時間を確認できます。

同じカテゴリのコマンド