当サイトで使用している表記と、シェルの一般的な事柄についての説明です。
Mac、あるいは Linux に偏った説明です。Windowsの場合は Gitbash あるいは Windows Subsystem for Linux を使うことを想定しています。
Contents
コマンドをどこで実行すればよいの?
一般的には 「ターミナル」、「ターミナルエミュレータ」、あるいは「コンソール」と呼ばれるソフトウェア(シェル)を立ち上げて、そこで実行します。
OSによっていろいろあります。
- Mac: ターミナル (Terminal)、 iTerm2
- Linux: Gnome
- Windows:
※ Macのターミナルは最初からインストールされていて、 アプリケーションフォルダ ▷ ユーティリティフォルダ の中に配置されています。
コマンド表記について
コマンドプロンプト
本文では コマンドの実行例を示す表記がたくさんでてきます。
例えば以下のようなものです。
1 2 |
$ cd / |
$(ドル記号)
が頭につく行は それに続くコマンドを実行することを意味しています。
コマンドを入力してからエンターキーを押すことでそのコマンドを実行できます。(先頭のドル記号は入力不要)
このドル記号のことをコマンドプロンプト(コマンド入力が可能な状態)と呼びます。
これは、使用するシェルやターミナルソフトウェア設定により変化しますが このサイトでは、 $
で統一しています。
1 2 |
# ls -alF /root/ |
コマンドプロンプトとして #(シャープ)が使われる場合もあります。
これは root ユーザーとして実行することを示しています。
さまざまなコマンドプロンプト表記があります
例えば自分が使っているシェルでは以下のように表示しています。
↑ご覧のように、もはや $
などどいったシンプルな表記ではなくなっていますが、
大事なのは プロンプトは「入力可能状態を表す」、というのと「プロンプトはカスタマイズ可能」ということです。
新しいmacOSをお使いの場合は zsh
が標準になっているかと思います。zshはもっとも拡張性の高いシェルの一つとして知られており、
さまざまなプラグインがオープンソースとして使えるようになっています。それらを使いこなして仕事を爆速で終わらせることがオペレーターに求められる能力の一つです。
実行環境表記
1 2 |
[local]$ cd / |
プロンプトの前にある [local]
は、そのコマンドをどの環境で実行するかを示しています。
以下のようなケースがあります。
- [local] ▷ ローカルPC環境 (WindowsとかMacとかのことです)
- [vm] ▷ ローカルPCの仮想マシン(vagrantなどで立ち上げた環境のこと)
実行環境表記は、実際にターミナルでは表示されません。あくまでもコマンド表記をわかりやすくするため便宜的に付加した情報です。
パス(Path)表記
パス
は、PCやサーバー上のファイル/フォルダの存在場所を特定するための情報です。
以下は cd
コマンド(Change Directory)を使って、カレントパス(現在参照しているパス)をルートに移動させる例です:
1 2 |
$ cd / |
パスは大きくわけると:
- 絶対パス:
- スラッシュ(/)から始まるパス。ルートパスからみたファイルの位置。
/
(ルートパス)- /c/Users/yourname/ (
Cドライブ
のUsersフォルダ
のyourname
フォルダ)
- スラッシュ(/)から始まるパス。ルートパスからみたファイルの位置。
- 相対パス:
- スラッシュから始まらないパス。現在のパスからみた相対的な位置。
./
(現在のパス)../
(親フォルダ)a/b/
(現在のパスからみた aフォルダの中のbフォルダ)
- スラッシュから始まらないパス。現在のパスからみた相対的な位置。
があります。
パスの最後にスラッシュが付与されたリソースの場合は、フォルダ(ディレクトリ)であることを意味します。
- /a/b/ (ルートパス ▷ aフォルダ ▷ bフォルダ)
- /a/b (ルートパス ▷ aフォルダ ▷ bフォルダ
または bファイル
)
フォルダは、ディレクトリと呼ぶこともあります。
URL、URI
パス
を同一PC(あるいはサーバー)の中のリソース(ファイル/フォルダ)を特定するための情報だとすると、
URLは、ネットワーク越しの、複数台のPC/サーバー上のリソースを特定するための情報です。
くわしくは Request for Comments – Wikipedia を読もう。
よく目にする URIのスキーマ例
- http:
- file:
- data:
- mailto:
カレントディレクトリ(シェル上の現在のディレクトリ)を意識しよう
コマンド例:
1 2 3 |
$ ls hoge.txt ls: hoge.txt: No such file or directory |
hoge.txt など存在しない!
と言われています。
ということは、 hoge.txt が存在するディレクトリに cd
コマンドを使って移動してから、
ls hoge.txt
を実行すればよい。ということを初級者ならわかるはずなので、
cd /path/to/dir/
は省略してすることが多いです。
コマンドの実行結果($?)に気を配ろう
$?
はコマンドが成功したのか失敗したのか知りたいときに使います。
1 2 3 4 5 6 |
$ ls nai.txt ls: nai.txt: No such file or directory $ echo $? 1 |
1 2 3 4 5 6 |
$ ls aru.txt aru.txt $ echo $? 0 |
0は成功です。0以外は失敗を意味します。
こういう単純なケースの場合は検索すればいっぱいでてきますが、
たとえばパイプを使った場合に、すべてのコマンドが成功したら、あるいは一部失敗、すべて失敗、を知りたいときはどうするか?
それは、こんど気が向いたら書きます。
No comment yet, add your voice below!