2015年6月22日月曜日

Posted by mattintosh | File under :
まず最初はシェルから始めようと思います。Blogger に慣れていないので最初のうちは書き方がころころ変わるかもしれませんがご了承ください。

スクリプトからシェルに慣れていく

シェルに慣れるためにはコマンドをひたすら実行するというのもありますが、「スクリプトを書く」というのがおすすめです。以下におすすめポイントを挙げます。
  • ゆっくり書ける
  • 再実行が簡単
  • 記録として残る(必要なくなったりすればコメントアウトするだけで良い)
  • パイプや演算子を使った複数コマンドの連結がしやすい
  • for などのループ文や if などの複数行文が書きやすい
  • 関数が書きやすい
  • エディタのシンタックスハイライトを利用できる
例えば、もしあなたが英語に慣れていない場合、(人によるかもしれませんが)いきなり話すより紙に書いてみた方が文が組み立てやすいですよね?シェルも同じようにスクリプトを書くことで文が組み立てやすく、理解しやすくもなります。

シェルに関しては Wikipedia などを見ていただければわかると思うのですが、簡単に言ってしまうとひとつの「言語」です。「言語」ですので我々が使っている日本語や英語と同じように規則があります。それらきちんと覚えることで日常で会話するのと同じようにターミナルでコマンドを実行できるようになるはずです。 LPIC の勉強を始めた方はまず、ターミナル(「端末」、「コンソール」と言ったりもしますが、ここでは「ターミナル」で統一します)で lscat などのコマンドを叩いて練習すると思います。そこで何か気づいたことはあるでしょうか?

英語では命令形の場合、動詞が一番最初にきますよね?コマンドも「命令」ですので英語と同じようにコマンドが一番最初にきます(※必ずしも最初にくるわけではありません)。
上記のコマンドの場合、コマンドは cat引数sample.txt です。もし、cat を省略したり、catsample.txt を引数を入れ替えてしまうと sample.txt がコマンド(もしくはスクリプト)。最悪の場合、sample.txt に書かれているスクリプトが実行されてしまう可能性もありますので順番はとても重要です。

このような規則の他にもシェルごとの方言なんかもあったりするので追々話していきたいと思います。

シェルの種類

シェルにはいくつか種類があります。
  • sh
  • bash
  • csh
  • ksh
  • zsh
上記以外にもたくさんの種類があります。最も多く使われているのは bash だと思います(脆弱性で話題になりましたが)。LPIC Level 1 の試験ではそれ以外のシェルは出てこない(ような気がする)なので、ここでは特に記載がない限りは bash の説明だと思ってください。bash のバージョンについても特に記載がなければ 4.3 と思ってください(「バージョンによって違いがある」ということはとりあえず覚えておいてください)。

エディタとフォントの準備

スクリプトを書くときにエディタとフォントはとても重要なものです。まずはそれぞれを選ぶときのポイントを挙げます。以下は私が個人的に重要視しているものであり、必ずしも要件を満たしているものが扱いやすいというわけではありません。

エディタ

  • シンタックスハイライトに対応している
  • 空白スペース、タブ、改行の表示に対応している
  • タブを空白に変換でき、インデントのサイズを指定できる
  • コマンド実行に対応している
  • UTF-8 に対応している(文字エンコーディングを変更することができる)
  • 改行コード LF に対応している(改行コードを変更することができる)
私は普段、ターミナルアプリケーション上で vim を使用していますが、GUI アプリケーションで作業するときは Komodo Edit を使用しています。Komodo Edit は Windows/Mac/Linux で使用することができます(ただし、Linux 版は手動でインストールする必要があります)。 Windows の場合は gvim や cygwin + vim などを使う手もあります。

フォント

  • 0O の見分けがつくもの
  • 1lI の見分けがつくもの
  • ij の見分けがつくもの
フォントのおすすめは DejaVu Sans MonoSource Code Pro です。フォントは色々な Web サイトからダウンロードできますが、おすすめをひとつご紹介しておきます。
なお、投稿時点ではこのブログの等幅フォントは Cousine を使用しています。

エディタとフォントのサンプル

Komodo Edit と Cousine というフォントの組み合わせたときのサンプルです。シンタックスハイライトはコードが正しくかけているかどうかの確認ができます。まだ慣れていないうちはクオートの閉じ忘れなどもよくあることですが、シンタックスハイライトによってそういったミスを見つけることができます。



ターミナルで emacs や vim を使う場合は分割表示可能なものをおすすめします。画像は Terminator というアプリケーションのものです。アプリケーションが分割表示に対応していなければ tmux の導入もおすすめです。



Linux ではエディタやフォント、ターミナルはたくさんありますので色々試してみて自分に合うものを探してみてください。

0 コメント:

コメントを投稿