日刊アスキー Linux Top ASCII24 News ASCII24 Review ASCII24 Business Center 携帯24 Mac24 Akiba2GO! 日刊アスキー Linux デジタル用語辞典 ASCII24 Broadband Center ニュース 今日のコラム イベント情報 セミナー情報 Linux magazine ASCII24メールサービス アスキー編集会議
ASCII24 - [Main Menu] [Menu 2]
  ASCII24 > 日刊アスキー Linux > All ASCII Linux Issue 1
111
記事/用語/ID検索 

Linux Magazineの最新記事一覧

Biz Express Focus 『HDE Mail Filter 1.0』 (2003年7月8日)
Biz Express Focus “Ready for e-business” (2002年6月7日)
これで解決! Linux 100の疑問―その3 (2001年9月6日)
これで解決! Linux 100の疑問―その2 (2001年8月27日)
これで解決! Linux 100の疑問―その1 (2001年8月24日)
覚えておきたい必須コマンド30―その6・vi、最初の一歩 (2001年7月13日)
覚えておきたい必須コマンド30―その5・シェルを使おう (2001年6月27日)
覚えておきたい必須コマンド30―その4・コマンドリファレンス (2001年6月18日)
覚えておきたい必須コマンド30―その3・管理コマンド (2001年6月12日)
覚えておきたい必須コマンド30―その2・便利なコマンド (2001年6月9日)
覚えておきたい必須コマンド30―その1・ファイルの基本操作 (2001年5月31日)
初めてでも大丈夫!今日から使える Linux (第3部) (2001年5月25日)
初めてでも大丈夫!今日から使える Linux (第2部) (2001年5月21日)
初めてでも大丈夫!今日から使える Linux (第1部) (2001年5月14日)






Contact Information

[PR]
Printable Version All ASCII Linux Issue / Linux Magazine 2000年2月号

これで解決! Linux 100の疑問―その3

システムの起動・ルートユーザー・シェル


2001年9月6日

シェルその1

シェルとはなんですか?

A:広義には「ユーザーとシステムの橋渡しをするインターフェイス」ということになります(図2)。ただし、Linuxでは「コマンドラインに渡された文字列を解釈して、その命令をシステムに渡すもの」(コマンドラインインタープリタ)の意味で使われることがほとんどです。元々コマンドラインでの利用が主流だったUNIXでは、コマンドラインインタープリタとしてのシェルは数多く作られており、Bourneシェル(sh)、Cシェル(csh)、Kornシェル(ksh)、tcsh、bash、zshなどの種類があります。

図2
図2 シェルの概念

Q:それぞれのシェルはどんな特徴がありますか?

A:これらのシェルは、sh系とcsh系に大別することができます。sh系の大元になるのがBourneシェルです。Bourneシェル(sh)は、AT&Tベル研究所のSteven Bourne氏によって作られたもので、古くからUNIXでは標準的にバンドルされてきたシェルです。Bシェルと呼ばれることもあります。このBourneシェルはUNIXでは標準的な存在ながら、非常にプリミティブな機能しか持っていません。

それとは別にcsh系の大元となるのがCシェルです。Cシェルは、UCB(カリフォルニア大学バークレー校)で、viやBSDの開発で知られるBill Joyによって作られました。ジョブ制御やエイリアスなどBourneシェルにない機能を持っています。また、C言語に似た文法でスクリプトを記述できるという特徴を持っています。

これらの2つシェルを中心に、拡張版としていくつかのシェルができました。sh系の後継として、Kornシェルやbashが開発されました。Kornシェル(ksh)はベル研究所のDavid Korn氏によって開発されました。Kornシェルは、BourneシェルとCシェルの優れた機能を取り込んだシェルで、商用製品です(以前のバージョンを基にパブリックドメインとして提供されているものはある)。

一方のcsh系には、tcshがあります。tcshは、Cシェルの機能に加えて、コマンド行編集が改善されています。

Linuxで標準的に利用されているbashは、Bourne Again Shellの略称で、GNUプロジェクトによる成果物です。Bourneシェルとの互換性だけでなく、CシェルやKornシェルの機能も取り込んでいます。基本機能だけでもあらゆるシェルの特徴を持っていますが、カスタマイズ力も高くなっています。

Q:自分が使っているシェルを知りたいときは?

A:コマンドラインから、


$ echo $SHELL

と入力します。Linuxではほとんどの場合、bashを使用しているでしょう。

Q:シェルを変更するには?

A:コマンドラインから、chshコマンドを実行することでシェルを変更できます。さらに、LinuxconfやturbousercfgなどのGUIツールからも変更可能です。

Q:ホームディレクトリにある.bash_profile、.bashrc、.bash_logoutは、それぞれどのような働きをするのでしょうか?

A:簡単にいうと、.bash_profileはシステムにログインする際に読み込まれる環境定義ファイルです。.bash_loginや.profileなども.bash_profileと同様の働きをして、ホームディレクトリに.bash_profileがなければ、.bash_loginを探し、.bash_loginがなければ、.profileをという順番で探していきます。特別な理由がない限り、.bash_profileを利用すればいいでしょう。

.bashrcはサブシェルが起動されるたびごとに読み込まれる環境定義ファイルです。ただし、多くのディストリビューションでは、ログインシェルとサブシェルを区別なくコマンドを実行できるよう、.bashrcを.bash_profileの中で読み込むような設定になっています。

なお、起動時には、これらのファイルの前に、/etc/profileがあれば、このファイルが一番先に読み込まれます。

.bash_logoutは、ログアウト時に読み込まれて実行されるファイルで、テンポラリファイルの削除やログの書き込みコマンドなどを書いておけばいいでしょう。

(Linux magazine編集部)


[前ページ][次ページ]

Contents...



Copyright (C) 1997-2006 ASCII Corporation. All Rights Reserved.
No portion of this web site may be reproduced or duplicated without the express written permission of ASCII Corporation.
This web site is written in Japanese only.
記事に関するご意見やご質問は、お問い合わせフォームにてお送りください