updatedb – locate コマンド用データベースを更新するコマンド

検索・探索

updatedb コマンドは、locate コマンドが利用する ファイルパスのデータベースを更新 するためのコマンドです。
通常は自動で更新されますが、手動で最新の状態に反映したい場合に利用します。

構文(Syntax)

updatedb [オプション]

主なオプション一覧

オプション説明使用例
-lファイルシステムごとにセキュリティ制限を適用(デフォルト有効)sudo updatedb -l 0
-o FILEデータベースの出力先を指定sudo updatedb -o /tmp/mlocate.db
-U PATH指定ディレクトリを検索対象のルートに指定sudo updatedb -U /home
-e PATH特定のディレクトリを検索対象から除外sudo updatedb -e /mnt
-f FS特定のファイルシステムを除外sudo updatedb -f nfs
-v進行状況を表示sudo updatedb -v

※ 多くの環境では /etc/updatedb.conf に除外設定が記述されています(例: /tmp, /var/tmp, /proc など)。

実行例

データベースを更新

sudo updatedb

/home 以下のみを対象にデータベース作成

sudo updatedb -U /home

/mnt ディレクトリを除外して更新

sudo updatedb -e /mnt

データベースを /tmp/mlocate.db に保存

sudo updatedb -o /tmp/mlocate.db

更新状況を表示しながら実行

sudo updatedb -v

エラー例(一般ユーザーで実行)

updatedb

出力例:

updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'

関連コマンド

  • locate : 更新したデータベースを利用して高速検索
  • find : 実際のファイルシステムを検索(遅いが常に最新)
  • grep : ファイル内容の検索

備考

  • updatedb の実行には通常 root 権限 が必要です。
  • 多くのディストリビューションでは cron や systemd タイマーで自動実行されるため、手動で実行するのは即時反映したいときだけです。
  • データベースの保存場所は通常 /var/lib/mlocate/mlocate.db ですが、実装(mlocate, plocate など)によって異なる場合があります。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント