TOP(サイトマップ)

Bashについて

(はじめに)
はじめに
Solarisって・・・
SunのセミナーとSDC
Solaris 10概要
資格(SCSA,SCNA)
Solarisフォーラム
管理人に連絡

(Solaris基本)

Solarisのインストール
システムの起動と停止
ファイルシステム
オートマウントとマウント
パッケージとパッチ
ユーザの追加と削除
ファイル権限(セキュリティ)
バックアップとリストア
CDE環境
プロセス管理/監視

(ネットワーク管理)

OSIを理解してみる
TCP/IPの設定
(TCP/IP入門)
DNSの設定
NISの設定
NFSの設定(WebNFS,CacheFS)
(NIS、NIS+、DNS違い)
DHCPの設定
1つのNICで複数IP設定

(IO関連)

インタフェース概要
SAFの管理
プリンタ管理概要
プリンタコマンド
SunSolve Online
SCSI情報(KEY,ASC,ASCQ)

(ソフトウェア関連)

Bash
Apache
Solstice DiskSuite
(SDS OSミラー回復)
Veritas VxVM

(OBPについて)

PROM(OBP)の概要
OBPでのキーボード操作
一般的なOBPコマンド
SolarisでOBPの設定
OBPに関するFAQ


(トラブル時の対応)

基本情報
エラーメッセージ
(主要メッセージ一覧)
性能関連コマンド
トレースコマンド
クラッシュダンプ
SunSolve Online

(その他)

小技集
UNIXコマンド
(manマニュアル)
システムチューニング
ネットワークチューニング
UltraSPARC T1について

(FAQ)

rootのPASSが不明
ハングアップかな?
ハードトラブル
OSが起動しない(b)
swap領域の拡張方法

(リンク)

Sun関連リンク
その他リンク
アバウトなJava入門
Perlメモ(逆引き用

BASHについて

Bourne Shellの流れをくむbashは、フリーソフトでGNUで開発されており、BourneAgainSHellから名付けられている。多くの Linux では標準のコマンドライン・インターフェースになっている。対話性や、コマンドラインの編集、補完、履歴といった機能に卓越している。SunではSolaris8以降インストール(Ver 2.0.3)されている。

最新のバージョンは2.0.5であり、http://www.gnu.org/software/bash/bash.htmlからソースをダウンロードできるリンクがある(ftp)。

【初期設定ファイル】

bashの初期設定ファイルは、/etc/profile$HOME/.bachrc$HOME/.bash_profileの3つである。この3つのファイルの違いは、まず、/etc/profileにはシステム全体としての設定が書かれており、残りの2つは、ユーザによる設定ファイルを意味し、.bashrc(alias及びPS1はこのファイルで設定すること)がシェルの起動時に読み込まれ、/etc/profile、.bash_profileがログイン時に読み込まれる。

*注: SunのWebページにはbashのバージョンが2.0.3の場合profileファイルが読み込まれないことがある。その場合の対策としてSunのWebページでは2.0.5にアップする必要があると明記してあった。



【bashの機能】

(1)コマンドライン履歴
bashには、cshなどのように履歴が残る(.bash_historyに記録される)。コマンドライン履歴機能はとても便利です。↑キーや↓キーを押してスクロールすれば、それまでに使ったコマンドを表示することができる。また、表示したコマンドを←キーや→キーで移動し、編集も可能。

joker # cat /etc/inetd/hosts ・・・・・・・・・・・・・・inetとinetdが間違え
cat: /etc/inetd/hosts をオープンできません。
joker # cat /etc/inet/hosts ・・・・・・・・・・・・・・↑を押し、←キーでinetdまで
# 移動しDeleteキー+Enter
# Internet host table
#
127.0.0.1 localhost
172.16.137.110 beta beta. loghost mailhost
172.16.137.1 gw


(2)TAB補完

ファイル、コマンド、パス名の一部を入力し、Tabキーを押すと、bashはファイルやパスの残りの部分を表示するか、またはビープ音を鳴らす。ビープ音が鳴った場合は、もう一度TABキーを押すとそこまで入力した範囲で一致するファイルやパスの一覧が表示される。

例1:
# cat /etc/inet/h でTABを押すと
# cat /etc/inet/hosts を表示

例2:
# cd /etc/i でTABを2回押すとi〜という名称のファイルの一覧が表示される。
imapd.alert inetd.conf init.d inittab ioctl.syscon
inet init initpipe install iu.ap
# cd /etc/i
入力中の情報が再度表示されるので、続いてneを入力しTABを押すとcd /etc/inetdと表示する。

例3:
# lp ・・・・・・・・・・・・・・lpと入力しTABを2回押すと
lp lpadmin lpfilter lpget lpq lprm lpshut lpsystem lpusers
lp_1251 lpc lpforms lpmove lpr lpset lpstat lptest
パスが通っているのも表示できる。同様に入力中の状態が再度表示されるのでaを入力しTABを押すと、
# lpadmin と表示される(スペースが1つ入る)

例4:
# cd /etc/inet/
# cat ・・・・・・・・・・・・・・TABを2回押すと全てのファイルが表示される
datemsk.ndpd ipsecinit.sample netmasks protocols
hosts mipagent.conf-sample networks services
inetd.conf mipagent.conf.fa-sample ntp.client slp.conf.example
ipnodes mipagent.conf.ha-sample ntp.server sock2path
# cat

*コマンドラインでの操作について(一部のTERMINALでは矢印キーが効かない場合に使用することもある。)
Ctrl-B
Ctrl-F
Ctrl-A
Ctrl-E
Ctrl-H
Ctrl-W
Ctrl-K
Ctrl-U
Ctrl-Y
Ctrl-P
カーソルを左に移動
カーソルを右に移動
カーソルを行の先頭に移動
カーソルを行の終りに移動
カーソルの左の1文字を削除
カーソル位置の単語を削除
カーソル位置から行末までの文字列を削除
行頭からカーソル位置までの文字列を削除
直前に削除した文字列を貼り付け
履歴の表示


(3)プロンプトで使えるエスケープシーケンス

bashを実行させるには、なんらかのシェルプロンプト上でbashと実行する。
bash には、プロンプトで使えるエスケープシーケンスが沢山あります。 対話型で実行される時には、bash はコマンド待ちの状態で、一次プロンプトの PS1 を表示し、コマンドを完成するのにさらに入力が必要な時には二次プロンプトの PS2 を表示します。bash ではバックスラッシュでエスケープした文字を挿入することにより、プロンプトを修飾することができます。その意味と使用例は次のとおりです。

\a ・・・ASCII のベル文字 (07)
\d ・・・"曜日 月 日"のフォーマットによる日付け
(例 "Tue May 26")
\e ・・・ASCII のエスケープ文字 (033)
\H ・・・ホスト名
\n ・・・改行
\r ・・・復帰
\s ・・・シェル名、$0 のベース名
(最後のスラッシュの後ろの部分)
\t ・・・HH:MM:SS の24Hフォーマットによる時間
\T ・・・HH:MM:SS の12Hフォーマットによる時間
\@ ・・・am/pm をつけた12Hフォーマットの時間
\u ・・・現ユーザーのユーザー名
\v ・・・bash のバージョン(例 2.00)
\V ・・・bash のリリース番号とパッチレベル
(例 2.00.0)
\w ・・・現在のディレクトリ
\W ・・・現在のディレクトリのベース名
\! ・・・現在のコマンドのヒストリー番号
\# ・・・現在のコマンドのコマンド番号
\$ ・・・UIDが0なら#、そうでなければ$
\nnn ・・・8進数nnnに対応する文字
\\ ・・・バックスラッシュ
\[ ・・・表示されない文字列の開始。端末制御シー
ケンスをプロンプトに埋め込む。
\] ・・・表示されない文字列の終り
【使用例】

ruby # PS1="\u@\h \W> "
root@ruby /> cd /etc
root@ruby /etc>

ruby # PS1="[\t][\u@\h:\w]\$ "
[09:54:44][root@ruby:/]$ cd /etc
[09:54:59][root@ruby:/etc]$

ruby # PS1="[\t \u@\h DIR-\W]\n"
[10:01:38 root@ruby DIR-/etc]
cd inet
[10:01:50 root@ruby DIR-inet]


Google
WWW を検索 Solarisでいきましょか?」内を検索



Copyright (C) 2008 Solarisでいきましょか? All rights reserved