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 の知識ポイント: トランザクション、インデックス、ロックの原則、使用状況の分析

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

推薦する

ログインと登録機能を実現するjs

この記事の例では、ログインと登録機能を実装するためのjsの具体的なコードを参考までに共有しています。...

Tomcat メモリ オーバーフロー問題の解決経験

少し前に、製品バージョンをテスト用にテスターに​​提出したのですが、テスト結果はまったく予想外のもの...

JConsoler を使って Tomcat の JVM メモリを監視する方法を説明します

目次1. Tomcatを監視する方法2. Java独自の監視コマンド3. Tomcatのトラブルシュ...

MySqlエスケープの詳細な使用例

MySQL エスケープエスケープとは、エスケープ文字の本来の意味を意味します。エスケープ文字の目的は...

Centos7のシステム言語を簡体字中国語に変更する方法

例示するシステムを自分でインストールする場合は、通常、システム言語をカスタマイズできます。ただし、ク...

jsはテーブルドラッグオプションを実装します

この記事の例では、テーブルドラッグオプションを実装するためのjsの具体的なコードを参考までに共有して...

Reactでパスワード強度検出器を実装する方法

目次序文使用コンポーネントの記述データ構造分析プロセス分析基礎コードの分析他の要約する序文パスワード...

JS上級編ES6の6つの継承方法

目次1. プロトタイプチェーン継承2. コンストラクタによる継承3. 組み合わせ継承4. プロトタイ...

超詳細なMySQL使用仕様の共有

最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...

FirefoxのWeb開発者を使用してWebページのスタイルを無効にする方法

前提条件: Web開発者プラグインがインストールされている操作手順: [ツール] -> [We...

MySQLで判定文を書く方法のまとめ

MySQL で判断文を書く方法:方法1. CASE関数case関数の構文: CASE条件 値1の場合...

VMware ESXi 5.5 の展開および構成図のプロセス

目次1. インストール要件2. OSイメージのダウンロード3. VMware Workstation...

...

レム適応の一般的なパッケージ3つについて

序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...

CocosCreatorメッセージ配信メカニズムの詳細な説明

概要この記事は、ゲームビジネスアーキテクチャに関連するコンテンツの紹介から始まります。ゲームビジネス...