目標
- コマンド操作ついて理解する
コマンド操作
複数コマンドの利用方法
コマンドはそれぞれが、ひとつの処理を行うようになっています。これは”Do one thing and do it well”(ひとつのプログラムは、ひとつのことをうまくやれ!)という「UNIX哲学」に基づいて設計されているためです。
このことから、複数の処理をまとめて行うには、それぞれのコマンドを特殊文字で結び付けて行わせることになります。
構文例 | 意味・説明 |
---|---|
コマンド1 ; コマンド2 | コマンド1の成否に関係なく、コマンド2を実行。単なる順番実行。 例: echo A ; echo B → AとBが順に表示される |
コマンド1 && コマンド2 | コマンド1が成功したときだけ、コマンド2を実行。 例: cd dir && echo OK → cd 成功時のみ「OK」表示 |
コマンド1 || コマンド2 | コマンド1が失敗したときに、コマンド2を実行。 例:cd /not_exist || echo “ディレクトリに入れませんでした” → cd /not_exist が失敗すると「ディレクトリに入れませんでした」と表示 |
(コマンド1 ; コマンド2) | サブシェルでコマンドをまとめて実行。変数や環境への影響は親シェルに反映されない。 例: (cd dir ; ls) → 元のカレントディレクトリには戻らない |
{ コマンド1 ; コマンド2; } | 現在のシェルで複数コマンドをまとめて実行。変数設定などが外に影響する。 例: { var=123; echo $var; } → var は外でも有効 |
シェルにおける引用符の使い分け
シェルでは引用符を利用して変数やコマンドの利用(文字列の解釈方法を)を制御することができます。次は、利用方法の例です。
1.シングルクォーテーション(’)
シングルクォーテーションで囲まれた文字列は、完全にリテラルな文字列として扱われます。内部にどんな特殊文字や変数があっても、そのまま文字として解釈されます。
例えば、echo ‘$USER’ と書いた場合、$USER という文字列がそのまま表示され、$USER 変数の内容は展開されません。
echo '$USER' # 出力:$USER
2.ダブルクォーテーション(”)
ダブルクォーテーションで囲まれた文字列は、基本的にリテラルな文字列として扱われますが、その中にある変数(例えば $USER)は展開されます。
例えば、echo “$USER” と書くと、$USER の中身(ユーザー名)が展開されて表示されます。
echo "$USER" # 出力:ユーザー名(例えば 'howahowa' など)
3.バックスラッシュ(\)
バックスラッシュはエスケープ文字です。直後に続く文字を、特別な意味を持たせず、そのまま文字として扱わせるために使います。例えば、特殊な意味を持つ記号($, (, ), * など)を文字として使いたいときに便利です。
例えば、\$USER と書くと、$USER を文字列として扱い、変数展開されません。
echo "\$USER" # 出力:$USER
4.バッククォーテーション(`)
バッククォーテーション(バックティック)で囲まれた部分は、その中に書かれたコマンドを実行し、そのコマンドの出力結果をそのまま展開します。
例えば、echo `date`と書くと、date
コマンドを実行して、その結果(日付)が展開されます。
echo `date` # 出力:現在の日付と時刻(例:Fri May 23 2025)
過去に利用したコマンドの利用
historyコマンド
Linux や macOS、またはその他の Unix 系システムにおいて、シェルで実行したコマンドの履歴を表示するためのコマンドです。このコマンドを使うことで、過去に実行したコマンドを簡単に確認したり、再実行したりすることができます。
history
よく使うオプション
- -n オプション
history -n は、履歴ファイルを再読み込みして、新しい履歴をシェルに反映させます。これは、履歴ファイルに手動で変更を加えた場合などに有用です。 - -c オプション
history -c は、現在のシェルセッションの履歴を消去します。このコマンドを実行すると、そのシェルで実行したコマンド履歴が削除されます。 - -w オプション
history -w は、現在のシェルセッションの履歴を 履歴ファイルに書き込む コマンドです。通常、シェルは終了時に履歴をファイルに書き込みますが、history -w を使うと、手動で履歴をファイルに保存することができます。 - -r オプション
history -r は、履歴ファイルを読み込むコマンドです。このコマンドを実行すると、履歴ファイルから履歴をシェルに読み込んで、表示します。 - !番号 コマンド
履歴内のコマンドを実行するためには、 ! に続けてコマンド番号を指定します(!n という形)。このようにすると、履歴の番号 n 番のコマンドを実行できます。
入力例:「!3」 - !文字列 コマンド
履歴内のコマンドの中で、指定した文字列で始まるコマンドを実行することができます。例えば、!ls と入力すれば、最後に実行した ls コマンドを再実行します。 - history <番号> コマンド
特定の番号からコマンド履歴を表示できます。例えば、history 20 と入力すると、履歴の最後の 20 件のコマンドを表示します。 - -d オプション
特定の履歴エントリを削除するために -d オプションを使用します。たとえば、履歴の 5 番目のコマンドを削除したい場合、次のように実行します。 - -a オプション
履歴を 現在のセッションの履歴ファイルに追加します。このコマンドを使うことで、セッション中のコマンド履歴を即座にファイルに保存できます。
HISTSIZE と HISTFILE 環境変数
HISTSIZE
HISTSIZEは、シェルが保持する履歴の最大数を指定します。デフォルトは 1000 ですが、これを変更することで、シェルが記録する履歴の数を調整できます。
編集例
export HISTSIZE=5000
HISTFILE
HISTFILEは履歴を保存するファイルの場所を指定します。デフォルトでは、~/.bash_history(Bashの場合)に保存されます。
編集例
export HISTFILE=~/.my_history
シェル履歴操作の便利なコマンド一覧
コマンド | 説明 |
---|---|
矢印キー上 or Ctrl+P | 1つ前のコマンドを表示する |
矢印キー下 or Ctrl+N | 1つ次のコマンドを表示する |
!文字列 | 実行したコマンドの中で、指定した文字列から始まるコマンドを実行する |
!?文字列 | 実行したコマンドの中で、指定した文字列を含むコマンドを実行する |
!! | 直前に実行したコマンドを再実行する |
!履歴番号 | 該当する履歴番号のコマンドを実行する |
今回は以上になります。

ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

