Macユーザー必見!ターミナルの使い方を基礎から徹底解説

2016年6月10日 (2017年3月2日最終更新)
Macユーザー必見!ターミナルの使い方を基礎から徹底解説

Macに付属するアプリ「ターミナル」をご存知でしょうか。ターミナルはキーボードでコマンドを打ちながら作業を進めるためのアプリです。Windowsで言うところの「コマンドプロンプト」に相当します。

image

普段使っているSafariのようなアプリは、マウスを使って操作するのが一般的で、キーボードはどちらかと言えば補助的に使うものです。しかしターミナルはほとんどの操作をキーボードで行うのが大きな特徴です。このエントリでは「ターミナルとは何か?」という点と利点を説明し、最後によく使う操作をいくつか紹介することにします。

目次
  1. ターミナルで何ができるのか?
  2. ターミナルでできること=コマンドでできること
  3. ターミナルの利点
  4. 単純作業の繰り返しに強い
  5. コマンドしか用意されていないツールがある
  6. ターミナルの欠点
  7. ターミナルの使い方
  8. ターミナルの起動
  9. ターミナルの画面構成
  10. 作業ディレクトリについて
  11. よく使う操作
  12. 今いる作業ディレクトリのフルパスを見る
  13. 作業ディレクトリを切り替える
  14. ファイル一覧を見る
  15. ファイルをコピーする、移動する
  16. 過去実行したコマンドを再度実行する
  17. コマンド候補の表示
  18. パイプ( | )でコマンドをつなぐ
  19. 高機能コマンド「curl」を使いてみる
  20. まとめ

ターミナルで何ができるのか?

ターミナルを知っているが使ったことがない、という方もおられると思います。そういった方のターミナルの印象は

「どう操作するのかわからない・・・」
「マニアックでとっつきにくい・・・」
というところではないでしょうか。

結局のところ

「何ができるかわからない・・・」
となって使わずにいるというのが、よく見かける傾向に思います。

ターミナルでできること=コマンドでできること

ターミナルではコマンドを使って作業を進めます。例えばあるディレクトリの中のファイル一覧を見たい場合、次のようなコマンドを打ち込みます。

ls(return)

スクリーンショットは次のような感じになります。

image

なお(return)と書いている箇所は「returnキーを押す」という意味です。

このように、ターミナルとはコマンドを使って作業をするためのツールなのです。

逆に言えばコマンドを知らなければほぼ何もできない、ということになります。が、ほとんどのコマンドはLinuxというOSと共通ですので、「Linux コマンド」の後ろにやりたいことを書いてGoogle先生に聞けば、たいていのことは解決します。

image

ターミナルの利点

ターミナルで出来ることの多くはFinderでも出来ます。では、なぜわざわざターミナルを使うのでしょうか。

単純作業の繰り返しに強い

ターミナルはコマンドをテキストとして入力しますので、「だいたい同じだけどちょっとずつ異なる作業を大量に」こなすのが得意です。

例えば、あるディレクトリの中の画像ファイルの名前を、更新日付で並べた連番に変えたい、と言う作業を考えましょう。これをFinderでやるのはかなり面倒な作業です。

しかし表計算ソフトとターミナルを組み合わせれば簡単です。次のようにExcelの関数を使ってたくさんのコマンドを作れば、あとはExcelでコピー→ターミナルでペーストすれば、あっという間に作業完了です。

image

コマンドしか用意されていないツールがある

ツールによってはGUIが提供されず、コマンドしか提供されないものがあります。こういうツールを利用するにはターミナルを使わざるを得ません。

特に、オープンソースツールにはコマンドしか提供されないものが多いです。Web開発にまつわる最新のツールを利用するなら、ぜひターミナルを使いこなせるようになりましょう。

ターミナルの欠点

便利なターミナルではありますが、コマンドを知らないと何も出来ないというのは、欠点と言えるでしょう。とにかく取っつきにくいため、敬遠してしまうのをよく目にします。

ただ、既に書いた通り、GoogleなどのWeb検索を使えばたいていの操作はコマンドが見つかると思いますので、臆さず使ってみてほしいと思います。

ターミナルの使い方

ターミナルの利点と欠点を押さえたところで、いよいよ実際にターミナルを触ってみましょう。

ターミナルの起動

ターミナルはユーティリティの中にあります。

image

あるいは、Spotlightで起動してもいいでしょう。「ter」と入力すれば、「terminal.app」が候補に上がると思います。

image

ターミナルの画面構成

ターミナルの中は文字しかありません(文字だけで構成されるインターフェイスをCUIと言います)。

コマンド入力行には「$」が表示されています。「$」の前にはコンピュータ名、現在の作業ディレクトリ名、ユーザ名が表示されます。

image

コマンド入力行の表示は変更することが出来るのですが、高度な内容となりますので本エントリでは割愛します。

作業ディレクトリについて

作業ディレクトリ」というのは、ターミナルを使う上で大事な考え方です。「今いるディレクトリ」という意味で、コマンドの引数にパスを指定する際の基準位置となります。

例えば、作業ディレクトリ内のファイルを1つ上のディレクトリに移動するには、次のようなコマンドを打ち込みます。

mv ./somefile.txt ../

.」が作業ディレクトリを表します。「..」は作業ディレクトリの1つ上のディレクトリを表します。

ターミナルで作業する際は、常に「今の作業ディレクトリはどこか」ということを意識しながら作業する必要があります。

よく使う操作

ここからはターミナルでよく使う操作のコマンドを紹介します。

今いる作業ディレクトリのフルパスを見る

pwd(return)

image

作業ディレクトリを切り替える

cd <移動先ディレクトリのパス>(return)

image

ファイル一覧を見る

ls(return)

image

lsコマンドには様々なオプションがあります。よく使うのは「a(隠しファイルも含めて表示)」「l(ファイルの属性と共に縦1列で表示)」辺りでしょう。

もちろん、同時に指定することも出来ます。

ls -al(return)

image

ファイルをコピーする、移動する

cp <コピー元ファイルパス> <コピー先パス>
mv <移動元ファイルパス> <移動先パス>

過去実行したコマンドを再度実行する

上矢印キーを押すと、入力したコマンドをたどることが出来ます。

コマンド候補の表示

コマンドの最初の数文字を入力してtabキーを押すと、候補一覧が表示されます。

image

該当するコマンドが1つの場合、自動で入力されます。

実は、コマンドだけでなくパスも、同じように候補表示や自動入力してくれます。

パイプ( | )でコマンドをつなぐ

コマンドは単体で使っても便利ですが、パイプ( | )を使って複数コマンドをつなぐと更に強力です。例として作業ディレクトリ内のファイルの数を数えてみましょう。

ls -a -1 | wc -l

「ls -a -1」は「隠しファイルも含む全てのファイルを1行につき1ファイル表示する」コマンドです。

「wc -l」は引数で指定されたテキストの行数を数えます。パイプ( | )を使うと、引数は前のコマンドの結果、つまり「ls -a -1」の結果になります。

以下はこのコマンドの実行結果です。

image

高機能コマンド「curl」を使いてみる

コマンドには超高機能なツールもあります。ここではcurlコマンドを紹介しましょう。

curlはHTTPリクエストを投げるツールです。GETだけでなくPOSTリクエストを投げることもできます。ファイル送信したりヘッダやパラメータを設定したりと、かなり高機能です。

ここでは、xmllintというコマンドと組み合わせて、WebからXMLを取得して整形、出力するコマンドを書いてみましょう。

curl -s http://weather.livedoor.com/forecast/rss/primary_area.xml | xmllint --format -

ぜひ実際に実行して、結果を確かめてみて下さい。

まとめ

ターミナルはとっつきにくさはあるものの、コマンドをテキストとして編集する技やパイプの使い方を覚えると、圧倒的に作業効率をあげることが出来ます。またWeb系開発の最先端を体験するのに必須と言えるツールでもあります。

使い方を覚えていて損はありませんので、ぜひ体験してみて下さい。

tomo
tomo
企業向けWebシステム構築のエキスパートです。 得意な言語はJavaとC#、好きな言語はHaskell。 型が好きな固い系プログラマです。

関連記事