
Linux サーバー内の巨大なファイルを見つける必要があります。また、多くの人が巨大なファイルを処理し、データの読み込みが行われる場所を見つける必要があります。「find」コマンドは、出力を出すのに時間がかかります。検索パスを簡素化する以外に、コマンドの結果を高速化する方法はありますか?
答え1
を使用できますdnotify
。具体的に何をしたいのか指定していないので、これ以上具体的には言えませんが、dnotify マニュアルページ状態:
dnotify - ディレクトリの内容が変更されたときにコマンドを実行する
例えば、このコマンド
dnotify -CD -r /home/my_name -e echo change to {}
/home/my_name またはそのサブディレクトリ内でファイルが作成または削除されるたびに、「change to」と変更されたファイルの名前が出力されます。
これを、以前に作成した既存ファイルのリストと組み合わせて、find を実行する代わりに読み取る、完全に最新のファイル リストを保持することができます。
答え2
使用Apache Lucene 4.6.0またはクラウドサーバー5。
個人データの高速全文検索用の Apache Solr 4.6.0。
Microsoft Windows フリーウェア プラットフォームの代替:SharePoint 2013 基盤。
答え3
1) 男の位置を特定する。
2) 変更が比較的少ない場合、またはそれほど重要でない場合は、ディレクトリ階層から find -type f をファイルに 1 回実行してキャッシュを作成します。後でこのファイルで grep を実行すると、はるかに高速になります。