目次
概要
今日、多数のユーザが、KDEやGNOMEなどのGUI(グラフィカルユーザインターフェース)を介してコンピュータを使用しています。GUIは多くの機能を備えていますが、自動タスクの実行という点では、その用途は限られます。シェルは、GUIに追加すると便利なツールです。この章では、シェル(ここではBash)のいくつかの側面について概説します。
従来、シェルとは、Bash(Bourne again Shell)のことでした。この章でも、Bashを「シェル」と呼びます。実際には、Bash以外にも、異なる機能と特性を持つシェルがあります。他のシェルの詳細については、YaSTでシェルを検索してください。
シェルは、次のように呼び出すことができます。
対話型ログインシェル。コンピュータへのログイン時に、--loginオプションとともにBashを呼び出す場合か、SSHを使用してリモートコンピュータへログインする場合に使用します。
「通常の」対話型シェル。xterm,やkonsoleなどのツールの起動時には、通常、この形式を使用します。
非対話型シェル。コマンドラインからシェルスクリプトを呼び出す場合に使用します。
使用するシェルのタイプによって、異なる設定ファイルを読み込みます。次のテーブルには、それぞれ、ログインシェル設定ファイルと非ログインシェル設定ファイルが示されています。
表 6.1. ログインシェル用Bash設定ファイル
|
ファイル |
説明 |
|---|---|
|
|
このファイルは変更しないでください。変更しても、次の更新で変更内容が破棄される可能性があります。 |
|
|
|
|
|
特定プログラムのシステム全体に渡る設定ファイルを含みます。 |
|
|
ログインシェル用のユーザ固有の設定をここに挿入します。 |
表 6.2. 非ログインシェル用Bash設定ファイル
|
|
このファイルは変更しないでください。変更しても、次の更新で変更内容が破棄される可能性があります。 |
|
|
Bashのシステム全体に渡る変更を挿入する場合のみ、このファイルを使用します。 |
|
|
ユーザ固有の設定をここに挿入します。 |
さらに、Bashでは、次のファイルも使用します。
次のテーブルでは、Linuxシステムの最も重要なハイレベルディレクトリの短い概要を示します。それらのディレクトリおよび重要なサブディレクトリの詳細については、後続のリストを参照してください。
表 6.4. 標準的なディレクトリツリーの概要
|
ディレクトリ |
目次 |
|---|---|
|
ルートディレクトリ—ディレクトリツリーの開始点 | |
|
システム管理者および通常ユーザの両者が必要とするコマンドなどの必須バイナリファイル。通常、Bashなどのシェルも含みます。 | |
|
ブートローダの静的ファイル | |
|
ホスト固有のデバイスのアクセスに必要なファイル | |
|
ホスト固有のシステム設定ファイル | |
|
システムにアカウントを持つすべてのユーザのホームディレクトリを格納します。 | |
|
必須の共有ライブラリおよびカーネルモジュール | |
|
リムーバブルメディアのマウントポイント | |
|
ファイルシステムを一時的にマウントするためのマウントポイント | |
|
アドオンアプリケーションのソフトウェアパッケージ | |
|
スーパーユーザ | |
|
必須のシステムバイナリ | |
|
システムで提供するサービスのデータ | |
|
一時ファイルを格納するディレクトリ | |
|
読み込み専用データを含む第二階層 | |
|
ログファイルなどの可変データ | |
|
システムにMicrosoft Windows*とLinuxの両方がインストールされる場合のみ利用可能。Windowsデータを含みます。 |
次のリストでは、さらに詳しい情報を提供し、ディレクトリに含まれるファイルおよびサブディレクトリの例を示します。
/bin
rootと他のユーザの両者が使用できる基本的なシェルコマンドを含みます。それらのコマンドは、 ls、mkdir、cp、mv、rm、rmdirなどです。/binには、SUSE Linux Enterprise ServerのデフォルトシェルであるBashも含まれます。
/boot
ブートローダやカーネルのデータなど、ブートに必要なデータを含みます。これらのデータは、カーネルによるユーザモードプログラムの実行開始前に使用されます。
/dev
ハードウェアコンポーネントを記述したデバイスファイルを格納します。
/etc
X Window Systemなどのプログラムの動作を制御するローカル設定ファイルを含みます。/etc/init.dサブディレクトリは、ブートプロセスで実行されるスクリプトを含みます。
/home/username
システムにアカウントを持つすべてのユーザの個人データを格納します。このディレクトリ内のファイルは、その所有者またはシステム管理者しか変更できません。デフォルトでは、電子メールのディレクトリとパーソナルデスクトップの設定が、非表示のファイルおよびディレクトリとして、ここに格納されます。デスクトップ用個人設定データは、KDEユーザの場合は.kdeまたは.kde4、GNOMEユーザの場合は.gconfとして格納されます。
![]() | ネットワーク環境でのホームディレクトリ |
|---|---|
ネットワーク環境で作業するユーザのホームディレクトリは、 | |
/lib
システムのブートとルートファイルシステムでのコマンドの実行に必要な必須共有ライブラリを含みます。Windowsで共有ライブラリに相当するものは、DLLファイルです。
/media
CD-ROM、USBスティック、デジタルカメラ(USBを使用する場合)など、リムーバブルメディアのマウントポイントを含みます。/mediaでは、一般にシステムのハードディスク以外のあらゆるタイプのドライブが保持されます。リムーバブルメディアをシステムに挿入または接続し、マウントを完了すると、ただちに、そのメディアにこのディレクトリからアクセスできます。
/mnt
このディレクトリは一時的にマウントされるファイルシステムのマウントポイントを提供します。rootがここでファイルシステムをマウントできます。
/opt
追加ソフトウェアのインストール用に予約されています。オプションソフトウェアや大型アドオンプログラムのパッケージをここに格納できます。現在は、KDE3はここにありますが、KDE4とGNOMEは、/usrに移動されています。
/root
rootユーザのホームディレクトリ。rootの個人データがここに保存されます。
/sbin
sで示唆されるように、このディレクトリはスーパーユーザ用のユーティリティを格納します。/sbinには、/bin内のバイナリとともにシステムのブート、復元、および回復に不可欠なバイナリを含みます。
/srv
FTPやHTTPなど、システムによって提供されるサービスのデータを格納します。
/tmp
ファイルの一時的保管を必要とするプログラムによって使用されます。
/usr
/usrは、ユーザとは無関係であり、UNIX system resourcesを意味する略語です。/usr内のデータは静的な読み込み専用データです。このデータは、FHS(Filesystem Hierarchy Standard)に準拠するホスト間で共有できます。このディレクトリは、すべてのアプリケーションプログラムを含み、ファイルシステム内の第二階層を形成します。KDE4とGNOMEも、このディレクトリに格納されています。/usrには、/usr/bin、/usr/sbin、/usr/local、/usr/share/docなど、多数のサブディレクトリがあります。
/usr/bin
一般ユーザがアクセスできるプログラムを含みます。
/usr/sbin
修復関数など、システム管理者用に予約されたプログラムを含みます。
/usr/local
このディレクトリには、システム管理者がディストリビューションに依存しないローカルな拡張プログラムをインストールできます。
/usr/share/doc
システムのドキュメントファイルおよびリリースノートを格納します。manualサブディレクトリには、このマニュアルのオンラインバージョンが格納されます。複数の言語をインストールする場合は、このディレクトリに各言語のマニュアルを格納できます。
packagesには、システムにインストールされたソフトウェアパッケージに含まれているドキュメントが格納されます。パッケージごとに、サブディレクトリ /usr/share/doc/packages/が作成されます。このサブディレクトリには、多くの場合、READMEファイルが含まれます。例、設定ファイル、または追加スクリプトが含まれる場合もあります。
packagename
HOWTOをシステムにインストールした場合は、/usr/share/docにhowtoサブディレクトリも含まれます。このサブディレクトリには、Linuxソフトウェアの設定および操作に関する多数のタスクの追加ドキュメントが格納されます。
/var
/usrは静的な読み込み専用データを含みますが、/varは、システム動作時に書き込まれる可変データ(ログファイル、スプールデータなど)のディレクトリです。たとえば、システムのログファイルは、/var/log/messagesに格納され、rootだけがアクセスできます。