このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンド演習39

以下のコマンドの演習を行います。

実際にコマンド操作を行いながら、Linuxの操作に慣れていきましょう。

演習01:「www」という文字列を含む行を検索

・’/etc/services’ ファイル内の行で「www」という文字列を含む行を検索します。

$ grep www /etc/services
#       http://www.iana.org/assignments/port-numbers
http            80/tcp          www www-http    # WorldWideWeb HTTP
http            80/udp          www www-http    # HyperText Transfer Protocol
www-ldap-gw     1760/tcp                # www-ldap-gw
www-ldap-gw     1760/udp                # www-ldap-gw
www-dev         2784/tcp                # world wide web - development
www-dev         2784/udp                # world wide web - development
flirtmitmir     3840/tcp                # www.FlirtMitMir.de
flirtmitmir     3840/udp                # www.FlirtMitMir.de
演習02:大文字小文字を区別せずに「www」という文字列を含む行を検索

 -i オプションを使用して、大文字小文字を区別せずに `/etc/services’ ファイルから「www」という文字列を含む行を検索します。

$ grep -i www /etc/services
#       http://www.iana.org/assignments/port-numbers
http            80/tcp          www www-http    # WorldWideWeb HTTP
http            80/udp          www www-http    # HyperText Transfer Protocol
webcache        8080/tcp        http-alt        # WWW caching service
webcache        8080/udp        http-alt        # WWW caching service
www-ldap-gw     1760/tcp                # www-ldap-gw
www-ldap-gw     1760/udp                # www-ldap-gw
www-dev         2784/tcp                # world wide web - development
www-dev         2784/udp                # world wide web - development
flirtmitmir     3840/tcp                # www.FlirtMitMir.de
flirtmitmir     3840/udp                # www.FlirtMitMir.de
演習03: ‘/etc/passwd’ ファイルからユーザー名が「taro」という行を検索

・’/etc/passwd’ ファイルからユーザー名が「taro」という行を検索します。

$ grep taro /etc/passwd
taro:x:1001:1001::/home/taro:/bin/bash
演習04:検索するファイルを複数指定した検索

・メタキャラクタ「*」を指定して複数のファイルから文字列「bash」が含まれる行を検索します。

$ ls -l /etc/default/*
-rw-r--r--. 1 root root  279  1月  3 11:52 /etc/default/grub
-rw-r--r--. 1 root root 1756  5月 19  2022 /etc/default/nss
-rw-r--r--. 1 root root  119  8月  6  2019 /etc/default/useradd

$ grep bash /etc/default/*
/etc/default/useradd:SHELL=/bin/bash
演習05:grepを使った絞り込み検索

・grepを使った絞り込み検索を行います。

 locateコマンドの出力をgrepコマンドにパイプします。grepコマンドでは、行頭に「/etc」にマッチするものだけに絞り込みます。

$ locate hosts | grep '^/etc'
/etc/ghostscript
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/avahi/hosts
/etc/samba/lmhosts