Linuxでファイルの更新日時を変更する詳細ガイド

この記事では、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` コマンドを使った基本的な手法から、複雑な条件を指定した応用例まであります。この記事で紹介した方法を参考に、ファイル管理の作業をより効率的に行いましょう。

created by Rinker
オライリージャパン
¥3,080 (2024/11/21 17:52:11時点 Amazon調べ-詳細)

コメント

コメントする

目次