Macでのターミナルアプリの使い方

macのターミナルアプリの使い方の解説ページアイキャッチ

このページでは、初めて Mac でターミナルアプリを使用する方向けに、ターミナルの基本的な使い方と、ターミナルでのコマンド実行を行う上で知っておいた方が良い知識の紹介をしていきたいと思います!

ターミナルを利用することで、さまざまな操作をマウスなしで、コマンドだけで実行することができるようになります。

コマンドだけでいろんな操作ができるようになるので、手順化しやすい&手順を自動化しやすいというメリットもあります。

慣れるのには時間がかかるかもしれませんが、慣れてしまえばマウスを使うよりも効率的に様々な操作を行うことができるようになります!

具体的にターミナルでどのような操作が行えるか、つまりどのようなコマンドがあるかについては下記ページでまとめていますので、こちらを知りたい方は下記リンク先を参照していただければと思います。

Macのターミナルで良く使うコマンド集紹介ページのアイキャッチMacのターミナルでよく使うコマンド集(初心者向け)

ターミナルの使い方

ターミナルは Mac にプリインストールされている(元々インストールされている)アプリになります。

ターミナルの起動

このターミナルアプリは下記の場所に存在します。

  • 「アプリケーション」フォルダ → 「ユーティリティ」フォルダ

下の図のアイコンが「ターミナル」のアイコンになります。

ターミナルアプリのアイコン

このアイコンをダブルクリックすれば、ターミナルアプリが起動して下の図のような画面が表示されます。

ターミナルの起動画面

ターミナルの起動直後は、ユーザーは通常 /Users/[ユーザー名] というディレクトリにいる事になります。

ディレクトリとは、要はフォルダのことです。

このディレクトリに関してはターミナルでのコマンドを利用する上で知っておくと良いことで詳しく解説します。

このターミナルでは、今いるディレクトリから他のディレクトリに移動したり、今いるディレクトリや他のディレクトリにあるファイルに対してさまざまな操作を行うことができます。

そして、これらを行う際に実行するのが「コマンド」です。

スポンサーリンク

ターミナルでのコマンド実行

ターミナルでは、コマンドを実行することでファイル・ディレクトリに対してさまざまな操作を行うことが可能です。また Mac の設定を変更するような操作も行うことができます。

キーボード入力だけでさまざまな操作を行うことができ、慣れてくるとマウスを使うよりも、効率よく操作を行うことができるようになります。

例えば、プログラミングを行うような場合は、下記を全てターミナルでのコマンドにより行うこともできます。

  • ソースコード記述
  • コンパイル
  • プログラム実行

続いてはこのコマンドについて解説していきたいと思います。

コマンドの書式

基本的なコマンドの書式は下記のようになります。

コマンド名 オプション パス

例えばターミナルアプリ上で下記のコマンドを入力し、エンターキーを押してみましょう!

ls -l .

実行すると、下記のようにファイルやディレクトリの名前の一覧が表示されると思います。

$ ls -l .
total 0
drwx------+  3 daeu  staff   96  4 13 10:19 Desktop
drwx------+  3 daeu  staff   96  4 13 10:19 Documents
drwx------+  3 daeu  staff   96  4 13 10:19 Downloads
drwx------@ 26 daeu  staff  832  4 13 10:20 Library
drwx------   3 daeu  staff   96  4 13 10:19 Movies
drwx------+  3 daeu  staff   96  4 13 10:19 Music
drwx------+  3 daeu  staff   96  4 13 10:19 Pictures
drwxr-xr-x+  4 daeu  staff  128  4 13 10:19 Public

実行したコマンドは、前述の書式に照らし合わせると下記のようになります。

  • コマンド名:ls
  • オプション:-l
  • パス:.

「コマンド名」は実行したいコマンド(命令)の名前です。

例えば ls は、ディレクトリ内に存在する “ファイルやディレクトリの一覧” を表示するコマンドになります。

また、コマンドによっては、そのコマンドを実行する “対象” を指定する必要がある場合があります。”対象” を指定するとは、要は “どのファイル” や “どのディレクトリ” に対してコマンドを実行するかを指定することです。

この対象の指定は、”パス” により行います。パスというのは各ファイルや各ディレクトリを指定するための識別のようなものです。

このパスについてはターミナルでのコマンドを利用する上で知っておくと良いことで詳しく解説します。

例えば ls コマンドの場合は、”どのディレクトリ” に対して “一覧表示を行うか” を指定するために、そのディレクトリのパスを引数として指定します。

上記では . を指定しており、これは現在いるディレクトリのパスであることを示しています。

また、コマンドの動作の詳細を “オプション” で指定することが可能です。

例えば上記の -l は、ls による一覧表示を “リスト形式で行うことを指定する” オプションになります。

オプションは省略したり、複数指定したりすることも可能です。また、コマンドごとに用意されているオプションが異なります。

例えば ls コマンドを、オプションを省略して下記のように実行した場合、

$ ls .

表示結果は下記のようになります。

Desktop		Downloads	Movies		Pictures	tmp
Documents	Library		Music		Public

一方で、下記のようにオプションとして -a-l の2つを指定した場合、

$ ls -a -l .

表示結果は下記のようになります。

drwxr-xr-x+ 15 daeu  staff   480  4 15 15:38 .
drwxr-xr-x   6 root  admin   192  4 13 10:19 ..
-rw-------   1 daeu  staff     4  4 13 10:19 .CFUserTextEncoding
-rw-------   1 daeu  staff  1077  4 13 15:24 .viminfo
-rw-------   1 daeu  staff   357  4 15 13:56 .zsh_history
drwx------   9 daeu  staff   288  4 15 15:38 .zsh_sessions
drwx------+  3 daeu  staff    96  4 13 10:19 Desktop
drwx------+  4 daeu  staff   128  4 15 09:03 Documents
drwx------+  3 daeu  staff    96  4 13 10:19 Downloads
drwx------@ 26 daeu  staff   832  4 13 10:20 Library
drwx------   3 daeu  staff    96  4 13 10:19 Movies
drwx------+  3 daeu  staff    96  4 13 10:19 Music
drwx------+  3 daeu  staff    96  4 13 10:19 Pictures
drwxr-xr-x+  4 daeu  staff   128  4 13 10:19 Public
drwxr-xr-x   5 daeu  staff   160  4 13 15:24 tmp

上記の表示結果はあくまでも例で、使用している PC によっては異なる結果になると思います。ここで注目していただきたいの点は、ls コマンドでの一覧の表示の仕方がオプション指定によって変わっているところです。

このようにオプションを指定することで、コマンドの動作を詳細に設定することが可能です。

ちなみにオプションを複数指定する場合は、下記のように1つにまとめて指定するようなこともできます。

$ ls -al .

他のコマンドの実行例

今度はいろんなコマンドを実行してみましょう!

まずはターミナルに下記を入力してエンターキーを押してみましょう($ は省いて入力してください)。

$ pwd

エンターキーを押すと、下記のように表示されると思います([ユーザー名] 部分にはあなたのユーザー名が表示されます)。

/User/[ユーザー名]

pwd はユーザーが現在いる(つまり、あなたが現在いる)ディレクトリのパスを表示するコマンドになります。この pwd のように、コマンド実行時にパスを指定しなくても良いコマンドもあります。

続いて下記を入力してエンターキーを押してみましょう。

$ cd Documents

cd コマンドはディレクトリを移動するコマンドです。さらに、パスに Documents を指定しているので、Documents ディレクトリに移動した事になります。

続いて再度 pwd を実行してみましょう。

$ pwd

次は下記のように表示されるはずです。

/User/[ユーザー名]/Documents

先ほどと表示結果が異なりますね!これはユーザーが現在いるディレクトリが cd コマンドで変わったことを表しています。つまり、ユーザーがディレクトリを移動したという事ですね!

続いて下記コマンドを実行してみましょう!mkdir コマンドはディレクトリを作成するコマンドです。mkdir の後ろ側に指定した名前のディレクトリが作成されます。

$ mkdir daeu_test_dir

今度は ls -l コマンドを実行してみましょう!

$ ls -l .

いろんなファイルやディレクトリも表示されるかもしれませんが、その中に mkdir で作成したディレクトリも存在するはずです。

$ ls -l .
〜略〜
drwxr-xr-x    2 daeu  staff        64  4 15 07:58 daeu_test_dir
〜略〜

今度は作成したディレクトリに cd コマンドで移動してみましょう。

$ cd daeu_test_dir

そして、今度は下記コマンドを実行してみます。

$ pwd > pwd.txt

コマンドの後ろに > を付加することで、コマンド実行結果がターミナルに表示されるのではなく、> の後ろ側のファイルに保存されるようになります。

つまり、pwd のコマンド実行結果が pwd.txt に保存される事になります。

このように、表示結果の出力先を変更することをリダイレクトと呼びます。

さらに ls -l を実行すると、一覧の中にリダイレクトにより作成された pwd.txt が存在することが確認できるはずです。

$ ls -l .
total 8
-rw-r--r--  1 daeu  staff  44  4 15 07:56 pwd.txt

次は下記のコマンドを実行してみましょう!

$ cat pwd.txt

すると、下記のように表示されるはずです。

/Users/[ユーザー名]/Documents/daeu_test_dir

cat コマンドは、指定したパスのファイルの中身を表示するコマンドになります。

pwd.txt には、先ほどのリダイレクトによって pwd コマンドの結果が保存されていますので、今いるディレクトリのパスが表示されことになります

最後に、作成したディレクトリを削除してみましょう。

まず下記のコマンドで1つ上の階層に戻ります。

$ cd ..

.. は1つ上の階層のディレクトリを表すパスになります。

さらに、下記コマンドを実行します。

$ rm -r daeu_test_dir

rm コマンドはファイルを削除するコマンドで、さらに -r オプションを付加することでディレクトリを削除することも可能です。したがって、上記では mkdir で作成した daeu_test_dir が削除されることになります。

ここまで実行してきたコマンドで行なったのは、主に下記のような操作ですね!

  • ディレクトリを移動する
  • ディレクトリの下に存在するファイルやディレクトリを表示する
  • ディレクトリを作成する
  • ファイルを保存する
  • ファイルの中身を表示する
  • ディレクトリを削除する

こんな感じで、いつもマウス操作で行なっていた上記のような操作も、ターミナルからのコマンドで実行できることが実感していただけたと思います。

もちろんターミナルには他にもさまざまなコマンドが用意されています。どのようなコマンドがあるかについては、下記ページでまとめていますので、こちらも参考にしていただければと思います。

Macのターミナルで良く使うコマンド集紹介ページのアイキャッチMacのターミナルでよく使うコマンド集(初心者向け)

上記のページで紹介したコマンド以外のものコマンドももちろんありますし、さらにソフトウェアをインストールすることで利用できるコマンドを追加することもできます。そのインストールもコマンドで実行することも可能です。

慣れてくるとマウス操作よりも手軽に&速くファイルやディレクトリなどの操作ができるようになります!

ターミナルでのコマンドを利用する上で知っておくと良いこと

続いては、ターミナルでコマンド実行をする上で “知っておいた方が良い知識” について紹介していきたいと思います。

ディレクトリとパス

このコマンド実行においては、ディレクトリとパスが非常に重要で、これを理解しておくことでターミナルでのコマンドが扱いやすくなります。

ディレクトリとターミナル

ディレクトリとは、要はフォルダのことです。

マウス操作でファイルを開くような場合に、Finder でフォルダを辿って目当てのファイルが存在するフォルダまで移動し、移動してからそのファイルをダブルクリックなどで開くことありますよね?

マウス操作を行う様子

ターミナルでコマンドを実行するときも、結局はこの Finder での操作の感覚と同じです。

ターミナルアプリ起動時には、ユーザーはホームディレクトリと呼ばれるディレクトリにいる事になります。

ターミナル起動直後にユーザーがホームディレクトリにいる様子

そして、他のディレクトリのファイルを操作するような場合は、そのディレクトリに移動し、移動してからコマンドを実行してファイルの操作を行います。

ディレクトリ移動後にファイル操作を行う様子

ただし、後に説明する “パス” を利用すれば、ディレクトリを移動しなくても、他のディレクトリからファイルの操作を行うことも可能です。

ここで重要なのは、ターミナルを利用しているということは、必ずユーザー(つまり、あなた)が “どこかのディレクトリにいる” ということです。

ここがちょっと GUI でマウス操作している時とはちょっと感覚が違うところなので、この点をしっかり意識しておいた方がターミナルでのコマンド実行が上達しやすくなると思います。

ディレクトリ構造とパス

Mac のディレクトリは下の図な構造になっています。ちょうど木の上下を逆向きにしたような構造です。

macのディレクトリ構造

1つ1つの四角がディレクトリを表しています。各ディレクトリにはファイルが存在しますが、この図ではファイルは省略しています。

また、線が繋がっているディレクトリに関しては、上側のディレクトリに下側のディレクトリが存在することを表しています。

例えば上の図では、Users ディレクトリには daeu ディレクトリと hanako ディレクトリが存在することを表しています。

ディレクトリの中にディレクトリが存在する様子の例

各ディレクトリの位置は、”パス” によって表されます。

パスとはまさに経路のことで、最上位のディレクトリからどのディレクトリを辿った位置に存在するかを示す情報になります。

パスの説明図

例えば Documents ディレクトリは最上位の / ディレクトリから下記の経路を辿った位置に存在します。

  • /UsersdaeuDocuments

これらの経路上の各ディレクトリを / で区切り文字として繋げたものが Documents ディレクトリのパスになります。

/Users/daeu/Documents

ファイルのパスも同様の考え方でパスが設定されています。

例えば Documents ディレクトリの下に memo.txt というファイルが存在するのであれば、この memo.txt のパスは下記のようになります。

/Users/daeu/Documents/memo.txt

全てのディレクトリやファイルは異なるパスになりますので、このパスによってコマンドの対象を一意に指定することが可能です。

ここで、特別な意味合いを持つディレクトリとそのパスを紹介しておきます。

  • ルートディレクトリ:/
    • 最上位のディレクトリ
  • カレントディレクトリ:.
    • 現在いるディレクトリ
  • ホームディレクトリ:~
    • 各ユーザー用に用意されたディレクトリ
    • /Users/[ユーザー名]
      • ユーザー名が daeu の場合は /Users/daeu
    • ターミナルを起動した直後にユーザーがいるのはこの “ホームディレクトリ”

例えばルートディレクトリへの操作は、下記のようにパスに / (スラッシュ)を指定することができます。

cd /

また、カレントディレクトリへの操作は、下記のようにパスに . (ドット)を指定することができます。

ls .

さらに、ホームディレクトリへの操作は、下記のようにパスに ~ (チルダ)を指定することができます。

cd ~

ターミナルアプリでは、コマンドでディレクトリを移動する場合、”どのディレクトリ” に移動するかを指定する必要があります。この “どのディレクトリ” はパスにより指定します。

また、コマンドでファイルを操作する場合、”どのファイル” を操作するかを指定する必要があります。この “どのファイル” はパスにより指定します。

こんな感じで、コマンドを実行する場合は “パス” を指定する必要があることが多く、この “パス” についてはしっかり理解しておくことで、ターミナルでのコマンド実行をスムーズに行うことができるようになります。

パスの指定方法

続いて、その “パスの指定方法” について紹介していきたいと思います。

ターミナルでのコマンド実行時の対象のパスの指定方法は、大きく分けて下記の2通りがあります。

  • 絶対パス指定
  • 相対パス指定

絶対パス指定とは、相対パス指定と区別するための用語であり、結局はディレクトリ構造とパスで説明したパスと同じです。

要は、ルートディレクトリからの経路上のディレクトリを / を区切り文字として連結したものを指定する指定方法です。

ルートディレクトリからの全ての経路を示すパスになりますので、フルパスと呼ばれることもあります。

例えば、下の図の Documents ディレクトリにいる状態で Desktop ディレクトリの memo.txt を “絶対パス” で指定することを考えてみましょう!

パスの説明図

ルートディレクトリから memo.txt までに経由するディレクトリ名を / を区切り文字として連結したものが絶対パスになりますので、絶対パス指定では下記を指定することになります。

/Users/daeu/Desktop/memo.txt

絶対パス指定においては、どのディレクトリから指定しても同じパスになるというところがポイントになります。

また、絶対パス指定の場合、パスの先頭の文字は必ず / になります。

一方で、相対パス指定は、カレントディレクトリからの経路上のディレクトリを / を区切り文字として連結したものを指定する指定方法になります。

1つ上の階層のディレクトリを経由する場合は、そのディレクトリ名ではなく .. を用いて表現します。

例えば、上の図の Documents ディレクトリにいる状態で Desktop ディレクトリの memo.txt をパス指定する場合、相対パス指定では下記のようにパスを指定することになります。

../Desktop/memo.txt

memo.txtDocuments ディレクトリから見て下記を辿った位置に存在しますので、これらを / を区切り文字として連結したものが、この場合の相対パスとなります。

  • ..(1つ上の階層のディレクトリ)
  • Desktop
  • memo.txt

相対パスの説明図1

もし daeu ディレクトリにいるのであれば、同じファイルであっても異なるパスを指定する事になります。

Desktop/memo.txt

相対パスの説明図2

このように、カレントディレクトリ(現在いるディレクトリ)によって、同じファイルやディレクトリであっても異なるパス指定になるところが相対パス指定のポイントになります。

コマンド実行時にパスを指定する場合は、基本的に “絶対パス指定” と “相対パス指定” のどちらを利用しても良いです。

コマンドの対象となるファイルがカレントディレクトリから近い位置にある場合は、相対パスの方が便利かなぁとは思います。

ぜひコマンド実行時には、両方のパス指定を試してみてください!

スポンサーリンク

便利なキー入力

次はターミナル利用時に知っておくと便利な「キー入力」を紹介していきます。

tab キー

コマンド実行時に一番使用するキーは tab だと思います。

コマンドの入力途中やパスの入力途中に tab キーを押すことで、コマンドやパスを自動補完してくれたり、コマンドやパスの候補を表示してくれたりします。

例えば下記のように chm のみを入力した状態で tab キーを押してみましょう!

$ chm

おそらく自動補完が動作して chmod というコマンドが入力されるはずです。

$ chmod

このように、候補が1つしか無い場合(上記の場合は chm から始まるコマンドの候補が1つしか無い)、tab を押すことで自動的にコマンド名を補完することができます

次は ch のみを入力した状態で tab キーを押してみましょう。

$ ch

今度は ch から始まるコマンドの候補一覧を表示してくれます。

chat      checknr   chgrp     chmod     chroot    
chdir     chflags   chktest   chown     chsh      
checkgid  chfn      chktrust  chpass

候補が1つしか無い場合は前述の通り、コマンド名を補完してくれますが、複数の候補がある場合はこのようにその候補の一覧が表示されます。

同様にパスの場合も、パスを途中まで入力した状態で tab キーを押せば、コマンドと同様に自動補完もしくは候補の一覧表示をしてくれます。

コマンド名やパスを覚えておくのは大変なので、この tab キーでヒントを得ながらコマンド入力を行うのが良いと思います。

上下キー

ターミナルでは上キーを押すことで、以前に入力したコマンドを表示することができます。

上キーを一度押すと、直前に入力したコマンドを表示することが可能です。

この表示されたコマンドは、エンターキーを押して実行することができますし、コマンドの一部を変更してエンターキーを押して実行することも可能です。

また、上キーを押すたびにどんどん古いコマンドの入力履歴を表示することができます。

さらに、下キーを押せば、今度はどんどん新しいコマンドの入力歴を表示することができます。

毎回コマンド全体を入力するのは大変ですが、これらの上下キーを活用することで、以前に入力したコマンドをそのまま、もしくは一部分だけ変更して実行するようなこともできます

control + c

また、実行したコマンドは control + c で終了させることができます。

コマンドによってはすごく時間がかかる場合があります。そのようなときに、途中でそのコマンドを終了させたい場合は control + c を押すことで強制的に終了させることが可能です。

コマンドを調べる man コマンド

前述の通り、tab キー入力により、コマンドの候補が表示できるので、どのようなコマンドが存在するのかはある程度は調べることができると思います。

ただ、コマンド名だけだと、そのコマンドがどのようなものであるかがわからないですよね…。

コマンド名からコマンドの詳細を知りたい場合は、man コマンドが便利です。

man コマンドは下記のように man の後ろに詳細を知りたいコマンドの名前を指定して実行します。

$ man 詳細を知りたいコマンドの名前

すると、このコマンド名で指定したコマンドの詳細説明がターミナル上に表示されます。

各コマンドの書式やオプションの詳細が記載されているので、ターミナルからコマンドの詳細を調べるときには非常に便利です。

man コマンドを実行時には、例えば下記のようなキー操作によりスクロールや検索などを行うことが可能です。終了したい場合は q キーを入力します。

スクロール
  • 上下キー
  • マウスホイール
  • エンターキー(1行分下にスクロール)
  • スペースキー(1画面分下にスクロール)
検索文字列指定
  1. / キーを押す
  2. 検索したい文字列を入力
  3. エンターキー
次へ検索検索文字列指定後に n キーを押す
前へ検索検索文字列指定後に shift+n キーを押す
先頭から検索検索文字列指定後に p キーを押す
終了q キーを押す

コマンドをもっと知りたい方へのおすすめ参考書

最後にコマンドについてもっと詳しく知りたい方へのオススメ参考書を紹介しておきます。

特にコマンドをほとんど使ったことない方には下記の「macOS×コマンド入門」がおすすめです。

ターミナルやコマンドだけでなく、コマンドを扱うのに必要な知識である Finder やファイルシステムについても解説してくれており、Mac でのコマンド初学者向けの内容になっています。OS についての知識もつくので、より深くコマンドについて理解することができます。

とにかくコマンドを知りたいという方、さらに Linux も利用するという方には下記の「Linuxコマンドポケットリファレンス」がオススメです。

本の最初に「コマンドの1行要約つき」の目次がありますので、一覧でどのようなコマンドがあるかを把握することができます。

基本的なコマンドに関しては Linux と MacOS 共通で使用できるものが多いです。コマンドの辞書的な参考書としてパソコンに置いておくすぐにコマンドが調べられて便利です。

Linux も利用する&重要なコマンドからまず学習したいという方には下記の「LinuxコマンドABCリファレンス」がオススメです。こちらの本はコマンド別に重要度が3段階で設定されており、重要度の高いコマンドから勉強していくようなことができます。

これらの参考書は「コマンドに関する知識を身につける・どんなコマンドがあるかを知る」上では良い参考書だと思います。ただ、どの参考書を利用するにしても、最終的に一番詳しい情報は man コマンドで表示される解説になると思います。

なので、参考書で幅広い知識をつけながら、コマンドの使い方やオプションの指定方法などに困った時には man コマンドで補うのが良いと思います。

スポンサーリンク

まとめ

今回は Mac ユーザー向けにターミナルの使い方について解説しました!

また、特にターミナルでコマンド実行を行う上で重要なディレクトリやパスについての解説を行いました。

コマンドは最初は使うのに抵抗感があるかもしれませんが、慣れてしまえばマウス操作よりもコマンド実行の方がパソコン操作がやりやすくなることも多いです。

そして、やはりコマンド実行をたくさん試すのが慣れるための一番の近道だと思います。

ターミナルで扱える基本的なコマンドについては下記ページで紹介していますので、是非こちらを参考にいろんなコマンドを試してみてください!

Macのターミナルで良く使うコマンド集紹介ページのアイキャッチMacのターミナルでよく使うコマンド集(初心者向け)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です