このセクションでは自宅サーバーとしてLinuxを操作するうえでよく使うコマンドについて初心者/ビギナー向けに解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
その他諸々
抜粋Linuxコマンドリファレンス

ディレクトリとファイルの操作

ディレクトリとファイルの作成

カレントディレクトリの変更

ディレクトリとファイルの表示

ディレクトリとファイルのコピーと移動

ディレクトリとファイルの削除

ディレクトリとファイルの検索

パーミッションの変更

解凍と圧縮

ディスクとパーティションの操作

ディスクを初期化・編集する

ボリュームのチェックとマウント

テキストの操作

文字や変数を画面に表示する

ファイルの内容を画面に表示する

出力するテキストに処理を行う

ユーザーとアカウント管理

アカウントの追加と削除

パスワードの設定と変更

ログインアカウントの変更

ネットワークの管理

ネットワークの状態を調べる

名前解決をテストする

ドメイン名の情報を調べる

システム・プロセス管理

ホスト機の電源オフと再起動

デーモンの自動起動設定

プログラムを予約して実行する

稼働中のプロセスを表示する

その他のコマンド

rpmを管理する

HTTP/FTPでファイルを取得する

値・状態・情報を表示する

サイト内検索

grep〜指定した文字列を含む行を表示する

ファイルの中から指定した文字列を含む行を検索し、 標準出力 する コマンド です。

コマンドの一般書式は、

grep [オプション] [パターン] [ファイル1] [ファイル2]... Enter

です。この書式では、[ファイル1]、[ファイル2]...に対して[パターン]と一致する文字列を含む行を抽出して画面に表示します。

[tanaka@web1 tanaka]$ cat /etc/sysconfig/networkEnter catコマンドの説明
NETWORKING=yes
HOSTNAME=web1.obenri.com
DOMAIN=obenri.com
GATEWAY=192.168.100.1
  ↑"/etc/sysconfig/network"の内容です。
[tanaka@web1 tanaka]$ cat /etc/hostsEnter
127.0.0.1 localhost.localdomain localhost
192.168.100.11 web1.obenri.com web1
  ↑"/etc/hosts"の内容です。
[tanaka@web1 tanaka]$ grep obenri /etc/sysconfig/networkEnter
HOSTNAME=web1.obenri.com
DOMAIN=obenri.com
  ↑"obenri"を含む行だけが表示されます。
[tanaka@web1 tanaka]$ grep obenri /etc/sysconfig/network /etc/hostsEnter
/etc/sysconfig/network:HOSTNAME=web1.obenri.com
/etc/sysconfig/network:DOMAIN=obenri.com
/etc/hosts:192.168.100.11 web1.obenri.com web1
  ↑検索対象が複数の場合はファイルの絶対パスが表示されます。
[tanaka@web1 tanaka]$

また、

grep [オプション] [パターン] Enter

のように、[ファイル1] [ファイル2]...を省略した場合には、grepコマンドは 標準出力 からのリダイレクト処理 リダイレクト処理の説明 やパイプ処理 パイプ処理の説明 を通じた入力を受けて処理します。

[tanaka@web1 tanaka]$ grep CPU < /var/log/dmesgEnter
Initializing CPU#0
CPU:  After generic, caps: 0780a17b 00000000 00000000 00000000
CPU:      Common  caps: 0780a17b 00000000 00000000 00000000
CPU: Intel(R) Celeron(R) M processor    1.30GHz stepping 08
  ↑"/var/log/dmesg"から入力のリダイレクトで"CPU"を含む行だけ表示させました。
[tanaka@web1 tanaka]$ cat /var/log/dmesg | grep CPUEnter
Initializing CPU#0
CPU:  After generic, caps: 0780a17b 00000000 00000000 00000000
CPU:      Common  caps: 0780a17b 00000000 00000000 00000000
CPU: Intel(R) Celeron(R) M processor    1.30GHz stepping 08
  ↑"cat /var/log/dmesg"からパイプ処理で"CPU"を含む行だけ表示させました。↑
[tanaka@web1 tanaka]$

grepのマスターはシェルスクリプトのため

grepは「文字列を検索して表示する」という単純な コマンド ですから、 サーバー 運用に携わっていない人にとっては、「そんなのが何の役に立つの?」という印象を受けるかもしれません。「文字列の検索なら、ワープロかエディタのほうが慣れてるし、そのほうが簡単。」と思うかもしれません。

実のところ、grepコマンドの存在意義はコマンドライン操作に対してではなく、 シェル スクリプト 内への記述にあるといえます。

LinuxOS は、 アプリケーション デーモン の起動や動作の管理、 ログ の記録の他、 ユーザー アカウント の管理など、動作に係わるほとんどの プロセス テキスト で制御し、テキストで記録します。

つまりサーバーを安全に快適に運用するためには、これらのテキストファイルを解析し、サーバーの動作を把握することが不可欠です。

しかしログファイルの多くは、不必要なデータも大量に含まれていますから、この中から必要なデータだけを抽出し、解りやすく加工する必要があります。

grepは、その多彩なオプションスイッチを駆使し、予めシェルスクリプトとして記述しておくことで、テキストファイルに対して確実に同じ処理を行うことができます。

実際、「grepを使わないサーバー管理のシェルスクリプトはあり得ない。」と思って間違いありません。シェルスクリプト上ではそれほど有用なコマンドです。

コマンドライン操作に限っていえば、grepコマンドは強いて使うべきものではないかもしれませんし、覚えておくべきオプションスイッチもないと思われます。

しかし、ある程度サーバー運用に慣れてきて、シェルスクリプトでの管理が必要になってきたときには必ずお世話になるコマンドです。

そういう訳ですから、grepの扱いに慣れておくことはとても大切なことです。できれば「わざわざgrepを使わなくてもいい」と思われるところでも積極的に活用し、日頃から感覚を身に付けておくことはとても大切なことだと思います。

sort〜テキストを一行ずつ並び替えて表示する

ファイルの中の行を並べ替えて 標準出力 する コマンド です。

コマンドの一般書式は、

sort [オプション] [ファイル1] [ファイル2]... Enter

です。この書式では、[ファイル1]、[ファイル2]...の中のすべての行を、[オプション]の指示に従って並び替えて表示します。

[tanaka@web1 tanaka]$ cd /etc/sysconfig/Enter cdコマンドの説明
[tanaka@web1 tanaka]$ cat networkEnter catコマンドの説明
 ↑"network"の内容をそのまま表示します。
NETWORKING=yes
HOSTNAME=web1.obenri.com
DOMAIN=obenri.com
GATEWAY=192.168.100.1
[tanaka@web1 tanaka]$ sort networkEnter
 ↑"network"の内容を文字コード順に並べ替えて表示します。
DOMAIN=obenri.com
GATEWAY=192.168.100.1
HOSTNAME=web1.obenri.com
NETWORKING=yes
 ↑アルファベット順に表示されました。
[tanaka@web1 sysconfig]$ cat network network-scripts/ifcfg-eth0Enter
 ↑"network"と"network-scripts/ifcfg-eth0"の内容を順にまとめて表示します。
NETWORKING=yes
HOSTNAME=web1.obenri.com
DOMAIN=obenri.com
GATEWAY=192.168.100.1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.100.11
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
NETWORK=192.168.100.0
BROADCAST=192.168.100.255
TYPE=Ethernet
USERCTL=no
PEERDNS=no
[tanaka@web1 sysconfig]$ sort network network-scripts/ifcfg-eth0Enter
 ↑"network"と"network-scripts/ifcfg-eth0"の内容をコード順に並び替えて表示します。
BOOTPROTO=none
BROADCAST=192.168.100.255
DEVICE=eth0
DOMAIN=obenri.com
ATEWAY=192.168.100.1
GATEWAY=192.168.100.1
HOSTNAME=web1.obenri.com
IPADDR=192.168.100.11
NETMASK=255.255.255.0
NETWORK=192.168.100.0
NETWORKING=yes
ONBOOT=yes
PEERDNS=no
TYPE=Ethernet
USERCTL=no
 ↑アルファベット順に表示されました。
[tanaka@web1 syscnfig]$

また、

sort [オプション] Enter

のように、[ファイル1] [ファイル2]...を省略した場合には、sortコマンドは 標準出力 からリダイレクト処理 リダイレクト処理の説明 やパイプ処理 パイプ処理の説明 を通じた入力を受けて処理します。

[tanaka@web1 tanaka]$ df | grep devEnter dfコマンドについて
 ↑"df"の出力結果から"dev"を含む行を表示します。
/dev/hda3       1004052   207980   745068 22% /
/dev/hda1        101089   14127   81743 15% /boot
/dev/hda8       5178536   39132  4876344  1% /home
none           80648     0   80648  0% /dev/shm
/dev/hda9        101089    4145   91725  5% /tmp
/dev/hda5       4032092  2177832  1649436 57% /usr
/dev/hda7       1004024   20032   932988  3% /usr/local
/dev/hda6       3020140   462604  2404120 17% /var
[tanaka@web1 tanaka]$ df | grep dev | sortEnter
 ↑"df"の出力結果から"dev"を含む行を並び替えて表示します。
/dev/hda1        101089   14127   81743 15% /boot
/dev/hda3       1004052   207980   745068 22% /
/dev/hda5       4032092  2177832  1649436 57% /usr
/dev/hda6       3020140   462604  2404120 17% /var
/dev/hda7       1004024   20032   932988  3% /usr/local
/dev/hda8       5178536   39132  4876344  1% /home
/dev/hda9        101089    4145   91725  5% /tmp
none           80648     0   80648  0% /dev/shm
[tanaka@web1 tanaka]$

more〜テキストを一画面ずつ表示する

標準出力 するタイプの コマンド を実行するとき、出力内容が一画面に収まりきれないときがあります。

こういう場合、入力のリダイレクト 入力のリダイレクトの説明 や、パイプ処理 パイプ処理の説明 とmoreコマンドを組み合わせることで、テキストファイルを一画面ずつストップさせながら出力させることができます。

画面出力を中止して プロンプト に戻るには q をタイプします。

[tanaka@web1 tanaka]$ cat /etc/httpd/conf/httpd.conf | moreEnter catコマンドの説明


moreコマンドの使用例1

スペース を押す。

moreコマンドの使用例2

q を押す。

moreコマンドの使用例3

moreコマンドには、表示する行を指定したり、指定した文字列を含む行から表示したり、といったオプションがありますが、そういうケースではこのパートの上で説明したgrepコマンドやpicoエディタ picoエディタの説明 を利用したほうが簡単ですので説明は割愛します。

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux