12-LPIC「level1」

LPIC|level 1【コマンド操作】

目標

  • コマンド操作ついて理解する

コマンド操作

複数コマンドの利用方法

コマンドはそれぞれが、ひとつの処理を行うようになっています。これは”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

Windowsではバックスラッシュは入力時「\」で表示されます。


4.バッククォーテーション(`)
バッククォーテーション(バックティック)で囲まれた部分は、その中に書かれたコマンドを実行し、そのコマンドの出力結果をそのまま展開します。

例えば、echo `date`と書くと、date コマンドを実行して、その結果(日付)が展開されます。

echo `date` # 出力:現在の日付と時刻(例:Fri May 23 2025)

過去に利用したコマンドの利用

historyコマンド

Linux や macOS、またはその他の Unix 系システムにおいて、シェルで実行したコマンドの履歴を表示するためのコマンドです。このコマンドを使うことで、過去に実行したコマンドを簡単に確認したり、再実行したりすることができます。

history

よく使うオプション

  1. -n オプション
    history -n は、履歴ファイルを再読み込みして、新しい履歴をシェルに反映させます。これは、履歴ファイルに手動で変更を加えた場合などに有用です。
  2. -c オプション
    history -c は、現在のシェルセッションの履歴を消去します。このコマンドを実行すると、そのシェルで実行したコマンド履歴が削除されます。
  3. -w オプション
    history -w は、現在のシェルセッションの履歴を 履歴ファイルに書き込む コマンドです。通常、シェルは終了時に履歴をファイルに書き込みますが、history -w を使うと、手動で履歴をファイルに保存することができます。
  4. -r オプション
    history -r は、履歴ファイルを読み込むコマンドです。このコマンドを実行すると、履歴ファイルから履歴をシェルに読み込んで、表示します。
  5. !番号 コマンド
    履歴内のコマンドを実行するためには、 ! に続けてコマンド番号を指定します(!n という形)。このようにすると、履歴の番号 n 番のコマンドを実行できます。
    入力例:「!3」
  6. !文字列 コマンド
    履歴内のコマンドの中で、指定した文字列で始まるコマンドを実行することができます。例えば、!ls と入力すれば、最後に実行した ls コマンドを再実行します。
  7. history <番号> コマンド
    特定の番号からコマンド履歴を表示できます。例えば、history 20 と入力すると、履歴の最後の 20 件のコマンドを表示します。
  8. -d オプション
    特定の履歴エントリを削除するために -d オプションを使用します。たとえば、履歴の 5 番目のコマンドを削除したい場合、次のように実行します。
  9. -a オプション
    履歴を 現在のセッションの履歴ファイルに追加します。このコマンドを使うことで、セッション中のコマンド履歴を即座にファイルに保存できます。

HISTSIZE と HISTFILE 環境変数

HISTSIZE

HISTSIZEは、シェルが保持する履歴の最大数を指定します。デフォルトは 1000 ですが、これを変更することで、シェルが記録する履歴の数を調整できます。

編集例

export HISTSIZE=5000

HISTFILE

HISTFILEは履歴を保存するファイルの場所を指定します。デフォルトでは、~/.bash_history(Bashの場合)に保存されます。

編集例

export HISTFILE=~/.my_history

シェル履歴操作の便利なコマンド一覧

コマンド説明
矢印キー上 or Ctrl+P1つ前のコマンドを表示する
矢印キー下 or Ctrl+N1つ次のコマンドを表示する
!文字列実行したコマンドの中で、指定した文字列から始まるコマンドを実行する
!?文字列実行したコマンドの中で、指定した文字列を含むコマンドを実行する
!!直前に実行したコマンドを再実行する
!履歴番号該当する履歴番号のコマンドを実行する

今回は以上になります。

「Linux」おすすめ書籍6選【初心者・脱初心者用】| 現役エンジニア&プログラミングスクール講師「Linux」初心者の方がLinuxの操作や仕組みを理解するためのお勧めの書籍について取り上げています。また中級者として更に進んだ学習ができる書籍についても1冊取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

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

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST