GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでタイムスタンプに基づいてファイルを検索する方法

Linuxのfindコマンドは、ファイルの検索に使用されます およびフォルダ さまざまなパラメータに基づいています。これらのパラメータは、ファイル名にすることができます 、サイズファイルの種類 、など。

[あなたも好きかもしれません:Linuxで特定のテキスト文字列を含むファイルを見つける方法]

そのようなパラメータの1つは、タイムスタンプです。 ファイルの。 Linux(およびすべてのUnixベースのファイルシステム)には、3つのタイムスタンプがあります。 すべてのファイルに対して維持:

  1. 最終変更時間
  2. 最終アクセス時間
  3. 最終ステータス変更時刻(つまり、権限などのファイルのメタデータが変更されたとき)

検索の使い方を見てみましょう これらのタイムスタンプのそれぞれに基づいてファイルを検索するには 。

Linuxでファイルのタイムスタンプを検索する

まず、「統計」を実行できます Linuxで‘コマンドを実行して、ファイルのこれらすべてのタイムスタンプを取得します。たとえば、「 stat」という名前のファイルの場合 ‘、実行:

$ stat tmp

タイムスタンプに基づいてファイルを検索

次に、タイムスタンプに基づいてファイルを検索します 、引数'-newerXY'を使用します 検索の マニュアルページから。

man find

したがって、引数'-newerXY' Xを持つことができます aとして 、 c 、または m 、それぞれ、最終アクセス、最終ステータス変更、最終変更時刻、および Y tとして 、次の引数をタイムスタンプにすることができます 文字列。

:誕生時刻、つまりファイルの作成時刻は Unixでは維持されません ベースのファイルシステム

一般化すると、実行するコマンドは次のようになります。

find <directory_path> -newer<a/m/c>t ‘<timestamp>’

ここでは、タイムスタンプの形式 「YYYY-MM-DDHH:MM:SS」

ファイルが少なく、指定した時間が経過した後にアクセス、変更、ステータスが変更されたファイルが2つしかないフォルダでこれを試してみましょう。

find . -newerat ‘2021-02-19 06:34’
find . -newerct ‘2021-02-19 06:34’
find . -newermt ‘2021-02-19 06:34’

「統計」で確認する タイムスタンプの場合 両方のファイルのうち、実際に指定された時間よりも大きいです。

stat tmp2 tmp3
結論

'-newerXY'の使用方法を学びました コマンドの引数find タイムスタンプに基づいてファイルを検索するには 。

別のファイルを参照用に使用することもできることに注意してくださいタイムスタンプ タイムスタンプを明示的に指定する代わりに 、この場合、「t」 引数からスキップできます。

読んでくれてありがとう、そして下のコメントであなたの考えを知らせてください!


Linux
  1. LinuxでファイルをUTF-8エンコーディングに変換する方法

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

  3. Linuxでファイルを見つける方法

  1. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  2. Linuxで重複ファイルを見つける方法

  3. Linux でフル パスを含むファイルを一覧表示するにはどうすればよいですか?

  1. Linuxでファイルを見つける方法

  2. Linuxで(空の)ファイルを切り捨てる方法

  3. Linux ファイル システムで dos 形式のファイルを見つける方法