UNIX的なアレ

UNIX的なこととかいろいろ

MacをUnixとして使うためのはじめの一歩

Unix使ってみたいってひとは意外と周囲にいるのですが、何からやっていいかわからない!ってよく相談されます。
そんなときに自分が教える内容をまとめてみました。

どうしてMacなのにターミナル??

Unixとして使えるからMacがいいよ!」と言われてMacを買った人はいるのではないでしょうか?
実際のところ、こんな場合が多いかと思います。

  • Unixってどうやって操作するの?
  • MacUnix???
  • 操作方法がさっぱりわからないし・・・

MacOSGUIが揃っていて、コマンドを知らなくてもマウスで操作することができますが、中身はUnix(FreeBSD)になっています。
普段さわる分には困らなくても、Unixコマンドを勉強するにはもってこいの環境なのです。

まずターミナルを立ち上げてみる!

それではさっそくコマンドを打つための準備をしてみましょう。

アプリケーション

ユーティリティ

ターミナル.app
をダブルクリックしてください。ターミナルが立ち上がるはずです。

Unix上ではどんなファイルがあるのかを調べるときも、すべてこのターミナル経由で調べます。
黒背景・白文字でエンジニアが操作しているのにあこがれを持っている人は、以下の手順でいろを変えてみましょう。

ターミナルの色を変えてみる!


ターミナル

ウィンドウ設定
を開いて下さい。写真の画面が出るので、そこで「黒字に白」を選択してください。
これで、なんとなくUnixを操作している気分に浸れます。

ターミナルから操作をしてみる!

それではターミナルを操作してみましょう。以下のコマンドを打って、最後にreturnを押してください。
先頭にある#(シャープ)はこの後ろはコマンドですよという意味です。
今はよくわからなくても大丈夫です。


# ls
すると以下のような結果がでてきたと思います。
なおこの内容は人によって違うのでとりあえず何かの文字列が返ってくればOKです。

# ls
Desktop Maildir Shared eclipse.tar.gz project work
Documents Movies Sites ex-site script workspace
そう、ものすごく頻繁に使うコマンドなのでご存じの方も多いと思いますが、上記で打ったコマンドlsはファイル・フォルダを調べるものです。
先の例では自分自身が今いるフォルダの下にあるファイルとフォルダを調べている操作になります。
それではいま自分がいるフォルダをどこなのでしょうか?調べてみましょう。

# pwd
/Users/wadap
上記のようになるでしょうか?
/Users/の次に表示されるのは自分のアカウント名になるので、そこは個々で変わるはずなので何らかの文字列が返ってくればOKです。
さぁそれでは上記以外でよく利用する最低限のコマンドを紹介します。

よく利用するコマンドリスト

詳しい方は説明の内容にいろいろつっこみがあるかもしれませんが、まずは以下を参考にしてみてください。

ls
存在するフォルダ・ファイルを調べる
pwd
自分がいまいる位置を調べる
cd
フォルダを移動する
cp
ファイル(フォルダ)をコピーする
mv
ファイル(フォルダ)を移動する
rm
ファイル(フォルダ)を削除する
more
ファイルの中身を表示する
mkdir
フォルダを作成する
date
現在の時刻を調べる

それではいろいろと打ってみましょう。rmはファイル削除なので注意してください。

コマンドのオプション

さて、コマンドを打ってみると気づくと思いますが、これだけではあまり実用的ではないですよね。
たとえばlsをうっても返ってきますが、その結果がファイルなのかフォルダなのかすらわかりません。
MacOSならFinderから調べればアイコンで一発で分かるのですが、Unixではどうやるのでしょうか?
実際はコマンドを単体で使用する機会というのはあまりなく、使うときはコマンドにオプションをつけて使う機会が多いです。
それでは以下のコマンドを打ってみましょう。


# ls -l
total 527712
drwx------ 9 wadap wadap 306 1 6 15:16 Desktop
drwx------ 21 wadap wadap 714 12 2 15:51 Documents
drwxr-xr-x 3 wadap wadap 102 1 3 2007 Downloads
drwxr-xr-x 6 wadap wadap 204 10 21 13:24 Incomplete
drwx------ 47 wadap wadap 1598 12 31 23:45 Library
drwx------ 39 wadap wadap 1326 1 6 13:32 Mail
さっきのlsとは返ってくる結果の見え方が変わったと思います。
これは、lsの後ろに-lというオプションをつけたために表示方法をUnix側が変えて返しているということになります。
この結果の詳細の見方は省きますが、先頭の文字が"d"になっていればフォルダ、"-"になっていればファイルと覚えておきましょう。
このように一見シンプルなことしかできないようなコマンドでもオプションをつけていくことで、様々な動きをさせることができます。

コマンドの引数

それでは今までは自分がいるフォルダに対してしか作業をしてきませんでしたが、それ以外のフォルダへ作業をする方法を紹介します。
以下のようにコマンドの後ろにファイルへのパスを指定してやります。


# ls -l /Applications/
total 0
drwxrwxr-x 3 root admin 102 12 26 00:07 Address Book.app
drwxrwxr-x 6 root admin 204 11 2 2006 AppleScript
drwxrwxr-x 3 root admin 102 11 17 11:09 Automator.app
drwxrwxr-x 16 root admin 544 1 1 2007 Big Bang Board Games
drwxrwxr-x 3 root admin 102 11 17 11:09 Calculator.app
drwxrwxr-x 3 root admin 102 11 2 2006 Chess.app
上記で記載している、/(スラッシュ)はUnix上でフォルダを指定する際に区切り文字として使われる文字になります。
この場合はApplicationsというフォルダ以下に対して、ls -lというコマンドを発行していることになります。
実際のエンジニア業務の中ではcdしてからファイル操作をするよりも、このように直接指定してやることの方が多いです。

ログアウト

最後にはちゃんとログアウトしましょう。いきなりターミナルをxボタンで閉じるのは無しで!


# exit
logout
[Process completed]
この様に表示されればログアウト完了です。それではターミナルのxボタンを押して終了させてください。

知っておくと便利なUnix用語!

それでは最後に、知っておくと便利なUnixでよく使われる単語を一部だけ紹介します。
とりあえずこれだけは知っておくといいでしょう。

ディレクト
MacOS,Windowsで表現されるフォルダのこと
カレントディレクト
自分が現在いるディレクトリのこと
ホームディレクト
ログインしたときに自分がいるディレクトリのこと
端末・ターミナル
Unixを操作する際に使用するためのインターフェイス(Windowsでの代表はTeraTerm,Putty)
パーミッション
ファイル、ディレクトリへのアクセス権限のこと
リブート
マシン自体の再起動のこと

さいごに

いかがでしょうか?ちょっとはUnixの操作ができる気はしませんか?
まだまだ入門的なコマンドだらけですが、ある程度自分自身で操作ができるようになれば、あとはどんどん自分自身で調べて操作ができるようになります。
Macでターミナル開いてみたんだけど」って会話からエンジニアとの会話も盛り上がるかもしれませんよ!?