はじめに
この実験では、Linux の updatedb コマンドを使ってロケートデータベースを更新する方法を学びます。このデータベースは、システム上のファイルの場所に関する情報を格納しています。このデータベースは、locate コマンドによってシステム上のファイルを迅速に検索する際に使用されます。また、locate コマンドを使ってシステム上のファイルを検索する方法も学びます。この実験では、updatedb コマンドの目的、ロケートデータベースの更新、および locate コマンドを使ったファイルの検索について説明します。
updatedb コマンドの目的を理解する
このステップでは、Linux の updatedb コマンドの目的について学びます。updatedb コマンドは、システム上のファイルの場所に関する情報を格納するロケートデータベースを更新するために使用されます。このデータベースは、locate コマンドによってシステム上のファイルを迅速に検索する際に使用されます。
updatedb コマンドは、ファイルシステム全体を走査し、現在のファイルの場所でロケートデータベースを更新します。これは便利です。なぜなら、ファイルシステムは時間の経過とともに変化する可能性があり、これらの変化を反映するためにロケートデータベースを更新する必要があるからです。
まずは updatedb コマンドを実行してみましょう。
sudo updatedb
実行結果の例:
/usr/bin/updatedb: Scanning /
/usr/bin/updatedb: Scanning /boot
/usr/bin/updatedb: Scanning /dev
/usr/bin/updatedb: Scanning /etc
/usr/bin/updatedb: Scanning /home
/usr/bin/updatedb: Scanning /lib
/usr/bin/updatedb: Scanning /media
/usr/bin/updatedb: Scanning /mnt
/usr/bin/updatedb: Scanning /opt
/usr/bin/updatedb: Scanning /proc
/usr/bin/updatedb: Scanning /root
/usr/bin/updatedb: Scanning /run
/usr/bin/updatedb: Scanning /sbin
/usr/bin/updatedb: Scanning /snap
/usr/bin/updatedb: Scanning /srv
/usr/bin/updatedb: Scanning /sys
/usr/bin/updatedb: Scanning /tmp
/usr/bin/updatedb: Scanning /usr
/usr/bin/updatedb: Scanning /var
/usr/bin/updatedb: Merging directories
/usr/bin/updatedb: Writing to database
updatedb コマンドは、ファイルシステム全体を走査し、現在のファイルの場所でロケートデータベースを更新します。このプロセスには、ファイルシステムのサイズに応じて時間がかかる場合があります。
これでロケートデータベースを更新したので、locate コマンドを使ってシステム上のファイルを迅速に検索することができます。
updatedb コマンドでロケートデータベースを更新する
このステップでは、updatedb コマンドを使ってロケートデータベースを更新する方法を学びます。
updatedb コマンドは、ファイルシステム全体を走査し、現在のファイルの場所でロケートデータベースを更新します。これは便利です。なぜなら、ファイルシステムは時間の経過とともに変化する可能性があり、これらの変化を反映するためにロケートデータベースを更新する必要があるからです。
では、もう一度 updatedb コマンドを実行してみましょう。
sudo updatedb
実行結果の例:
/usr/bin/updatedb: Scanning /
/usr/bin/updatedb: Scanning /boot
/usr/bin/updatedb: Scanning /dev
/usr/bin/updatedb: Scanning /etc
/usr/bin/updatedb: Scanning /home
/usr/bin/updatedb: Scanning /lib
/usr/bin/updatedb: Scanning /media
/usr/bin/updatedb: Scanning /mnt
/usr/bin/updatedb: Scanning /opt
/usr/bin/updatedb: Scanning /proc
/usr/bin/updatedb: Scanning /root
/usr/bin/updatedb: Scanning /run
/usr/bin/updatedb: Scanning /sbin
/usr/bin/updatedb: Scanning /snap
/usr/bin/updatedb: Scanning /srv
/usr/bin/updatedb: Scanning /sys
/usr/bin/updatedb: Scanning /tmp
/usr/bin/updatedb: Scanning /usr
/usr/bin/updatedb: Scanning /var
/usr/bin/updatedb: Merging directories
/usr/bin/updatedb: Writing to database
updatedb コマンドは、ファイルシステム全体を走査し、現在のファイルの場所でロケートデータベースを更新します。このプロセスには、ファイルシステムのサイズに応じて時間がかかる場合があります。
これでロケートデータベースを更新したので、locate コマンドを使ってシステム上のファイルを迅速に検索することができます。
locate コマンドを使ってファイルを検索する
このステップでは、システム上のファイルを検索するために locate コマンドをどのように使用するかを学びます。
locate コマンドは、前のステップで更新されたロケートデータベースを使用して、ファイルを迅速に検索します。locate コマンドは、find コマンドを使用するよりもはるかに高速です。なぜなら、ファイルシステム全体を走査する必要がないからです。
まずは、locate コマンドを使ってファイルを検索してみましょう。
locate bash
実行結果の例:
/bin/bash
/etc/bash.bashrc
/etc/skel/.bashrc
/usr/bin/bashbug
/usr/bin/pkexec
/usr/include/bash
/usr/include/bashline.h
/usr/lib/bash
/usr/lib/x86_64-linux-gnu/libbash.so.5
/usr/share/bash-completion
/usr/share/bash-completion/bash_completion
/usr/share/doc/bash
/usr/share/doc/bash/changelog.Debian.gz
/usr/share/doc/bash/copyright
/usr/share/man/man1/bash.1.gz
ご覧の通り、locate コマンドは、パスに "bash" という単語を含むシステム上のすべてのファイルのリストを返します。
また、locate コマンドでワイルドカードを使用して、特定のパターンのファイルを検索することもできます。
locate *.txt
これは、システム上のすべての .txt ファイルのリストを返します。
locate コマンドは、システム上のファイルを迅速に検索するための強力なツールです。特に大きなファイルシステムの場合、find コマンドよりもはるかに高速です。
まとめ
この実験では、まず Linux の updatedb コマンドの目的について学びました。updatedb コマンドは、システム上のファイルの場所に関する情報を格納するロケートデータベースを更新するために使用されます。このデータベースは、locate コマンドによってシステム上のファイルを迅速に検索する際に使用されます。次に、updatedb コマンドを使ってロケートデータベースを更新する方法を学びました。updatedb コマンドは、ファイルシステム全体を走査し、現在のファイルの場所でロケートデータベースを更新します。このプロセスには、ファイルシステムのサイズに応じて時間がかかる場合があります。最後に、ロケートデータベースを更新した後、locate コマンドを使ってシステム上のファイルを迅速に検索する方法を学びました。



