この記事では、WEB エンジニアを目指して学習をしている初心者向けに、ターミナルの使い方について説明します。
ターミナルとは
ターミナル(terminal)とは、コマンドと呼ばれる命令文を用いて Mac(又は Linux)の操作や設定をおこなうためのツールです。
通常は利用する必要はありませんが、高度な設定をする場合や、Mac でプログラミングをおこなう場合には利用する必要があります。
主な利用場面としては以下が挙げられます。
- 作成したプログラムファイルを実行するとき
- ローカル環境でサーバーを実行するとき
- ローカル環境でデータベース(Postgresql など)を起動するとき
- SSH 接続で開発用のサーバーにアクセスするとき
- バージョン管理ソフトの git を操作するとき
- Docker のコンテナを起動するとき
ターミナル上では、マウスやトラックパッドなどの GUI(Graphical User Interface)ではなく、
キーボードでコマンドを入力して実行する CUI(Character-based User Interface)を使って操作します。
ターミナルの起動(Mac)
Mac でのターミナルの起動方法は以下の通りです。
- 「Launchpad」をクリックし、検索欄に「terminal」と入力します。
- 1番目の画像のように「ターミナル」のアイコンが表示されるので、クリックします。
- 2番目の画像のようにターミナルが起動します。
ディレクトリ
ターミナルを操作するときに重要な用語に、ディレクトリというものがあります。
ディレクトリとは、「Finder」で言うところの「フォルダ」と同じものです。
ターミナルでは、操作するディレクトリを移動しながら操作を行います。
ターミナル上で操作しているディレクトリのことをカレントディレクトリといいます。
ターミナルを操作するときは、このカレントディレクトリが重要になります。
カレントディレクトリは、以下の画像のようにターミナル上のコンピュータ名の隣に表示されます。
絶対パスと相対パス
パスとは、ファイルやフォルダがある場所までの経路を示す言葉です。
パスには絶対パスと相対パスの2種類があります。
絶対パスは、コンピュータのルートディレクトリ(/
)からのファイルやフォルダまでのパスのことです。
ターミナル上では、pwd
コマンドを実行することで、カレントディレクトリの絶対パスを確認できます。
相対パスは、カレントディレクトリからのファイルやフォルダまでのパスのことです。
相対パスでは、カレントディレクトリを「.
(ドット)」で表します。
例えば、「tmp」ディレクトリにある「dir1」を絶対パスと相対パスで表すと、
絶対パスでは、/tmp/dir1
で表します。
カレントディレクトリを「tmp」ディレクトリとすると、相対パスでは./dir1
となります。
ターミナルのディレクトリの操作でよく使うコマンド
ターミナルではディレクトリを操作するコマンドをよく使います。
ここでは、よく使うコマンドを紹介します。
ls コマンド
ls コマンドは(指定した)フォルダやファイルの一覧を表示するコマンドです。
以下のようにコマンドを使います。
パスで指定したフォルダやファイルの一覧を表示します。
パスを省略した場合は、カレントディレクトリのフォルダやファイルの一覧が表示されます。
ls [オプション] [パス]
以下の例では、カレントディレクトリをtmp
フォルダとして、ls
コマンドを実行すると
tmp
フォルダ内のフォルダとファイルの一覧が表示されます。
また、オプションの-a
をつけると隠しファイルも一覧に表示されます。
(隠しファイルとは、「.
(ドット)」から始まるファイルのことで、Finder などでも通常は表示されません。設定ファイルなどを記述することが多いです。)
以下の例では、-a
オプションを使って隠しファイルを表示しています。
cd コマンド
cd
コマンドはディレクトリの移動に用いるコマンドです。
例えば、dir1 ディレクトリへ移動したい場合は、
cd dir1
と入力します。
このとき、もし入力したディレクトリが存在しない場合は、「No such file or directory」というエラーが出ます。
また、現在のディレクトリよりも 1 つ上のディレクトリへ移動したい場合は、
cd ..
と入力します。
mkdir コマンド
ディレクトリを作成するためのコマンドです。
mkdir [作成するディレクトリ名]
で実行します。
例えば、
mkdir dir1
と入力すると、カレントディレクトリにdir1
ディレクトリが作成されます。
touch コマンド
空のファイルを作成するコマンドです。
touch [作成するファイル名]
で実行します。
例えば、
touch file1
と入力すると、カレントディレクトリにfile1
というファイル名で空のファイルが作成されます。
rm コマンド
ファイルまたはディレクトリを削除するコマンドです。
rm [オプション] [ファイル名またはディレクトリ名]
で実行します。
「rm ファイル名」で実行します。
このコマンドで削除したファイルはゴミ箱には入らず、完全に削除されるので、十分注意して実行するようにしてください。
誤って重要なファイルを削除してしまった場合、コンピュータが起動しなくなる可能性もあります。
ディレクトリを削除する場合は、-r
または-R
オプションを使います。
rm -r dir1
で、dir1
フォルダにあるフォルダ及びファイルが全て削除されます。
mv コマンド
ファイルやディレクトリの名前を変更する場合や、移動する場合に利用します。
mv [ファイル名またはディレクトリ名] [ファイル名またはディレクトリ名]
で実行します。
このコマンドの動作は指定したファイル名またはディレクトリ名の状態によって動作が変わります。
例えば、
mv dir1 dir2
を実行した場合、次のように異なります。
- dir2 というディレクトリが存在する場合、dir1 を dir2 の中に移動
- dir2 が存在しない場合、dir1 を dir2 という名前に変更
cp コマンド
ファイルをコピーするコマンドです。
cp file1 file2
で実行します。
こちらも file2 が存在するかどうかで、動作が変わります。
- file2 が存在しない場合、file1 のコピーを file2 という名前で作成します。
- file2 が存在する場合、file1 を file2 に上書き保存します。
まとめ
この記事では、ターミナルの使い方について、ディレクトリの概念やよく使うディレクトリ操作のコマンドと合わせて紹介しました。
プログラミングの学習では、ターミナルをよく利用するので、使い方に慣れておくようにしましょう。