Linuxのlocateコマンドの使い方

Linuxのlocateコマンドの使い方

01. コマンドの概要

実際には、locate コマンドは find -name の別の書き方ですが、特定のディレクトリではなく、すべてのローカル ファイル情報を含むデータベース /var/lib/locatedb を検索するため、後者よりもはるかに高速です。 Linux システムはこのデータベースを自動的に作成し、1 日に 1 回更新するため、locate コマンドを使用して最新の変更されたファイルを見つけることはできません。この状況を回避するには、locate を使用する前に、updatedb コマンドを使用してデータベースを手動で更新します。

02. コマンド形式

[オプション]… [パターン]… を検索

03. 共通オプション

使用法: [オプション]... [パターン]... を検索します
mlocate データベース内のエントリを検索します。
 -A、--all すべてのパターンに一致するエントリのみを表示します -b、--basename 一意のパス名に一致するベースファイル名 -c、--count 見つかったエントリの数のみを表示します -d、--database DBPATH デフォルトのデータベース (/var/lib/mlocate/mlocate.db) を DBPATH に置き換えます
 -e, --existing は現在存在するファイルのエントリのみを表示します -L, --follow ファイルが存在する場合は、シンボリックリンクをたどります (デフォルト)
 -h, --help このヘルプを表示する -i, --ignore-case パターンに一致するときに大文字と小文字の違いを無視する -l, --limit, -n LIMIT 出力を LIMIT 項目 (または数) に制限する 
 -m、--mmap 下位互換性を無視します -P、--nofollow、-H ファイルをチェックするときに、忍び寄るシンボリック リンクをたどりません -0、--null 出力で NUL を含む項目を分離します -S、--statistics 項目を検索せず、使用されている各データベースに関する統計情報を表示します -q、--quiet データベースの読み取りに関するエラー メッセージを報告しません -r、--regexp REGEXP パターンの代わりに基本正規表現 REGEXP を検索します --regex パターンは拡張正規表現です -s、--stdio 下位互換性を無視します -V、--version バージョン情報を表示します -w、--wholename 完全なパス名に一致します (デフォルト)

04. 参考例

4.1 特定の文字列を含む関連ファイルを検索する

[root@localhost ~]# ifconfigを探す 
oracle_app_scripts は、次のディレクトリにあります。
/usr/libexec/hypervkvpd/hv_set_ifconfig
/usr/sbin/ifconfig
/usr/sbin/pifconfig
:/usr/share/man/de/man8/ifconfig.8.gz より前のバージョン
:/usr/share/man/fr/man8/ifconfig.8.gz より前のバージョン
: ファイル: /usr/share/man/man8/ifconfig.8.gz
: /usr/share/man/man8/pifconfig.8.gz より前のバージョン
:/usr/share/man/pt/man8/ifconfig.8.gz より前のバージョン
: /usr/share/man/zh_CN/man8/ifconfig.8.gz より作成
[root@localhost ~]# 

4.2 ディレクトリ内のshで始まるすべてのファイルを検索する

[root@localhost ~]# /bin/sh を見つける
/home/oracle/app/oracle/product/11.2.0/dbhome_1/perl/bin/shasum
バイナリ
/usr/bin/sha1sum
sha224sum は、
sha256 サム
sha384 サム

4.3 表示数量を指定する

表示するコンテンツが多すぎる場合は、-n オプションを使用して、表示される項目の数を制限できます。

[root@localhost ~]#locate -n 3 パスワード
/etc/passwd
/etc/passwd -
パスワード
[root@localhost ~]# 

4.4 パターンマッチング時に大文字と小文字の違いを無視する

検索で大文字と小文字を区別する必要がない場合は、-i オプションを使用します。

[root@localhost ~]#locate -i -n 5 パスワード
/etc/passwd
/etc/passwd -
パスワード
/etc/security/opasswd
oracle_app_images は、次の例のように、 oracle_app_images という名前のファイルに格納されます。
[root@localhost ~]#

4.5 基本的な正規表現の検索 REGEXP パターンを置換する

特定のルールを満たす情報を検索する必要がある場合は、-r オプションを使用して対応する正規表現を一致させることができます。

///var/lib/rpm で始まるファイルを検索 [root@localhost ~]#locate -r ^/var/lib/rpm
rpm は
/var/lib/rpm-状態
/var/lib/rpm/.dbenv.lock
ロック
/var/lib/rpm/ベース名
/var/lib/rpm/競合名
/var/lib/rpm/ディレクトリ名
/var/lib/rpm/グループ
/var/lib/rpm/インストールID
//etc.conf[root@localhost ~]で終わるファイルを探す#locate -r etc.conf$
/usr/lib/tmpfiles.d/etc.conf
[root@localhost ~]#

4.6 最近変更されたファイルを見つける

# 新しいファイルを作成する [root@localhost ~]# touch new_file
[root@localhost ~]# ~/new_file を探します
[root@localhost ~]# updatedb
[root@localhost ~]# ~/new_file を探します
/root/新しいファイル
[root@localhost ~]# 
# ファイルを削除 [root@localhost ~]# rm -rf file.txt 
[root@localhost ~]# ~/file.txt を探します
/ルート/ファイル.txt
[root@localhost ~]# updatedb
[root@localhost ~]# ~/file.txt を探します
[root@localhost ~]#

注意:locate コマンドは最近変更されたファイルを見つけることができません。これを回避するには、locate を使用する前に、updatedb コマンドを使用してデータベースを手動で更新します。

4.7 統計の表示

[deng@localhost テスト]$ ロケート -S 
データベース /var/lib/mlocate/mlocate.db:
    18,935 個のフォルダ、231,751 個のファイル、ファイル名に 13,753,723 バイト、データベースの保存に 5,707,750 バイト使用 [deng@localhost test]$

4.8 パスワード統計情報を表示する

[root@localhost /]#locate -c パスワード
183
[ルート@ローカルホスト /]#

4.9 関連設定ファイルの更新

[root@localhost /]# vim /etc/updatedb.conf 
[ルート@ローカルホスト /]#

Linux のlocateコマンドの使い方についてはこれで終了です。Linux のlocateコマンドについてさらに詳しく知りたい方は、123WORDPRESS.COM の過去記事や以下の関連記事をご覧ください。今後とも123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux の 2 つの検索コマンド:locate と find の詳細な説明
  • 1日1つのLinuxコマンド:locateコマンド

<<:  MySql の知識ポイント: トランザクション、インデックス、ロックの原則、使用状況の分析

>>:  ミニプログラムカスタムコンポーネントの非効率的なグローバルスタイルの解決策

推薦する

HTML内のフレームセットタグが正常に表示されない原因の解析と解決方法

<frameset></frameset>は皆さんもよくご存知のものです。こ...

自分のブログを構築しながら学んだこと

<br />ブログを始めて 1 年、私はブログの内外で多くのことを個人的に学びました。ま...

削除、切り捨て、ドロップの違いと選択方法

序文先週、同僚が私に尋ねました。「兄さん、MySQL にバグを見つけました。午後にディスクをクリーン...

Linux コマンドライン操作 Baidu クラウドのファイルのアップロードとダウンロード

目次0. 背景1. インストール2. Baidu Cloudアカウントにログインする3. ファイルを...

Vue のレスポンシブ原則と双方向データの詳細な分析

応答性を実現するための object.defineProperty の理解observe/watch...

Linux ダイナミックライブラリの生成と使用ガイドの詳細な説明

Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...

SSH ポート転送とは何ですか?何の役に立つの?

目次序文1. ローカルポート転送2. リモートポート転送3. 動的ポート転送(SOCKS5) 4. ...

JavaScriptはスライダーを介してWebページの色を変更することを実装します

みなさんこんにちは、今日はウェブフロントエンドのHTMLを見ていたら、inputタグのtype属性が...

Linux での MySql centos7 のバイナリコンパイルとインストールに関するチュートリアル

// これをインストールするのに丸一日かかったので、記録するためにメモを書きました。 //何か問題が...

CSSオーバーフローメカニズムについての簡単な説明

CSS オーバーフローのメカニズムを詳細に学ぶ必要があるのはなぜですか?実際の開発プロセスでは、コン...

win10 64 ビット システムに複数の JDK バージョンをインストールする際の切り替え問題と解決策の概要

コンピューターにmyeclipse2017とidea2017がインストールされているため、ideaが...

CSSをiPhoneのフルスクリーンに適応させる方法

1. メディアクエリ方式 /*iPhone X への適応*/ @media 画面のみ、(デバイス幅:...

CentOS 6-7 PHPのyumインストール方法(推奨)

1. 現在インストールされているPHPパッケージを確認するyum list installed |...

LDAP ユーザー認証を使用するように Linux を構成する方法

私は CentOS に実装された LDAP ユーザー管理を使用しています。これはインターネット上のほ...