linuxとmacにおける検索

コマンドに対する検索

which

指定されたコマンドの場所を調べる

$ which python
/Users/hondatakatomo/.pyenv/shims/python

オプション-aですべて調べる

$ which -a python
/Users/hondatakatomo/.pyenv/shims/python
/usr/bin/python

whereis

指定されたコマンドのバイナリーファイル,ソースコード,マニュアルファイルの場所を検索

  • -b バイナリファイルだけ探す
  • -m マニュアルだけ探す
  • -B ディレクトリを指定して探す

ファイルシステムの検索

locate

あらかじめデータベースを作成しておくことで、高速に検索する

$ locate OUTPUT.mobi
/Users/hondatakatomo/github/flask_book/OUTPUT.mobi

linuxでのデータベースの作成

updatedb

macでのデータベースの作成

作成しないと以下のエラーがでる

$ locate sample
> WARNING: The locate database (/var/db/locate.database) does not exist.
To create the database, run the following command:

  sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

Please be aware that the database can take some time to generate; once
the database has been created, this message will no longer appear.

これに従ってデータベースを作成

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

find

都度ファイルシステムすべてを探して検索

  • -type f ファイルに対して検索
  • -type d ディレクトリに対して検索
$ find / -name OUTPUT.mobi
/Users/hondatakatomo/Library/Application Support/Kindle/My Kindle Content/OUTPUT.mobi
/Users/hondatakatomo/github/flask_book/OUTPUT.mobi

mdfind

macではSpotlightコマンドである、mdfindコマンドが存在する。
これは、mac Spotlightのデーモンによって常にデータベースは更新されているのでデータベースの手動更新が不要で、拘束に検索できる

$ mdfind OUTPUT.mobi
/Users/hondatakatomo/Library/Application Support/Kindle/My Kindle Content/OUTPUT.mobi
/Users/hondatakatomo/github/flask_book/OUTPUT.mobi
このエントリーをはてなブックマークに追加
Takatomo Honda avatar
About Takatomo Honda
システム開発 / プロトタイプ開発 / 開発組織の構築 / アプリケーションの内製化 /等、お気軽にご相談ください。