Linuxでディレクトリのアクセス日時を確認する詳細ガイド

この記事では、Linuxでディレクトリのアクセス日時を確認する方法について詳しく解説します。具体的なコード例とその詳細解説、さらに応用例までを網羅しています。

目次

基本的な確認方法

Linuxでは、`stat` コマンドを使用してディレクトリやファイルのアクセス日時を簡単に確認できます。

stat /path/to/directory  # ディレクトリのステータスを表示

このコマンドで得られる出力には、アクセス日時(Access)、変更日時(Modify)、変更日時(Change)が表示されます。

アクセス日時の項目だけを取得する

`awk` コマンドを使ってアクセス日時の行だけを取得することができます。

stat /path/to/directory | awk '/Access: / {print $2 " " $3}'  # アクセス日時のみを表示

応用例

特定の日時以降にアクセスされたディレクトリを探す

`find` コマンドを使って特定の日時以降にアクセスされたディレクトリを探すことができます。

find /path/to/search -type d -anewer /tmp/start_date  # 特定の日時以降にアクセスされたディレクトリを探す

古いディレクトリを自動的に削除する

`cron` ジョブと `find` コマンドを組み合わせることで、古いディレクトリを自動的に削除できます。

0 0 * * * find /path/to/search -type d -atime +30 -exec rm -rf {} \;  # 30日以上アクセスされていないディレクトリを削除

特定の拡張子を持つファイルが入っているディレクトリを探す

`find` コマンドと `grep` コマンドを組み合わせて、特定の拡張子を持つファイルが保存されているディレクトリを探します。

find /path/to/search -type f -name '*.txt' -exec dirname {} \; | sort -u  # .txtファイルが保存されているディレクトリを探す

ディレクトリのアクセス日時をCSVファイルに出力する

`stat` コマンドと `awk` コマンドを組み合わせて、ディレクトリのアクセス日時をCSVファイルに出力するスクリプトです。

#!/bin/bash
for dir in /path/to/directory/*; do
  stat $dir | awk '/Access: / {print $2 "," $3}'
done > output.csv  # CSV形式でアクセス日時を出力

まとめ

Linuxでディレクトリのアクセス日時を確認する方法は多くありますが、基本となるのは `stat` コマンドです。この記事で紹介した応用例を活用することで、さまざまなケースでのディレクトリ管理が効率的になるでしょう。

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

コメント

コメントする

目次