web-dev-qa-db-ja.com

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

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

119
Ankur

検索するディレクトリが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はノード時間の変更用です(ただし、修正してください)

180
sameer

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

つまり、findには-atime-mtime-ctime述語があります。

 $ man 1  検索  
 ... 
-ctimen
初期化時間から
ファイルステータス情報を最後に変更した時間、
を86400で割った値(残りを破棄)がnである場合、プライマリはtrueと評価されます。 
 ... 

したがって、find -ctime 0は、iノードが変更されたすべてのものを検索します(たとえば、ファイル作成を含みますが、リンク数とアクセス許可、ファイルサイズの変更もカウントします)。

22
ephemient

このリンク を確認してから、自分で解決してください。

基本的なコードは

#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
10
ayush
Sudo find / -Bmin 60

manページから:

-Bmin n

ファイルのiノード作成の時刻とfindが開始された時刻との差が次の完全な分に切り上げられてn分である場合はtrue。

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

4
sudon't
  • find ./ -cTime -1 -type f

OR

  • ./ -cmin -60 -type fを見つける
3
gwecho huang