この記事では、Linux環境でファイルの更新日時を変更する方法について解説します。`touch` コマンドや `date` コマンドを使った基本的な手法から、高度なシナリオに応じた応用例まで幅広く紹介します。
目次
基本的な方法:touchコマンド
Linuxで最も簡単にファイルの更新日時を変更する方法は `touch` コマンドを使用することです。
基本的な使用法
以下は基本的な `touch` コマンドの使用法です。
touch -t 202209261330.55 ファイル名 # '2022-09-26 13:30:55' に更新日時を設定
オプションとパラメータ
– `-t` オプション:タイムスタンプを指定します。
– `YYYYMMDDhhmm.ss` 形式:年、月、日、時、分、秒を連結した形式で日時を指定します。
dateコマンドと組み合わせる
システム日時で更新
touch -d "$(date)" ファイル名 # システム日時で更新日時を設定
このコマンドは、システムの現在日時を取得して、それをファイルの更新日時として設定します。
応用例
1. 一括で複数ファイルの日時を変更
touch -t 202209261330.55 *.txt # 全ての.txtファイルの更新日時を変更
2. サブディレクトリ内のファイルも対象にする
find . -type f -exec touch -t 202209261330.55 {} + # サブディレクトリ内の全てのファイルの日時を変更
3. 条件を指定して日時を変更
find . -name "*.log" -exec touch -t 202209261330.55 {} + # .log拡張子のファイルのみ更新日時を変更
4. スクリプトで自動化
以下のスクリプトは、指定したディレクトリ内の`.log`ファイルの更新日時を変更します。
#!/bin/bash
DIRECTORY="/path/to/directory"
for file in $DIRECTORY/*.log; do
touch -t 202209261330.55 "$file"
done
このスクリプトを実行することで、指定したディレクトリ内の`.log`ファイル全ての更新日時が変更されます。
まとめ
Linuxでファイルの更新日時を変更する方法は多く、`touch` コマンドや `date` コマンドを使った基本的な手法から、複雑な条件を指定した応用例まであります。この記事で紹介した方法を参考に、ファイル管理の作業をより効率的に行いましょう。
コメント