すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

Rails

更新日:

【Rails】 Macのターミナルの使い方を学ぼう

ぴっかちゃん
ぴっかちゃん

この記事では、プログラムを実行するのに必要な「ターミナル」の使い方や「ファイル管理」の知識を学びます。

この記事を読むことで、以下のことが学べます。

  • ターミナルとは
  • ターミナルの起動方法・画面構成
  • ターミナル操作に必要なファイル管理の知識
  • ターミナルでよく使うコマンド一覧

ターミナルの使い方だけではなく、ITの基礎知識である「ファイル管理」を一緒に学ぶことで、ターミナル操作についてより深く理解することができます!

※この記事は、macOSをご利用の方向けになります。

ターミナルとは何か学ぼう

ターミナルの特徴について把握しておきましょう。

ターミナルとは

ターミナル(端末エミュレータ)とは、コマンド(命令文)を入力してコンピュータを操作するアプリケーションのことです。

コマンドは、キーボードから「文字」を打ち込みます。

ターミナル操作

上の動画のように、ターミナルの画面に表示されるのも「文字だけ」です。

CUIとGUI

ターミナルのように、文字だけで操作を行う方式のことをCUI(Character-based User Interface)と呼びます。

ターミナル操作

一方、以下のようにコンピュータの画面上に表示されるウィンドウ、ボタン、アイコンをマウスなどで操作を行う方式のことをGUI(Graphical User Interface)と呼びます。

GUI操作

CUIとGUIで同じ操作を行えるのか

CUIとGUIは操作の方式が違うだけなので、基本的には同じ操作を行うことができます。

例)以下のように「ターミナルでlsコマンド(ファイルなど一覧表示)を実行した場合」と「Finderのデスクトップを開いた場合」は同じ結果になります。

CUIとGUIで同じ操作を行う

ぴっかちゃん

同じ結果なら、なんで直感的でわかりやすいGUIじゃなく、ターミナルを使うんだろう...。

その答えは、次のターミナルを使う理由で詳しく解説するよ!

ぴかわかさん

ターミナルを使う理由を知ろう

ターミナルを使う理由には、以下のCUIのメリットが要因になっています。

  • 素早い操作が可能
  • 目的ごとに画面を切り替える必要がない
  • 文字ベースなので操作記録が残せる
  • 容量が軽い

作業の効率化や細かい操作を行える

GUIのマウス作業よりも、ターミナルでのコマンド入力の方は素早い操作が可能です。

例)GUIで複数のファイルを作成する場合は、以下のようにFinderに移動して「右クリック > 新規フォルダ」を繰り返す必要があります。

Finderで複数のフォルダを作成

一方ターミナルでは、以下のコマンドを実行するだけで同じ操作を行うことができます。

ターミナル | フォルダを作成する
1
mkdir sample sample2 sample3

ターミナルで複数フォルダを作成する

他にも処理を自動化しやすかったり、細かい操作を行うなどメリットがたくさんあります。

このようにGUIよりも効率的に作業を進めることができるので、開発には欠かすことができない必須ツールとなります。

ぴっかちゃん

ターミナルでは「作業の効率化」や「細かい操作」が可能になるんだね!

それでは、実際に手を動かしながらターミナルを起動していこう!

ぴかわかさん

ターミナルを起動してみよう

Macにデフォルトでインストールされているターミナルを起動します。

Finderから起動する場合

Macのターミナルは「Finder > アプリケーション > ユーティリティ」に標準でインストールされています。

ターミナルのインストール場所

「ターミナル.app」のアイコンをダブルクリックしてターミナルを起動させます。

Spotlight検索から起動する場合

Spotlight検索」とは、ファイルなどを素早く検索できる機能です。

Commandスペースバーを押すと、以下のようにSpotlightが表示されます。

Spotlight

以下のように「たーみなる」と入力し、「ターミナル.app」をダブルクリックします。

Spotlight検索でターミナルを起動

ターミナル起動後の画面を確認する

Finder、もしくはSpotlight検索からターミナルを起動すると、以下の画面が表示されます。

ターミナル画面

ぴっかちゃん

画面の内容は、「ターミナルの画面を確認しよう」で説明するよ

ターミナルをDockに追加する

次回からのアクセスを素早くできるように「Dock」に追加しておきましょう。

ターミナルをdocに追加する

ターミナルの起動手順は以上です。
次はターミナルの画面について学びましょう。

ターミナルの画面を確認しよう

ターミナル起動後は、以下の内容が表示されます。

ターミナルの画面説明

1行目には、ログイン情報が表示されます。

2行目には、プロンプト(コンピューターに命令できる状態を示す)が表示されます。
%の後にコマンドを入力することができます。

項目 説明
ユーザ名 ログインしているアカウントの名前
コンピュータ名 コンピュータの名前
カレントディレクトリ いま選択して作業しているディレクトリのこと
プロンプト コンピューターに命令できる状態を示す

次は、ターミナルを扱うなら絶対に知っておきたい「ファイル管理」について学んでいきます!

ぴかわかさん

ファイル管理について学ぼう

初心者にとってターミナル操作をすることは、少し難しく感じる部分もあるかと思います。

しかしファイル管理の知識を身につけることで、ターミナル上でコマンドを実行する際にスムーズに対象ファイルを指定することができます。

ディレクトリとは

コンピュータで扱われるデータは、ファイルという単位で記録されます。

そして、複数のファイルを格納して整理できる入れものディレクトリと呼びます。
ディレクトリには、ファイルだけではなくディレクトリ自体も格納することができます。

ディレクトリとファイルの関係

ディレクトリの種類

ディレクトリには、主に3つの種類があります。

  • ルートディレクトリ
  • カレントディレクトリ
  • ホームディレクトリ
ぴっかちゃん

各ディレクトリの役割を1つ1つ確認していこう!

ルートディレクトリとは

ルートディレクトリとは、ファイル階層の最初のディレクトリのことです。
/という記号で表します。

ルートディレクトリ

カレントディレクトリとは

カレントディレクトリとは、自分が今選択して作業しているディレクトリのことです。

例)以下のように「sample_dir」を選択して「sample_dir_text2」の名前を変更していたとします。この場合のカレントディレクトリは、「sample_dir」です。

カレントディレクトリ

ホームディレクトリとは

ホームディレクトリとは、アカウントを持つユーザが自由に使えるディレクトリのことです。通常は、ログインした際のディレクトリに設定されます。

例)以下のように「pikawaka」のアカウントでログインした際に自由に使えるディレクトリとして「Macintosh HD > ユーザ > pikawaka」が用意されています。

ホームディレクトリ

このホームディレクトリは、~(チルダ)で表します。
以下のようにターミナル起動時のカレントディレクトリは、「ホームディレクトリ(~)」を指していることがわかりますね。

ターミナルのカレントディレクトリ

また、常にホームディレクトリがカレントディレクトリを表示しているわけではありません。作業場所を変更すれば、カレントディレクトリの表示も変わります。

例)以下のように作業するディレクトリをDesktopに変更すれば、カレントディレクトリの表示も変わります。

カレントディレクトリを変更する

※cdコマンドは、カレントディレクトリの位置を変更してくれるコマンドです。

ポイント
  1. ルートディレクトリ(/)とは、ファイル階層の最初のディレクトリのこと
  2. カレントディレクトリとは、いま選択して作業しているディレクトリのこと
  3. ホームディレクトリ(~)とは、ユーザが自由に使えるディレクトリのこと

次のパス(path)も、ターミナルでコマンド実行する際に知っておくべき重要な概念です!

ぴかわかさん

パス(path)とは

パス(path)とは、ファイルやディレクトリの場所を示す文字列のことです。
コンピュータ内でどこのファイルなのかを特定するために使われます。

GUIの場合は、以下のようにパスを意識することなく直感的にファイルを選択できますね。

GUIでファイルを選択する場合

ターミナルの場合は、パスを使ってファイルを選択する必要があります。

ターミナルでファイル指定する場合

このパスには、「絶対パス」と「相対パス」の2種類があります。

絶対パスとは

絶対パスとは、ルートディレクトリから目的ファイルまでの場所を全て記述する方式です。

絶対パス

絶対パスには、以下のルールがあります。

絶対パスのルール

1. ルートディレクトリは、/で表す
2. ディレクトリとディレクトリ(ファイル)の間は、/で表す

例1)上記のルールに従って、目的ファイルの絶対パスを考えてみましょう。

絶対パスは、ルートディレクトリから目的ファイルである「file3」までの経路を全て記述します。ルールを適用させると「file3」の絶対パスは、/dir2/file3になりますね。

file3の絶対パス

例2)Macで目的ファイルが「sample_dir_text1.txt」の絶対パスを考えてみましょう。

ルートディレクトリに相当する「Macintosh HD」は、/で記述します。あとはルールに従うだけなので「sample_dir_text1.txt」の絶対パスは、以下の通りです。

sample_dir_text.txtの絶対パス
1
/Users/pikawaka/Desktop/sample_dir/sample_dir_text.txt

Finder

他にも、以下のように「Finder > 右クリック > 情報を見る > 場所」でファイルの絶対パスを確認することができます。

Finderでファイルの絶対パスを確認する

ぴっかちゃん

絶対パスは、ルートディレクトリから始まると覚えておこう!

相対パスとは

相対パスとは、カレントディレクトリから目的ファイルまでの場所を記述する方式です。

相対パス

相対パスには、以下のルールがあります。

相対パスのルール

1. ディレクトリとディレクトリの間は、/で表す
2. カレントディレクトリは.で表す
3. 親ディレクトリ(1つ上のディレクトリ)は..で表す

例1)上記のルールに従って、目的ファイルの相対パスを考えてみましょう。

相対パスは、カレントディレクトリから目的ファイルである「file3」までの経路を記述します。ルールを適用させると「file3」の相対パスは./file3です。

相対パス

例2)MacのFinderに置き換えた場合も同様です。
カレントディレクトリが「sample_dir」の時の「sample_dir_text1.txt」の相対パスは、./sample_dir_text1.txtです。

Finderで考える相対パス

例3)それでは、「file1」の相対パスはどのように記すことができるでしょうか?

親ディレクトリを含む相対パスの場合

今回は、カレントディレクトリから目的ファイルの間に親ディレクトリがあります。

親ディレクトリは..で記述すればよいので、カレントディレクトリがdir2の場合の相対パスは、./../dir1/file1になります。

親ディレクトリを含む相対パスの場合の答え

そして相対パスの場合、先頭の./は省略することができます。
先ほどの./../dir1/file1は、../dir1/file1と記述することができます。

先頭の./は、省略することが多いので覚えておきましょう!

ぴかわかさん
ポイント
  1. パス(path)とは、ファイルやディレクトリの場所を示す文字列のこと
  2. 絶対パスとは、ルートディレクトリから目的ファイルまでの場所を全て記述する方式のこと
  3. 相対パスとは、カレントディレクトリから目的ファイルまでの場所を記述する方式のこと

ターミナルでよく使うコマンドを確認しよう

ターミナルを利用する際によく使うコマンドを一部紹介します。

コマンド 説明
ls ファイルやディレクトリの一覧(リスト)を表示する
mkdir フォルダを作成する
touch ファイルを作成する
rm ファイルを削除する
cp ファイルをコピーする
mv ファイルを移動する
pwd カレントディレクトリを表示する
cd カレントディレクトリの位置を変更する

それでは実際にコマンドを試してみましょう!

ターミナルにpwdと打ち込んで「returnキー」を押してみてください。

ターミナル | pwdコマンドを使用する
1
pwd

pwdコマンドを実行すると、以下のようにカレントディレクトリが表示されますね。

pwdを実行

よく使うコマンドは、操作する内に自然と覚えるので安心してください。

参考記事

さいごに

この章では「ターミナル」の特徴や使い方、ディレクトリの種類・絶対パスと相対パスのファイル管理について学びました。この概念をきちんと理解できていれば、ターミナルでコマンドを実行する際に「どこにいるのか、何をしているのか」という混乱もなくなります。

次の章では、ローカル開発環境を構築する上で必要な基礎知識を学んだり、Ruby on Railsの開発環境を整える前に必要なソフトウェアをツールを導入していきます。

この記事のまとめ

  • ターミナルとは、コマンドを入力してコンピュータを操作するアプリケーションのこと
  • カレントディレクトリとは、自分が今選択して作業しているディレクトリのこと
  • パスとは、ファイルやディレクトリの場所を示す文字列のこと