Linuxで最近または今日変更されたファイルを見つける方法

この記事では、今日のファイルをリストアップするための2つの簡単なコマンドラインのヒントを説明します。

Linuxユーザーがコマンドラインで遭遇する一般的な問題の1つは、特定の名前のファイルを見つけることです。ファイル名を実際に知っていると、それははるかに簡単になります。

ただし、以前の時間に作成したファイルの名前を忘れてしまった場合(数百のファイルが含まれるhomeフォルダ内)、そして緊急に使用する必要がある場合を想定してください。

以下は、今日作成または変更したファイルのみをリストアップする異なる方法です。

1. lsコマンドを使用すると、ホームフォルダ内の今日のファイルのみを次のようにリストアップできます。ここで:

  1. -a – 隠しファイルを含むすべてのファイルをリストアップ
  2. -l – 長いリスト形式を有効にする
  3. --time-style=FORMAT – 指定されたFORMATで時間を表示
  4. +%D – 日付を%m/%d/%y形式で表示/使用
# ls  -al --time-style=+%D | grep 'date +%D'
Find Recent Files in Linux

次のテキストを日本語に翻訳します。翻訳結果のみを返します。翻訳は言語の使用習慣に準拠する必要があります。また、結果のリストをアルファベット順に並べ替えるために、-Xフラグを含めることができます:

# ls -alX --time-style=+%D | grep 'date +%D'

また、-Sフラグを使用してサイズに基づいてリストを表示することもできます(最大のものが最初に表示されます):

# ls -alS --time-style=+%D | grep 'date +%D'

2.同様に、lsよりも柔軟性があり、以下の目的のために同じように使用できるfindコマンドを使用することも可能です。

  1. -maxdepth レベルは、検索操作が行われる開始点(この場合は現在のディレクトリ)からのサブディレクトリのレベルを指定するために使用されます。
  2. -newerXY、これは、質問されているファイルのタイムスタンプXがファイルの参照のタイムスタンプYよりも新しい場合に機能します。XとYは以下のいずれかの文字を表します:
    1. a – ファイル参照のアクセス時刻
    2. B – ファイル参照の作成時刻
    3. c – 参照のinodeステータス変更時刻
    4. m – ファイル参照の変更時刻
    5. t – 参照は直接時間として解釈される

これは、変更されたファイルのみが考慮されることを意味します:2016-12-06

# find . -maxdepth 1 -newermt "2016-12-06"
Find Today’s Files in Linux

重要: 上記の日付形式を参照してfindコマンドを使用してください。間違った形式を使用すると、以下のようなエラーが発生します:

# find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

または、以下の正しい形式を使用してください:

# find . -maxdepth 1 -newermt "12/06/2016"
OR
# find . -maxdepth 1 -newermt "12/06/16"
Find Todays Modified Files in Linux

lsおよびfindコマンドの使用方法についての詳細情報は、以下のシリーズの記事で入手できます。

  1. この15の例でLinuxの‘ls’コマンドをマスターする
  2. Linuxユーザー向けの便利な7つの‘ls’トリック
  3. この35の例でLinuxの‘find’コマンドをマスターする
  4. Linuxで拡張子を持つ複数のファイル名を見つける方法

この記事では、lsとfindコマンドを使用して今日のファイルのみをリストする方法の2つの重要なヒントを説明しました。トピックに関する質問やコメントを送信するために、以下のフィードバックフォームをご利用ください。同じ目標に使用されるコマンドについてもお知らせください。

Source:
https://www.tecmint.com/find-recent-modified-files-in-linux/