web-dev-qa-db-ja.com

作成日ごとに最近のファイルを見つけるにはどうすればよいですか?

名前でファイルを検索する場合、次の操作を行います。

find -name app

タイプ別にファイルを検索する場合は、次の操作を行います。

find -name app -type d

ただし、アプリはそのような一般的な名前であるため、多くの結果が表示されます。今日作成されたappという名前のディレクトリを探したいです。これを達成するためのフラグまたはコマンドはありますか?

5
JohnMerlino

ファイルシステム全体(/)を検索するには

  • ディレクトリ(-type d)、
  • app-name app)と呼ばれ、
  • 1日(24時間前)よりも最近に変更された(-mtime 0)、

...つかいます:

find / -name app -type d -mtime 0

ソース:man find

特に、-mtimeフラグの説明と「find $HOME -mtime 0」の例を参照してください。

[T] o一致-mtime 0、ファイルは過去24時間以内の変更が必要です。

(したがって、ファイルが変更されてからの日数は、-mtimeに一致させるために最も近い整数に切り捨てられたです。)


作成は、ファイルのタイムスタンプを目的とした変更形式と見なされるため、ファイルの内容が作成後に変更されていなくても機能します。また、前日に作成された最終日の変更タイムスタンプを持つフォルダーと一致しますが、正確な名前がappであるようなフォルダーはおそらくないでしょう。

ファイルがcreatedの場合、通常はファイルシステムに保存されません。ただし、 メタデータが最後に変更された時刻 (名前/場所、所有権、許可など)は保存されます。それによってファイルの内容が変更されたときまで行きたい場合は、-ctimeの代わりに-mtimeを使用します。

find / -name app -type d -ctime 0

-mtime-ctimeの両方について、ファイルの元の作成は変更/ステータス変更としての資格があります。

6
Eliah Kagan

コマンド検索オプション:

何日も前に特定の日付範囲が必要な場合。

/ data/docsディレクトリで、2013年2月1日から2014年2月1日の間に変更されたファイルの検索例:

touch --date "2013-02-01" /tmp/start
touch --date "2014-02-01" /tmp/end
find /data/docs -type f -newer /tmp/start -not -newer /tmp/end

次のように、findlist.txtというテキストファイルにリストを保存できます。

find /data/docs -type f -newer /tmp/start -not -newer /tmp/end > findlist.txt
2
kyodake

日付:2018-02-28から2018-03-28までのすべての変更されたファイルを取得します

find . -type f -newermt 2018-02-28 -not -newermt 2018-03-28
0
Benny