毎日一つのlinux命令のlocate命令


locateは使用者に速くファイルシステム内に指定されたファイルがあるかどうかを検索させることができます。その方法はまずシステム内のすべてのファイル名とパスを含むデータベースを作ってから、探している時にこのデータベースを調べて、実際にファイルシステムの中に深く入る必要がないです。一般的なdistributionの中で、データベースの構築はすべてcrontabに置かれて自動的に実行されます。
1.コマンド形式:
Locate[パラメータ選択][スタイル]
2.コマンド機能:
locateコマンドはデータベースを検索する時にファイルを素早く見つけられます。データベースはudatedbプログラムによって更新されます。udatedbはcron daemenの周期的に作られました。locateコマンドはデータベースを探す時にはハードディスクの資料から資料を探すより速いですが、下手なのはlocateが見つけたファイルです。udatedbは毎日一回走ります。設定値はcrontabを修正して更新できます。etc/crontab)
locateは条件に合ったファイルを検索するために指定しています。ファイルとディレクトリ名のデータベースに保存して、手本となる本様式の条件に合うファイルやカタログを探しています。特殊なフォントを使ってもいいです。など)の范本様式を指定します。指定された范本がkcpa*nerであれば、locateは全ての開始文字列がkcpaであり、そして最後にnerとなるファイルまたはディレクトリを探し出します。例えば、kcpanerという名称のディレクトリ名はkcpa_です。nerはこのディレクトリの下にサブディレクトリを含むすべてのファイルを表示します。
locate命令はfindファイルを探す機能と似ていますが、locateはudateプログラムを通じてハードディスクの中のすべてのファイルとディレクトリの資料を先にインデックスデータベースを作成して、loacteを実行する時に直接このインデックスを探します。検索速度は速くなります。インデックスデータベースは普通はオペレーティングシステムが統括管理していますが、直接udate強制システムを下してすぐにインデックスデータベースを修正することもできます。
3.コマンドパラメータ:
-eは探している範囲から除外されます。
-1であれば安全モードが起動します。安全モードでは、使用者は権限で見られないファイルを見ません。これは速度が遅くなります。ロカテは実際のファイルシステムでファイルの権限資料を取得しなければなりません。
fは特定のファイルシステムを除外します。例えば、私たちはプロファイルシステムのファイルをデータベースに入れていません。
-q静かモードでは、エラーメッセージは表示されません。
−nは最大n個の出力を表示する。
-r正規演算式を使って探す条件。
-o資料在庫の名称を指定します。
-dデータベースの経路を指定する
-hは補助メッセージを表示します。
-Vプログラムのバージョン情報を表示します。
4.使用例:
実例1:pwdに関するすべてのファイルを検索する
コマンド:
locate pwd
出力:

peida-VirtualBox ~ # locate pwd
/bin/pwd
/etc/.pwd.lock
/sbin/unix_chkpwd
/usr/bin/pwdx
/usr/include/pwd.h
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/fakepwd.pyc
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.py
/usr/lib/python2.7/dist-packages/twisted/python/test/test_fakepwd.pyc
/usr/lib/syslinux/pwd.c32
/usr/share/help/C/empathy/irc-join-pwd.page
/usr/share/help/ca/empathy/irc-join-pwd.page
/usr/share/help/cs/empathy/irc-join-pwd.page
/usr/share/help/de/empathy/irc-join-pwd.page
/usr/share/help/el/empathy/irc-join-pwd.page
例2:検索etcディレクトリのすべてがshで始まるファイル
コマンド:
locate/etc/sh
出力:

peida-VirtualBox ~ # locate /etc/sh
/etc/shadow
/etc/shadow-
/etc/shells
peida-VirtualBox ~ #
例3:検索etcディレクトリの下、mで始まるすべてのファイル
コマンド:
locate/etc/m
出力:

peida-VirtualBox ~ # locate /etc/m
/etc/magic
/etc/magic.mime
/etc/mailcap
/etc/mailcap.order
/etc/manpath.config
/etc/mate-settings-daemon
-eは探している範囲から除外されます。
-eの意味は、ファイルを削除したばかりで、/var/lib/mlocate/mlocate.dbデータベースファイルはまだ更新されていません。locate filenameを直接使用すると、削除されたばかりのファイルは列に並べられますが、-eを使用すると、命令はファイルが確かにファイルシステム上にあると確認します。このファイルのパスが表示されますので、一致するファイルが多いと、-eオプションは調査速度を緩めます。
locateコマンドを実行すると、システムエラー:locate:command not found。関連資料を調べたら、システム上に実行ファイルがないので、インストールが必要です。解決策は以下の通りです。
実行コマンド:root@centos62server~」(葃yuminstall locate//見てlocateはどのパッケージに属しますか?
以上は小编が皆さんに绍介した毎日のlinux命令のlocate命令です。皆さんに助けてほしいです。もし何か疑问がありましたら、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。