UNIXで過去1時間に作成されたファイルを見つける方法


回答:


213

検索するディレクトリがsrch_dir次のいずれかである場合

$ find srch_dir -cmin -60 # change time

または

$ find srch_dir -mmin -60 # modification time

または

$ find srch_dir -amin -60 # access time

過去1時間に作成、変更、またはアクセスされたファイルを表示します。

修正:ctimeはノード時間を変更するためのものです(ただし、私を修正してください)


2
これはすばらしいことですが、これらのフラグはfind私が使用しているSolarisには存在しません。OPはUnixと言っており、これらはLinuxのみだと思います。
ジギー14

12
トリックは負の時間値を使用することです!マニュアルページではそれほど明白ではありません。
sphakka 2015年

@jiggy Ayushの答えは、-newerSolaris上で動作するハック(に基づく)を提供します。
David Moles 2016年

3
-cminは作成時間ではなく、変更時間です。テスト実行で.config dirの原因を削除しただけで、最後のX分間は変更されておらず、rmを実行したときに変更されたので、多分これを編集してください...!
Badmaster

私はまだ最初の例のコメントには修正が必要だと思います。「変更時刻」は、ファイルデータではなくファイルステータスです
KCバルツ

24

UNIXファイルシステムは(一般的に)作成時間を保存しません。代わりに、アクセス時間、(データ)変更時間、および(iノード)変更時間のみがあります。

ことでは、言っfindている-atime -mtime -ctime述語を:

$ man 1 find
...
-ctime   n
        プライマリは、最後の変更時刻が
        初期化時間から差し引かれたファイルステータス情報
        86400で割った値(残りは破棄されます)はnです。
...

したがってfind -ctime 0、1時間未満前にiノードが変更されたすべてのもの(ファイルの作成を含むが、リンク数とアクセス許可およびファイルサイズの変更も含まれる)を検索します。


86400秒は1時間ではなく、1 です。したがって、-ctimeetc への引数は時間ではなく単位です。
ゲイロン

12

このリンクをチェックして自分を助けてください。

基本的なコードは

#create a temp. file
echo "hi " >  t.tmp
# set the file time to 2 hours ago
touch -t 200405121120  t.tmp 
# then check for files
find /admin//dump -type f  -newer t.tmp -print -exec ls -lt {} \; | pg

おかげで、これはt.tmpのみを検索します。過去1時間に作成されたすべてのファイルを検索するにはどうすればよいですか。
アンクル

2
Ankur ..それは一時ファイルt.tmpを作成し、それが現在のディレクトリに、最後の2時間でt.tmpすなわち後に作成されたすべてのファイルを検索しますそのあと... 2時間前にその作成時刻を設定する
アユシュ

4
涼しい!!最初のコマンドは必要ありませんが。touchファイルが存在しない場合は作成します。
Amir Uval 2012


3
sudo find / -Bmin 60

manページから:

-Bmin n

ファイルのiノードの作成時刻findと開始時刻の差が次の1分に切り上げられた場合、真です。

明らかに、少し異なる設定が必要な場合がありますが、このプライマリは、過去N分間に作成されたファイルを検索するための最良のソリューションのようです。


find (GNU findutils) 4.6.0-B述語がありません
blockloop '27 / 03/19

0

詳細については、このリンクを確認してください。

現在のディレクトリで過去1時間に作成されたファイルを検索するには、-aminを使用できます

見つける。-アミン-60-タイプf

これにより、過去1時間に作成されたファイルが検索されます。

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