Macでのコマンドラインの使い方を簡単に説明します.超初心者向けです.
コマンドラインって何?
プログラミングの環境を構築したり,実際にプログラムを実行したりする際に使い方を覚えておくと便利なものにコマンドラインというものがあります.これは,キーボードを使い命令を入力して操作するツールで,マウスなども使える直感的で分かりやすいアプリケーション(wordやsafariなど)と区別して,前者はCUI(Character User Interface),後者はGUI(Graphical User Interface)と分類されたりします.
とりあえず,起動してみよう
では早速,コマンドラインを起動してみましょう.Macでは,ターミナルというアプリケーションから起動します.Launchpadの「その他」にいると思いますので,起動させて下さい.
起動させると若干環境は違うかもしれませんが,以下のような画面が表示されると思います.
なんだか殺風景ですが,安心してください.これがMacのコマンドラインです.
実際に使ってみよう
コマンドラインがどんなものかは使ってみるのが一番わかりやすいと思います.まず,pwd
と入力してEnterを押してください.
$ pwd
/Users/nakamura
上記における$
は,コマンドラインでの入力を示すもので,分かりやすさのために付けています.名前の箇所(上記ではnakamura)は,自分のユーザー名になります.このpwd
はPrint Working Directoryの略で,今自分がどこのディレクトリ(フォルダ)にいるのか,その場所(パス)を教えてくれます.また,この/Users/nakamura
のディレクトリは特別なディレクトリでホームディレクトリとも呼ばれます.では,このホームディレクトリには何があるのかをls
(list segments)を使って見てみます.
$ ls
Applications Desktop Downloads Library Music Public Softwares
Creative Cloud Files Documents Dropbox Movies Pictures Researches dotfiles
内容はもちろん異なると思いますが,ホームディレクトリに何があるかが表示されたはずです.デスクトップフォルダは必ずあると思うので,ここからデスクトップに移ってみます.ディレクトリを移動する際は,cd
(change directory)を使います.
$ cd Desktop
$ pwd
/Users/nakamura/Desktop
上記のようにpwd
を入力してみると,デスクトップに移動できているかを確認できます.次にフォルダを作ってみます.これは,mkdir
(make directory)で出来ます.
$ mkdir my_folder
デスクトップにmy_folderという名前のフォルダが作成されたと思います.では,また作成したフォルダに移動してみましょう.
$ cd my_folder
$ pwd
/Users/nakamura/Desktop/my_folder
ここまでは,フォルダの中に入ることしか行ってきませんでしたが,もちろん出ることも出来ます.一つ上のディレクトリに行くためには,以下のように入力します.
$ cd ..
$ pwd
/Users/nakamura/Desktop
この..
が一つ上のディレクトリを表します.では,そろそろホームディレクトリに戻ってみます.先ほどホームディレクトリは特別なディレクトリと言いました.なので,特別な名前も持っています.それが,$HOME
または~
です.これらは,ホームディレクトリの別名みたいなもので,便利なのでよく使われます.
$ cd ~
$ pwd
/Users/nakamura
もちろん,今回の場合は..
を使ってもデスクトップからホームディレクトリに移動できます.ただ,~
や$HOME
を使えば今自分がどこにいようがホームディレクトリに戻ってくることが出来ます.次は,この理由について説明します.
相対パスと絶対パス
実は,これまでcd
やmkdir
の後に続いて入力していたものはパスになります.そして,パスには相対パスと絶対パスの2種類が存在します.最初にホームディレクトリからデスクトップに移動した例で入力したのは相対パスです.これは,今自分がいるディレクトリ(カレントディレクトリまたはワーキングディレクトリ)がホームディレクトリで,デスクトップのディレクトリが見えているので移動できましたが,見えていないディレクトリには移動できません.例えば,
$ pwd
/Users/nakamura
$ cd my_folder
cd: no such file or directory: my_folder
は出来ません.エラーが出てそのようなファイルやディレクトリはないと怒られました.ホームディレクトリからmy_folderに移動するためには,以下のように入力する必要があります.
$ pwd
/Users/nakamura
$ cd Desktop/my_folder
$ pwd
/Users/nakamura/Desktop/my_folder
今度は,正しく移動できたと思います.このように,カレントディレクトリからの相対的な位置(相対パス)を入力して移動する場合は,常に自分がどこにいるのかを意識しなければなりません.これに対して絶対パスは,今自分がどこにいるのかを気にする必要はありません.つまり,先ほど紹介した$HOME
や~
は絶対パスになります.次のコマンドを入力してみてください.
$ echo ~
$ echo $HOME
ホームディレクトリのパスが表示されましたか?echo
は変数や文字列の内容を表示してくれるコマンドです.つまり,~
や$HOME
はホームディレクトリのパスそのものを表していることがわかります.では,なぜこれが絶対パスなのか.それは,echo ~
で表示されたパスが/
から始まっているからです.全てのパスは/
から始まります.つまり/
は絶対的な始点を示しており,そこから始まるパスは全て唯一になります.そのため,カレントディレクトリがどこかを意識することなく移動ができる訳です.この始まりのディレクトリ/
はルートディレクトリ(root directory)とも呼ばれます.試しに,絶対パスで移動してみましょう.
$ pwd
/Users/nakamura/Desktop/my_folder
$ cd /Users/nakamura/Documents
$ pwd
/User/nakamura/Documents
my_folderからDocumentsフォルダは全く見えていませんが,移動できたと思います. 上記の例では,~
や$HOME
を使って,cd ~/Documents
と書けばもっと簡単に移動することができます.また,パスを入力している途中でTabキーを押せば補完も効きますし,パスを打つのが面倒な時は,ターミナルにフォルダやファイルをドラッグ&ドロップしても絶対パスが自動で入力されるので,こちらも試してみて下さい.
最後に
ここまで,コマンドラインの最も基礎的な事項を説明してきました.これの何が便利なの?と思った方もいるかもしれませんが,今回の内容はこれから便利なコマンドを色々と学んでいく上での準備段階で,これを理解していないと後々必ずつまづきます.