| コマンド | 意味 |
| : | : [arguments]引数の展開し,リディレクションを行うだけで何も実行しない。 |
source | . filename [arguments] source filename [arguments]filenameで指定したファイルを実行する。単にfilenameを入力して実行した場合は,シェル変数などにセットした値は実行終了時に破棄されるが,この形式で実行した場合は実行終了後もそのまま保存される。 |
| bg | bg [jobspec] 中断中のジョブをバックグラウンド実行に切替えます。 |
| bind | bind [-m keymap] [-lpsvPSV] bind [-m keymap] [-q function] [-u function] [-r keyseq] bind [-m keymap] -f filename bind [-m keymap] keyseq:function-name
readline(コマンド行入力編集機能)のキー割付状態を表示したり変更する。 -m キーマップの名前。emacs,emacs-standard,emacs-meta,emacs-ctlx,vi,vi-command,vi-insertのどれか。 -l Readline機能の一覧表示 -p 機能とキー割り当ての一覧表示(再読込可能形式) -P 機能とキー割り当ての一覧表示 -v Readline変数名と値の一覧表示(再読込可能形式) -V Readline変数名と値の一覧表示 -s Readlineキーシーケンスのマクロへの割当一覧(再読込可能形式) -S Readlineキーシーケンスのマクロへの割当一覧 -f ファイルからキーの割当情報を読込む -q 名前付きファンクションのキー割当を表示 -u 名前付きファンクションへのキー割当を解除 -r キーシーケンスの割当を解除 -d 機能名とキー割当を一覧表示(再読込可能形式)(1.14) |
| builtin | builtin [shell-builtin [args]]組込みコマンドを実行する。組込みコマンドと同名のシェル関数内で組込みコマンドを実行するときに使う。 |
| break | break [n]for,while,do until などのループ制御から抜ける。nが指定されている場合は,n段外側のループまで抜ける。 |
| cd | cd [-LP] [directory]指定したディレクトリに移動する。 directoryが指定されない場合はホームディレクトリに移動する。 シェル変数CDPATHが定義されている場合は,そこから移動先のディレクトリを探す。 -L 移動先がシンボリックリンクでも,そこに移動する。これがデフォルトの動作。 -P 移動先がシンボリックリンクの場合には,そこには移動しない。 |
| command | command [-p] command [arg ...]外部コマンドや組込みコマンドと同名のシェル関数が定義されている場合,そのままコマンドを入力するとシェル関数が実行されるが,commandを使うとシェル関数を実行せずに組込みコマンドや外部コマンドを実行する。 -p デフォルトの$PATHを使うcommand [-Vv] command [arg ...]commandの内容を表示する。 -V コマンドの内容を表示する -v 外部コマンドの場合,コマンドファイルのパス名を表示する |
| continue | continue [n]ループ制御の先頭に戻り,ループを継続する。nが指定されている場合は,n段外側のループの先頭に戻る。 |
| declare | declare [-afFrxi] [name[=value]] typeset [-afFrxi] [name[=value]]シェル変数やBash変数を宣言したり,値を与える。 -a nameは配列 -f nameは関数名 -F 関数名と属性だけ表示する -i nameは整数 -r nameは読込のみ -x nameを環境変数によってエキスポートし,後続のコマンドから参照できるようにするdeclare [-p] [name]シェル変数やBash変数の値を表示する。 -p nameの値と属性を表示するします。declare XXX=xxx declare -x YYY=yyy echo "XXX=$XXX" echo "YYY=$YYY" bash declare2 (declare2の内容) echo "you entered in declare2" printenv echo "XXX=$XXX" echo "YYY=$YYY"
|
| disown | disown [-ar] [-h] [jobspec ...] アクティブジョブテーブルから削除します。 |
| echo | echo [-neE][arg ...]引数で指定した値を標準出力に出力する。 -n 末尾に改行コードを出力しない -e エスケープ文字('\')の置き換えを行う -E エスケープ文字('\')の置き換えを行わない |
| enable | enable [-n] [-f filename] [-ds] [name ...]組込みコマンドを無効/有効にする。 -n nameで指定した組込みコマンドを無効にする -f 組込みコマンドをファイルから読込む -d -fオプションで読込んだ組込みコマンドを無効にする -s POSIXのspecial builtinとして機能するenable [-p] [-f filename] [-a] [name ...]有効な組み込みコマンドを表示する。 -a 無効なものも含めて組込みコマンドを全部表示する。 -all -aと同じ(1.14) -p 有効な組込みコマンドを一覧表示します。 |
| eval | eval [arg1 arg2 ...]arg1,arg2...を結合し,それを一つのコマンドと引数として実行する。COM=echo ARG="test for eval" eval $COM $ARG
|
| exec | exec [[-] command [arguments]](1.14) exec [-cl] [-a name] [command [arguments]]commandがシェルと置き換わる。argumentsはcommandへの引数。 -c commandが動作する環境変数に何もセットしない。 -l 0番目の引数として'-'を渡し,commandをログインシェルとして動作させる。 -a nameを0番目の引数としてcommandに渡す。 |
| exit | exit [n]Bashを終了する。ログインシェル中で実行すると,シェルの終了と共にログアウトする。 |
| export | export [-nf] [name[=word]] ...nameのパラメータを環境変数にエクスポートする。 -n エクスポートを取りやめにする -f nameは関数名export -pエクスポートしたnameを一覧表示する。 |
| fc | fc [-e ename] [first] [last] コマンドヒストリの内容をエディタに読み込み,編集後実行する。 -e ヒストリエントリを編集するときのエディタを指定する。省略すると$FCEDITがエディタとなる(未定義時はvi) first エントリの番号または先頭部分の文字列。編集する最初のエントリを表す last エントリの番号または先頭部分の文字列。編集する最後のエントリを表す
fc -l[nr] [first] [last] ヒストリリストの内容を標準出力に出力する。 -ln で標準出力に出力するとき,番号を出力しない -lr で標準出力に出力するとき,番号の逆順に出力する fc -s [pat=rep] [cmd] コマンドヒストリ中のエントリを実行する。 pat=rep patのパターンをrepに置き換える cmd エントリの番号または先頭の文字列。cmdで指定したエントリが実行される
|
| fg | fg [jobspec] 中断中のジョブをフォアグラウンド実行に切替えます。
|
| getopts | getopts optstring name [arg]シェルスクリプトでポジショナルパラメータを扱う。 |
| hash | hashシェルの一時記憶に登録されたコマンドを表示する。hash [-r] [-p filename] [name]シェルの一時記憶にコマンドを登録する。 -r 一時記憶をクリアする -p 通常,コマンドは$PATH中のディレクトリを検索するが,-pがあると検索せず,filenameがnameの場所となる。 name 一時記憶に登録するコマンドの名前 |
| help | help [pattern]Bashの組込みコマンドの説明を表示する。 pattern コマンドの先頭部分がpatternと一致するものの説明を表示する。 |
| history | history [-c] [n] コマンドヒストリのリストを表示する。 -c ヒストリリストをクリアする(2.2) n 表示するエントリ数
history -anrw [filename] コマンドヒストリの内容に追加したり,内容をファイルに書き出す。 -a ヒストリリストの最後にコマンドを追加する -n ヒストリファイルからまだ読込んでいないコマンドをヒストリリストの末尾に追加する -r ヒストリファイルからヒストリを読込み,その時点のヒストリリストの末尾に追加する -w ヒストリファイルにその時点のヒストリリストを書き出す
history -ps arg -s argを一つのエントリとしてヒストリリストの末尾に追加する(2.2) -p ヒストリ展開を行い,結果を標準出力に出力する。ヒストリには追加しない
|
| jobs | jobs [-lnp][ jobspec ... ] 中断中,もしくはバックグラウンドで実行中のジョブを表示する。 -l 通常の表示内容に加えてプロセスIDも表示する -n Display information only about jobs that have changed status since the user was last notified of their status. -p プロセスIDだけ表示する。 -r 実行中のジョブだけを対象にする。(2.2) -s 中断中のジョブだけを対象にする。(2.2)
jobs -x command [ args ... ]
|
| kill | kill [-n signum | -s sigspec | -sigspec] [pid | jobspec] ... プロセスにシグナルを送る。シグナルを送ることでプロセスを再起動したり,停止させたりする。 -n 送るシグナルを番号で指定する -s 送るシグナルを名前で指定する
kill -l [signum] シグナルを一覧表示する。シグナルの詳細は"man 7 signal"で参照。
|
| let | let expression [expression]expressionの式を評価して,その結果が0ならfalse(実際の値は1)を返し,0以外ならtrue(実際の値は0)を返す。 |
| local | local name[=value]シェル関数の中だけで有効な変数を定義する。 |
| logout | logout [n]ログアウトする。 n シェルから抜けるときに親シェルに渡す戻り値。 |
| printf | printf format [arguments]formatで指定して形式でargumentsの内容を標準出力に出力する。 |
| pwd | pwd [-LP]現在のディレクトリを表示する。 -L 表示するパスにシンボリックリンクを含む。これがデフォルトの動作。 -P 表示するパスにシンボリックリンクを含まない |
| read | read [-r][name ...](1.14) read [-a aname] [-p prompt] [-er] [name ...]1行分の文字列を入力させ,それをnameのシェル変数に代入する。 -p 文字を入力前にプロンプトを表示する。 -a 配列anameのインデクス値を指定する。 -r '\'を特別扱いせず,入力文字とみなす。 -e 入力時にreadline(コマンド入力編集機能)を使用する。 |
| readonly | readonly [-p]読込み専用となっている名前を一覧表示する。 -p 引数がない場合と同じ動作。readonly [-af] name ...nameを読込み専用にする。 -a nameを配列と見なす -f nameをシェル関数と見なす |
| return | return [n]nを戻り値として,シェル関数から抜ける。 |
| set | set [--abefhkmnptuvxBCHP] [-o option] [argument ...]setはシェルのオプションを設定/解除する機能だけでなく、1つのレコードからシェル変数 IFSで区切られたフィールド取り出し、それを位置パラメータに代入する機能も持っています。 setによるシェルオプションの設定/解除機能は起動時にオプションをコマンドラインで指定したのと等価です。さらにスクリプト内の任意の位置でオプションの設定や解除ができますのでスクリプトをデバッグするときに必要な部分だけの実行状態を監視することもできます。
位置パラメータへの代入機能は setの引数として与えられた文字列(レコード)から IFSを区切としてそれぞれのフィールドを切り出し、$1〜$9 に格納します。この機能はユーザが位置パラメータに値を代入できる唯一の方法で、シェルスクリプト内で多用されます。
$ set `date` ; echo $1 $date Mon Jun 21 17:32:39 JST 1993 dateコマンドの出力が setに渡されています。シェルの IFSはホワイトスペース文字ですからdateコマンドの出力をスペースで区切って位置パラメータに代入します。 dateコマンドの出力の第1フィールドは曜日を表していますので、それが位置パラメータ $1に抜き出されているのがechoの出力で分かります。また、この時に位置パラメータの数を表すシェル変数 $# には setコマンドで分解されたフィールド数が格納されています。これもechoで確認してみてください。この代入が行われると古い位置パラメータの値は永久に失われてしまいます。もし、あとで必要なものがあればユーザの責任で事前に退避しておかなければなりません。 setコマンドに引数を与えずに使うと、ユーザの環境内に存在するすべての変数が表示されます。 |
| shift | shift [n]ポジショナルパラメータをn個分シフトする。$n+1...$#が$1...$#-n+1となる。 |
| shopt | shopt [-pqsu] [-o] [optname ...]シェルの動作を制御するオプショナル変数の値をセットする。 |
| source | と同じ。 |
| suspend | suspend [-f] 実行中のシェルを中断する。 -f -fがないとログインシェルは中断しないが,-fがあるとログインシェルでも中断する。 |
test [ | 条件式を評価する。評価した結果は,0がtrue,それ以外がfalseとなる。 |
| times | time command [arg...]コマンドの実行時間を計測する。 |
| trap | trap [arg] [sigspec ...]sigspecのシグナルを受け取ったときに,argで指定したコマンドを実行するように登録する。trap -ptrapによってシグナルに対応つけられたコマンドを表示する。 trap -l シグナルの種類を一覧表示する。シグナルの詳細は"man 7 signal"で参照。 |
| type | type [-all] [-type | -path] [name ...]nameのコマンドタイプを表示する。 -a,-all 該当するものをすべて表示する。 -t,-type タイプを表すキーワード('alias','keyword','function','builtin','file'のどれか)を表示する。 -p,-path nameが外部コマンドの場合はパス名を表示する。 |
| typeset | declareと同じ |
| ulimit | ulimit [-acdflmnpstuvSH] [limit]シェルから起動されるプロセスが利用できるシステムリソース(メモリなど)の制限を表示したり,設定する。 limit limitを省略すると設定値を表示し,limitを与えるとその値を設定する。 -S ソフトウェア上の制限値 -H ハードウェア上の制限値 -a すべてのリソースに関する設定 -c コアのファイルサイズ -d プロセスのデータセグメントのサイズ -f シェルで作成するファイルの最大サイズ -l ロック可能なメモリのサイズ -m 常駐セットのサイズ -n オープンできるファイルディスクリプタの数 -p パイプの最大バッファサイズ -s 最大スタックサイズ -t CPUタイムの合計値(秒) -u シングルユーザで使用可能なプロセスの数 -v プロセスで使用可能な仮想メモリのサイズ |
| umask | umask [mode]ファイルを作成するときのモードをセットする際のマスク値を設定する。 umask [-p] [-S] 現時点でのマスク値を表示する。 -p コマンドとして再入力可能な形式でマスク値を表示する。 -S シンボリック形式でマスク値を表示する。 |
| unset | unset [-fv] [name]nameを削除します。。 -f nameを関数名と見なします。 -v nameをシェル変数と見なします。 |
| wait | wait [jobspec|pid] ジョブの終了を待ちます。 |
| エイリアス |
| alias | alias [name[=value] ...]エイリアスを定義する。 |
| unalias | unalias name ... nameのエイリアスを削除するunalias -aエイリアスを全部削除する |
| ディレクトリスタック |
| dirs | dirs [+N | -N] [-lvp]ディレクトリスタックの内容を表示する。 +N dirsの表示の左からN番目(スタックの上からN番目)のエントリを表示する。 -N dirsの表示の右からN番目(スタックの下からN番目)のエントリを表示する。 -l ~などを展開した長い形式で表示する。 -p ひとつのエントリを1行で表示する。 -v -pに加えて,スタック中の位置も表示する。dirs -cディレクトリスタックの内容をクリアする。 |
| popd | popd [+N | -N] [-n]ディレクトリスタックからエントリを取り出し,そのディレクトリに移動する。 +N dirsの表示の左からN番目(スタックの上からN番目)のエントリを取り出して,そこに移動する。 -N dirsの表示の右からN番目(スタックの下からN番目)のエントリを取り出して,そこに移動する。 -n スタックからエントリを取り出して削除するだけで,カレントディレクトリを移動しない。 |
| pushd | pushd dirカレントディレクトリを移動し,元のディレクトリをディレクトリスタックに追加する。pushd [+N | -N] [-n]ディレクトリスタック中のエントリの順番を変更し,スタックの一番上のディレクトリに移動する。 +N dirsの表示の左からN番目(スタックの上からN番目)以降エントリをスタックの先頭部分に移す。 -N dirsの表示の右からN番目(スタックの下からN番目)以降エントリをスタックの先頭部分に移す。 -n スタック中のエントリの順番を入れ替えるだけで,カレントディレクトリを移動しない。 |
| 文字列定数(Quoting) |
| '....' | 文字列定数(リテラル)として扱われる。 |
| "....." | 文字列定数(リテラル)として扱われる。ただし,下記の文字は特別な意味を持ち,その点が'.....'とは異なる。 | $ | シェル起動時のパラメータやシェル変数と置き換わる。 なお,'$*'と'$@'はシェルパラメータ展開が行われ,パラメータとして与えられた文字列に置き換わる。 | | ` | `.....`の部分がコマンドとして実行され,その結果と置き換わる | | \ | エスケープ文字として扱われる。つまり,'\'の後に特別な機能を持った文字('$','`',)が続いたとき,その文字を普通の文字として扱う。'\'の後に普通の文字が続く場合は'\'という文字となり,エスケープ文字としては扱わない。 | |
| $'....' | $'.....'では,C言語の文字列定数と同じように次の文字置き換えが行われる。 | \a | 警告音 | | \b | バックスペース | | \e | エスケープ文字 | | \f | フォームフィード | | \n | 改行 | | \r | キャリッジリターン | | \t | 水平タブ | | \v | 垂直タブ | | \\ | \を意味する | | \nnn | 文字コードが8進数でnnnという値を持つ文字 | | \xnn | 文字コードが16進数でnnという値を持つ文字 | |
| コメント |
| # | #以後の文字はコメントと見なされ,無視される。#が行の途中にある場合も,それ以後はコメントとなる。 |
| #! プログラム名 | ファイルの先頭行が#!で始まる場合,それに続くプログラムをインタプリタとして使い,そのファイルを実行する。 |