ターミナルの基礎


ターミナルとは

ターミナルは、PCに命令をすることができるアプリケーション。
プログラムを記述したファイルを読み込み、プログラムとして実行するにはコマンドラインというツールが必要となる。

GUI(グラフィカルユーザインターフェース)

グラフィックを用いて操作を行う仕組み。つまり、一般的なPCの操作のこと。
例)クリック、ドラックアンドドロップ、ファイルの生成、削除...

CLI(コマンドラインインターフェース)

コンピュータに対してキーボードからコマンドという文字を打ち込んで操作を行う仕組み。
ターミナルはCLIに該当するアプリケーションとなる。

ターミナルの画面

コンピュータ名:~ユーザー名$ ここから入力開始
~ : カレントディレクトリ
$ : プロンプト

ディレクトリ

ディレクトリとはコンピュータ上で複数のファイルを整理するためのファイルの入れ物のことで、フォルダのことを指す。
PCの実体はディレクトリによる階層構造になっており、ディレクトリの中にさらに多くのディレクトリやファイルが保存されている。
「ルートディレクトリ」「カレントディレクトリ」「ホームディレクトリ」がある。

ルートディレクトリ

ディレクトリは階層構造になっているので、あるディレクトリは他のディレクトリに属している。
ルートディレクトリはその 階層構造の一番上にあるディレクトリのこと。

カレントディレクトリ

ターミナルで現在作業中となるディレクトリのことをカレントディレクトリと呼ぶ。
ターミナルではここを基準に、PCに命令を出していく。ターミナルで~と表示する。
ターミナルでは必要に応じて作業するディレクトリを移動しコマンドを実行していく。
移動するたびにカレントディレクトリが指し表すディレクトリは変わる。

ホームディレクトリ

新規にターミナルを立ち上げた場合に作業中となるディレクトリのこと。
Macでのデフォルトのホームディレクトリは/Users/ユーザ名となり、ターミナルでは~で表される。

パス

パスとはディレクトリやファイルの所在を示す文字列のこと。
ディレクトリは階層ごとに/(スラッシュ)で区切ります。パスの指定方法は「絶対パス」と「相対パス」の2つがある。

絶対パス

絶対パスはルートディレクトリから指定するパス。
Macの全ディレクトリにおけるルートディレクトリは/。全てのディレクトリやファイルはここからたどることができる。
そのため、絶対パスで指定するときにはパスの一番最初に/を指定。
例)一番始めの/はルートディレクトリを指し、2番目以降の/は階層の区切りを表している点を混同しないように注意。

/Users/ユーザ名/Desktop

例)/Users/ユーザ名はホームディレクトリであり、~と表すことができるため、ホームディレクトリより下層にあるディレクトリのパスは以下のような絶対パスで示すこともできる。

~/Desktop

絶対パスのメリット

どのディレクトリで作業していても指定した場所に移動できる

絶対パスのデメリット

パスをルートディレクトリからたどって指定する必要があるため、記述が冗長になる場合がある

相対パス

カレントディレクトリから指定するパス。
ルートディレクトリから指定しないため、パスの始めに/をつけてはいけない。
カレントディレクトリ直下のディレクトリやファイルであれば、どのようなディレクトリ階層にあるのか指定することなく簡単にパスの指定ができる。
記述をシンプルにパスの指定が可能となるメリットがある。ただし、カレントディレクトリがどこにあるのかによって、指定するパスを変更する必要がある。

例)カレントディレクトリがホームディレクトリの場合にデスクトップの場所を指定

Desktop

例)カレントディレクトリがホームディレクトリの場合にデスクトップにあるファイルの場所を指定

Desktop/メモ.txt