30分前のファイルを見つける


12

30分前のファイルを見つけるにはどうすればよい/bin/kshですか?


4
「内容が30分前に変更された」または「30分前に作成されるまで存在しなかった」という意味ですか?また、どのオペレーティングシステムを使用していますか?異なるバージョンのオペレーティングシステムが付属していますfind
マークプロトニック2014

@ Mark Plotnick 30分前のファイルを見つけたい
Aravind

彼/彼女は30分前に作成されたことを意味すると思います。たとえば、誰かがX歳であるかのように、彼/彼女はX時間前に生まれました。
erik 14

回答:


15

Linuxでは、ファイルの作成時刻は追跡されません。あなただけにアクセスできます:

  • コンテンツの最終変更時間(もちろん、作成は変更としてカウントされます)mtime
  • 最終アクセス時間atime
  • メタデータの最終変更時刻ctime

これらの時間に基づくテストでファイルを検索する場合は、findman find)が役立ちます。

この方法を使用して、現在のディレクトリとそのサブディレクトリでちょうど30分前にアクセスされたファイルを見つけることができます。

find -amin 30

正確な分数を与えることが難しい場合があるため、通常は間隔を使用します。

find -amin +25 -amin -35

これにより、25分以上35分未満前にアクセスされたファイルが検索されます。

あなたが時間をのみ修正時刻に興味を持っていないとアクセス(すなわち読み込み)している場合と、交換してください-amin-mmin


あなたは時間をとりたくない。atimeはアクセス時間です。
ctrl-alt-delor 2014

@richard OPは彼が何を意味するのかを特定していません...とにかく私mtimeも答えを入れました
lgeorget

1
@ lgeorgetを使用する-mtime 30と、30日経過したファイルが表示されました。
アラビンド2014

@ user2910201 Ups stup愚かな。Xtimeオプションは日用で、Xminオプションは分用です。私の悪い、私は答えを編集します
lgeorget

2
@ user2910201ただし、30分や5日間Xtimeなど30m、適切な時間単位で使用できることに注意してください5d
lgeorget

3

あなたmtimeはそうするために使うことができます:

find . -mmin 30    #exactly 30 minutes old

これはあなただっファイル教えてくれますcreatedmodified30分背中を
g4ur4v

@ g4ur4vを使用し-mminているときに表示されているの-mminは有効なオプションではありません
Aravind

これを試してください:find /path -mtime +30m
ryekayo 14

それは認識していない理由はわからない-mmin、私はそのコマンドを使用して多くの例を見てきました...
ryekayo

3

なしで GNU/BSD find

TZ=ZZZ0 touch -t "$(TZ=ZZZ0:30 date +%Y%m%d%H%M.%S)" /reference/file

その後 find . -newer /reference/file

StéphaneChazelasによる解

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.