どのようにUNIXコマンドは、まだこれ以上存在しないファイル/フォルダを示して探しに来ますか?

StackOverflow https://stackoverflow.com/questions/1060919

質問

私は最近、MacPortsのものを使用するのではなく、私のMacにMAMPを使用する上で、私の全体のローカルWeb開発エリアを移動しました。私は、Python / Djangoのになってきたし、本当にこれ以上MAMPを必要としませんでした。

シング優先があまりにもファイルを使用して、私は、アプリケーションフォルダからMAMPをアンインストールした、ですが、私はそれはだかのように、ターミナルでコマンド「MAMP探し」を、それはまだすべての私/アプリケーション/ MAMP /ものを示して実行したときにどのように来ますすべてのまだ?そして、私はに 'cd' がオンのとき/アプリケーション/ MAMP /それが存在しないのですか?

見つけるには、インデックス検索システムの一種であると行うには、

何か、それゆえのものこれらの古いファイルパスがキャッシュされていますか?理由を説明し、彼らはもう表示されませんので、それをソートする方法をしてください。

役に立ちましたか?

解決

あなたは正しい考えを持っている:locateは「locatedb」と呼ばれるデータベースを使用しています。これは、通常は(OS X上のわからないもの)、システムのcronジョブによって更新されます。あなたはupdatedbコマンドを使用して更新を強制することができます。中でも http://linux-sxs.org/utilities/updatedb.html を参照してください。ます。

<時間>

また、あなたはを場合は、OSXのBUGSセクションからこの重要な注意点を注意することが予想されるファイルを見つけることができません」<のhref = "http://developer.apple.com/ライブラリ/ MAC /#のドキュメント/ダーウィン/リファレンス/マンページ/ MAN1 / locate.1.html」のrel = "nofollowをnoreferrer">(1)のマン・ページを見つけます:

The locate database is typically built by user ''nobody'' and the locate.updatedb(8) utility skips directories which are not readable for user ''nobody'', group ''nobody'', or world. For example, if your HOME directory is not world-readable, none of your files are in the database.

他のヒント

他の回答には、locateデータベースを更新する必要がに関する正しいです。私は私の見つけDBを更新するには、この別名を持ってます:

alias update_locate='sudo /usr/libexec/locate.updatedb'

私は実際に今、私が見つけたことを<のhref = "http://www.oreillynet.com/pub/a/mac/2006/01/04/mdfind.htmlもうすべてがあまり見つけ使用していません"REL =" noreferrer "> mdfind を。これは、OSXがlocatedbに比べて最新の状態に保つことで、はるかに優れているスポットライトのファイルのインデックスを使用しています。それはまた、コマンドラインから検索することができるものではかなり多くの電力を持っています。

は、確かにはインデックスを通じてのコマンド検索を見つけ、それはそれは非常に高速だ理由です。 インデックスは通常、毎晩のように実行されます。のupdatedbをのコマンドによって生成されます または毎週仕事ます。

だから、それを手動で更新するには、単に実行し、のupdatedbを

のmanページによると、そのデータベースは週に一度更新されます:

NAME
     locate.updatedb -- update locate database

SYNOPSIS
     /usr/libexec/locate.updatedb

DESCRIPTION
     The locate.updatedb utility updates the database used by locate(1).  It is typically run once a week by
     the /etc/periodic/weekly/310.locate script.

見つけmanページを見てみましょう。

http://unixhelp.ed.ac.uk/CGI /男-cgiの?探し+ 1

あなたはそれが検索データベースではなく、実際のファイルシステムを見つける表示されます。 あなたはupdatedbのコマンドを使用して、そのデータベースを更新することができます。

また、あなたが見つけ、定期的に更新しない場合を除き、それは、データベースなので、データベースにarn'tファイルシステム内のファイルを見つけるwouln'tます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top