Open5

シェル攻略

Takayuki TooyamaTakayuki Tooyama

シェルとは

  • ユーザが入力したコマンドを解釈してカーネルに処理を依頼し、その結果やメッセージなどを画面に表示する機能を持っている
  • 特に説明がない限り「シェル」と言えばプロンプトでコマンドを入力する CUI のシェルのことを指す
  • シェルの種類 sh, bash, zsh, ksh, tcshなど

シェルとカーネルの関係
シェルとカーネルの関係

シェルの動作
シェルの動作

シェルの機能

  • コマンドの解釈・実行(コマンドインタプリタ)

    コマンドインタプリ
    ↓このようなコマンドを逐次解釈を行うプログラムのこと

    1. ユーザにコマンド入力を促すためのプロンプト (prompt) を表示する。
    2. キーボードから入力された文字列(コマンド)の解釈を行う。
    3. コマンドとして入力された名前のプログラムを探し出して起動する。
  • コマンド履歴の記録(ヒストリ)
  • コマンド入力・編集支援
    • 過去のコマンドの再呼び出し
    • コマンドの別名定義(alias エイリアス)
    • コマンド補完 (command completion)など
  • コマンド入出力のファイルへの切り替え(リダイレクション)

    リダイレクショ
    あるコマンドが画面に表示する結果を直接ファイルに書き出したり、既にあるファイルに書いてある内容をキーボード入力の代わりに利用すること

  • コマンド入出力の連結(パイプライン/パイプ)
    パイプライン

    パイプライン
    あるコマンドからの出力を別のコマンドに入力する仕組み

  • メタキャラクタの解釈(*, ?)

    シェルでは * と ? は特殊文字として扱われ、特定の文字ではなく「任意の文字」という意味を持つ「メタキャラクタ」として解釈

http://www.cc.kyoto-su.ac.jp/~hirai/text/shell.html

Takayuki TooyamaTakayuki Tooyama

OSとは

  • OS = オペレーションシステム
  • PCのハードウェアとソフトウェアを管理してくれる基本システム
  • OSの種類 Windows, MacOS, Android, iOS, UNIX, MVSなど
  • OSにはカーネルと呼ばれる心臓部分がある
Takayuki TooyamaTakayuki Tooyama

プロンプトとは

  • CLIにおいて、システムが入力を受け付けられる状態であることを示す短い文字や記号の並び
  • %, >, #といった記号で表示される
    プロンプト
    プロンプト
Takayuki TooyamaTakayuki Tooyama

スクリプトとは

  • 簡易なコンピュータプログラムのこと
  • 人間が読み書きしやすいプログラミング言語で書かれたプログラム(ソースコード)を即座に実行できるようなもの
  • そのようなプログラムを記述するための言語を「スクリプト言語」という
Takayuki TooyamaTakayuki Tooyama

シェルとシェルスクリプトの違い

シェル シェルスクリプト
OSとユーザのやり取りを仲立し、外殻(シェル)のような働きをするプログラム シェルが解釈できるコマンドを羅列したファイル, プログラミング言語の一種