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

「find -mtime」コマンドの説明

find の POSIX 仕様には次のように記載されています。

<ブロック引用>

-mtime n プライマリは、初期化時間からファイル変更時間を差し引いて 86400 で割った値 (剰余は破棄) が n である場合に true と評価します。 .

興味深いことに、find の説明は 「初期化時間」をさらに指定しません。 find 初期化 (実行) されます。

<ブロック引用>

説明の n が主引数として使用されている場合、次のようにオプションでプラス ( '+' ) またはマイナス記号 ( '-' ) 記号が前に付いた 10 進整数として解釈されます:

+n n 以上 .
n 正確に n .
-n n 未満 .

<ブロック引用>

-mtime 6 と書くことができます または -mtime -6 または -mtime +6 :

  • 6 の使用 符号なしは、「6 日前に等しい - '現在 - 6 * 86400' と '現在 - 7 * 86400' の間で変更された」ことを意味します (小数日は破棄されるため)。
  • -6 の使用 は、「6 日未満 - 「現在 - 6 * 86400」以降に変更されたもの」を意味します。
  • +6 の使用 は、「6 日以上経過しているため、「今 - 7 * 86400」以前に変更された」という意味です (7 は少し意外かもしれません)。

指定された時刻 (2014-09-01 00:53:44 -4:00) で、AST は大西洋標準時であると推測しているため、UTC からのタイム ゾーン オフセットは ISO 8601 では -4:00 ですが、+ ISO 9945 (POSIX) では 4:00 ですが、それほど重要ではありません):

1409547224 = 2014-09-01 00:53:44 -04:00
1409457540 = 2014-08-30 23:59:00 -04:00

そう:

1409547224 - 1409457540 = 89684
89684 / 86400 = 1

「エポックからの秒数」の値が間違っていても、相対値は正しいです (世界のどこかのタイム ゾーンでは正しい)。

n したがって、2014 年 8 月 30 日のログ ファイルに対して計算された値は、正確に 1 です。 (計算は整数演算で行われます)、および +1 厳密に > 1 であるため拒否します 比較 (>= 1 ではありません) ).


+1 は 2 日前を意味します。丸みを帯びています。


Linux
  1. diffコマンドの概要

  2. findコマンドを使用して権限を監査する方法

  3. コマンドラインでCentOS8でファイルを検索する方法

  1. Linuxlsコマンドをマスターする

  2. Linux の find コマンドを使用してファイルを検索する方法

  3. コマンドラインからWordPressのバージョンを見つける

  1. コマンドラインでのファイルの検索(ハウツー)

  2. Linuxでのコマンドまたはプロセスの実行時間を検索する

  3. Linux の「検索」コマンドのガイド