TOPサーバ構築・運用> シェルスクリプトとは
CentOS
CentOSで始めるサーバ構築入門

第2回:CentOSのコマンドは難しくない!

著者:オープンドリーム  小山 健二   2007/6/14
前のページ  1  2  3
シェルスクリプトとは

   シェルスクリプトとは、複数のコマンドをファイルの形でまとめておき、それを呼び出すことでバッチ処理できるようにしたものです。あらかじめ用意した複数の処理を、一連の処理として一括して行うことをバッチ処理といいます。

   ここでシェルスクリプトの具体例を用意しました。この例にに沿って確認してみましょう。これはtestディレクトリを作成し、その中にシェルスクリプトを記述したファイルを作成するものです(viコマンドについては割愛します)。

   まず、下記のようなファイルを作成するコマンドを入力します。
[… koyama]$ mkdir test
[… koyama]$ cd test
[… test]$ vi shell

   次にshellファイルのスクリプトを記述します。

   #!/bin/bash
   cd open
   mkdir dream
   cd dream
   date
   pwd

   そしてこのシェルスクリプトを、そのファイルがあるディレクトリ内で実行します。

[… test]$ sh shell …作業ディレクトリは「/test」

   実行した結果が下記のようなものです。


実行結果

2007年 6月7日 木曜日 17:55:16 JST …dateコマンドの実行結果
/home/koyama/test/open/dream …pwdコマンドの実行結果
[... dream]$ …cdコマンドによって作業ディレクトリが変更している

   以上のように、シェルスクリプトによって複数のコマンドを一斉に実行することができました。

   このように、コマンドで処理を行うからこそバッチ処理が可能となるのです。また「シェルスクリプト」と「cron」という自動実行機能を合わせることによって、次のようなことが実現可能となります。

「午前3時になったら、自動的にbackupディレクトリを作ってファイルのバックアップを取り、もとのファイルは削除する」。

   こういった作業はサーバ管理ではよくある作業ですが、これもコマンドによってカーネルへ命令を出すからこそできることなのです。

   いかがだったでしょうか。コマンドについて理解していただけたでしょうか。第2回はここまでです。最後となる次回では、ユーザの設定やパッケージのインストールについて紹介します。

rootのパスワードを忘れてしまった場合の対処法

   第1回で予告しておいた「rootのパスワードを忘れてしまった場合の対処法」を紹介します。「シングルユーザモードで起動し、rootのパスワードを再設定する」という方法で、rootのパスワードがなくても方法さえ知っていれば対処できます。

   具体的な手順は以下の通りです。

   まず「Ctrl」+「Alt」+「Del」キーを押して「コンピュータの再起動」を選択します。

   再起動がはじまり「Tab」キーを押すと、図1のような画面になります。

再起動後の画面
図1:再起動後の画面
(画像をクリックすると別ウィンドウに拡大図を表示します)

   この画面はブートローダーが「GRUB」のものです。ブートローダーが「GRUB」か「LILO」かによって手順が異なりますが、最近のLinuxのブートローダーのほとんどがGRUBですので、ここではGRUBの場合のみを紹介します。

   図1の画面が表示されたらOSを選択して「E」を押し、続けて「kernel /vmlinuz…」の行を選択して再度「E」を押します。

singleと加筆
図2:singleと加筆
(画像をクリックすると別ウィンドウに拡大図を表示します)

   そうしたら「grub edit> kernel /vmlinuz……quiet」の後ろに、スペースに続けて「single」と追加して「Enter」を押します。「single」の代わりに「1」と入力しても同様です。1つ前の画面に戻ったら「B」を押します。以上がシングルユーザモードで起動する手順となります。

シングルユーザモードの画面
図3:シングルユーザモードの画面
(画像をクリックすると別ウィンドウに拡大図を表示します)

   さらに「passwd」+「Enterキー」で「passwd」コマンドを実行し、rootの新しいパスワードを設定します。パスワードの入力、再び同じものを入力した後に「successfuly」と表示されたら成功です。続けて「reboot」コマンドを実行して再起動することで、先ほど設定したrootのパスワードでログインすることができます。

   なおご存知の方も多いと思いますが、最後の画面がCUI(Character-based User Interface)と呼ばれる「文字のみを表示するユーザインターフェース」です。CUIではキーボードからの入力のみでコンピュータへ命令を与えて操作します。パスワードの設定や再起動など、まさにコマンドが必要不可欠な場面といえるでしょう。


前のページ  1  2  3


株式会社オープンドリーム 小山 健二
著者プロフィール
株式会社オープンドリーム  小山 健二
トレーナー
私立校の数学教師、教育事務を経て、この世界へ入り込むという異色の経歴の持ち主。教師と教育事務で培った教育観を技術教育の場に還元し、「とりあえずやってみようか?」の社風の下、仕事を仕事と思わないくらいに、のびのびと研究・開発そしてメインの教育事業に従事している。今のマイブームはRuby on RailsとJava。ソースコードの量が両極端な二者間で大いに揺れている。


INDEX
第2回:CentOSのコマンドは難しくない!
  Linuxには不可欠なコマンド操作
  コマンドの例
シェルスクリプトとは