Linuxでファイルコンテンツの検索をする


Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。
リナックスマスター2日間集中セミナー【CentOS7版】
 (今すぐ↑をクリックしてください。)

Linuxには、ファイルを検索するコマンドとして、
findコマンドやgrepコマンドが用意されています。

これらのコマンドはLinuxシステム内からユーザが指定する条件
(ファイル名やファイルタイプなど)でファイル検索、
ファイル内文字列検索を行えますが、それ単体だとシステム全体に
対してファイル内文字列検索するには不便です。

そこで今回は、Windowsでいう、「ファイルコンテンツの検索」を
Linuxで行う方法を紹介します。

Linuxでファイル内文字列検索をするには、
次のコマンドを実行します。

----------------------------------------------------------------------
find 検索したいディレクトリ -type f -print | xargs grep 検索文字列
----------------------------------------------------------------------


例えば、/home/pakiraディレクトリ内で「pakira」という文字列が
記載されてるファイルを検索したい場合には次のように実行します。
----------------------------------------------------------------------
$ find /home/pakira -type f -print | xargs grep pakira
/home/pakira/.gtkrc-1.2-gnome2:include "/home/pakira/.gtkrc.mine"
/home/pakira/.bash_history:cd /home/pakira/work/
----------------------------------------------------------------------
結果として検索文字列を含むファイル名と検索文字列の箇所が同時に表示されます。

また、システム全体をファイル内文字列検索できるので、
下記のようにサーバーのIPアドレスが記述されているファイルを
検索する事も可能です。
----------------------------------------------------------------------
$ su -     ←「su -」でrootになる
パスワード:   ←rootパスワードを入力(表示されません)
# find /etc -type f -print | xargs grep 192.168.1.36
/etc/sysconfig/network-scripts/ifcfg-eth0:IPADDR=192.168.1.36
----------------------------------------------------------------------

ある文字列を含むファイルを検索したい場合に、このコマンドは
便利ですのでぜひこのまま覚えてください。



■CentOS7.1サーバー構築マニュアルを無料プレゼント
 「CentOS7.1」のサーバー構築手順、「VMware Player」の
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。
 無料マニュアルをダウンロードする  無料マニュアルをダウンロードする