GNU/UNIXコマンド
Bourne shell sh
Bourne Again shell bash
C shell csh
Korn shell
ksh
Z sherll zsh
利用可能なシェル /etc/shells
ログインシェル システム起動直後のシェル-Linuxはbash
/etc/passwdにユーザごとのログインシェルが記述(最後の一行?)
bash $ ユーザ
# スーパーユーザ
シェルの基本操作と設定
・Tab コマンド/ディレクトリ名/ファイル名を補完
・
・Ctrl + A 行の先頭へカーソル移動
・Ctrl + E 行の最後へカーソル移動
・Ctrl + D カーソル部分を一文字削除(Delete)
・Ctrl + H カーソルの左を一文字削除(BackSpace)
・Ctrl + L 画面をクリア-カレント行再表示
・Ctrl + C 処理中断
・Ctrl + S 画面への出力停止
・Ctrl + Q 画面への出力再開
・Ctrl + Z 処理を一時停止
ディレクトリの指定
~ (チルダ) ホームディレクトリ
. (ドット) カレントディレクトリ
.. (ドットドット) ひとつ上のディレクトリ
bashの基本設定
/home/$USER/以下に
・.bash_profile +- ログイン時に一度読み込まれる
・.profile +
・.bashrc - bash起動ごとに読み込まれる
シェル変数と環境変数
シェル変数 スコープは定義されたシェルの範囲内のみ
環境変数 スコープは定義されたシェルおよび、シェルで実行されるプログラム内からも参照可能
主な環境変数
PATH コマンドやプログラムを検索するディレクトリリスト
PWD カレントディレクトリ
HOSTNAME ホスト名---PC名
USER 現在のユーザ---アカウント
LANG ロケール(言語処理方式)
HOME カレントユーザのホームディレクトリ---/home/$USER
LOGNAME ログインシェルのユーザ名
PS1 プロンプトの表示文字列
PS2 複数行にわたる入力時のプロンプト
HISTSIZE コマンド履歴の最大値
HISTFILE コマンド履歴格納ファイル
TERM 端末の種類
YN使用のUbuntu Feisty Fawn 7.04の場合
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
PWD /home/$USER/Desktop
HOSTNAME PCname
USER $USER
LANG ja.JP.UTF-8
HOME /home/$USER
LOGNAME $USER
PS1 ${debian,chroot:+($debian_chroot)}\u@\h:\w\$
PS2 >
HISTSIZE 500
HISTFILE /home/$USER/.bash_history
TERM xterm
echo 文字列 ---文字列表示
変数名=値
echo $変数名 +--値表示
echo ${変数名} +
unset 変数名 変数削除
env 環境変数一覧表示
export 変数名 シェル変数を環境変数として新たに起動したシェルからも参照可能にする
esport 変数名=値 で同時定義も可能
環境変数PATH
内部コマンド シェル自体に組み込まれているもの
外部コマンド 独立したプログラムとして存在しているもの
外部コマンド入力時
→シェルはそのコマンドがどこにあるか調べる
→環境変数PATHを参照する
つまり
外部コマンドの絶対パスを環境変数PATHに追加(パスを通す)が必要。
環境変数PATHに通されていないコマンドは絶対パスで実行できる(権限ありき)
$PATHの修正・追加
.bash_profileを修正
PATH=$PATH:[追加ディレクトリの絶対パス]
*PATH=[追加ディレクトリの絶対パス]だと環境変数PATHを上書きしてします(追加したコマンドのみPATHが通った状態)
オペレータ
command A
command Bとして
A ; B Aに続いてBを実行
A && B Aが成功したらB
A || B AがこけたらB
(A ; B) ひとまとまりのグループとしてみる→( A || B );C とか?
{A ; B} 現在のシェル内でコマンド実行
引用符(Shiftとのコンビネーションは日本語キーボードの場合)
' シングルクォーテーション(Shift + 7) すべて文字列
echo '$DATE'→$DATE
" ダブルクォーテーション(Shift + 2) 変数は展開
echo "today is $DATE"→ today is Tue Sep 4 03:12:21 2007
展開させたくない場合はエスケープシーケンス
echo "\$DATE" = $DATE→ $DATE = Tue Sep 4 03:12:21 2007
` バッククォーテーション(Shift + @) コマンドとみて実行結果を展開
echo "`pwd`がカレントディレクトリです"→/home/$USERがカレントディレクトリです
コマンド履歴
・Ctrl + P(↑) 一つ前の実行コマンド表示
・Ctrl + N(↓) 一つ次の実行コマンド表示
・!文字列 実行したコマンドの中から指定の文字列から始まるコマンド実行
・!?文字列 実行したコマンドの中から指定の文字列を含むコマンド実行
・!! 直前のコマンド再実行
・!履歴番号 履歴番号のコマンドを実行---historyコマンドを利用
history コマンド履歴(番号つき)参照 $HISTFILE に $HISTSIZE 分保存される。
トラックバック(0)
このブログ記事を参照しているブログ一覧: GNU/UNIXコマンド
このブログ記事に対するトラックバックURL: http://jippenshar.com/igc/mt/mt-tb.cgi/70


>esport 変数名=値 で同時定義も可能
こんなコマンドねえ!
typotypo