Macでプログラミングやwebアプリ制作をしていると、ファイルを扱ったりライブラリなどをインストールする時にターミナルで操作をすることが頻繁に出てきます。
グラフィカルな画面でのクリック操作に慣れてしまっている初心者の人は、最初はこのターミナル操作が結構ハードルが高かったりするんですよね。そのほとんどがUNIXコマンドで、それを操作するなんて専門家のやることではないかと勝手にイメージしてるわけです。
ところが、実際やってみると、基本的な操作はとても限られていますし、慣れてくるととても作業が効率的になります。ですからよく使うコマンドは慣れてマスターしておく方がいいですね。
Macでよく使う基本的なUNIXコマンド
ここでは、Macのターミナル操作でよく使う基本的なUNIXコマンドをまとめてみました。もちろんこれだけではありませんが、まずこのあたりをしっかりマスターしましょう。
ターミナルを起動して実際にやってみることをおすすめします。私のMacの環境ですので、ディレクトリ名などは各自の環境で読み替えてください。
ls
lsコマンドは、現在のディレクトリにあるファイルとフォルダの一覧を表示することができます。
$ ls

次のコマンドで、ディレクトリ内のフォルダを指定してその中の一覧を見ることができます。
$ ls フォルダ名
pwd
pwdコマンドで、現在のディレクトリパスを取得することができます。
$ pwd

現在のディレクトリパスが表示されています。
clear
clearコマンドで、ターミナルの表示をクリアしてくれます。
$ clear

これまでターミナルで表示されていたものがクリアされます。
ちなみに、UNIXコマンドの話とは違いますが、Pythonのインタラクティブシェルで表示をクリアしたい場合は、[control]+[L]でクリアできます。
touch textfile名
touchコマンドに続けてテキストファイルを指定すると、ディレクトリ内に新規テキストファイルが作成されます。
$ touch abc.txt

lsコマンドで確認すると、abc.txtファイルが作成されているのがわかります。
mkdir directory名
mkdirコマンドに続けて新しくディレクトリ名を指定すると、ディレクトリ内に新しいフォルダが作成されます。
$ mkdir ABCD

lsコマンドでディレクトリ内を確認すると、ABCDフォルダが新しく作成されているのがわかります。
cd folder名
cdコマンドに続けてフォルダ名を指定すると、そのフォルダ(ディレクトリ)に移動することができます。
$ cd ABCD

先ほど作ったABCDフォルダに移動してみました。
cp textfile名 folder名/textfile名
cpコマンドに続けてファイル名を指定し、コピー先のフォルダ/ファイル名でコピーできます。
$ cp abc.txt ABCD/xyz.txt

異動先のフォルダにファイルがコピーされているのがわかります。実際にファイルに記述しておくと、内容もコピーされています。
mv textfile名 folder名/textfile名
同様にmvコマンドを使うと、ファイルを移動することができます。
$ mv abc.txt ABCD/abc.txt

元のフォルダからファイルが無くなり、移動先フォルダにファイルが作成されているのがわかります。
rm ファイル名
rmコマンドを使うと、指定したファイルやフォルダを削除することができます。
$ rm xyz.txt

ABCDフォルダ内から指定したファイルが無くなっているのがわかります。
次はフォルダごと削除します。
rmコマンドの後に、-rをつけてフォルダ名を指定します。
$ rm -r ABCD

指定したフォルダが削除されているのがわかります。
find . -name ファイル名
findコマンドで、ファイルやフォルダを探すことができます。今回は、mysample.txtファイルをディレクトリ内に作成して、これを探してみます。
$ find . -name mysample.txt

作成したファイルが見つかりました。ゴミ箱にも以前作成したものが入っていたようです。
cat ファイル名
catコマンドに続けてファイル名をしてすると、ターミナルにファイル内の記述が表示されます。mysample.txtファイルにあらかじめ文字を入力して実行してみます。
$ cat mysample.txt

文字と数字が出力されているのがわかります。
du ファイル名
duコマンドでファイルやフォルダのサイズを確認することができます。
$ du mysample.txt

8バイトのファイルということになります。
zip、unzip
zipコマンドでファイルの圧縮、unzipコマンドでファイルの展開ができます。
zipは、圧縮ファイル名の後に目的のファイルを指定します。
$ zip test.zip mysample.txt

zipファイルができているのがわかります。
続けてこれをunzipで展開しましょう。
unzipコマンドに続けてzipファイルを指定します。
$ unzip test.zip

圧縮前のファイルが残っているので、renameのrを指定して、ファイル名を変更して展開しているのがわかります。
まとめ
もちろん、これら以外にもよく使うコマンドはあります。それらはその都度利用する時に触れるが、また別の機会にまとめようと思います。
とりあえず、ここにまとめたコマンドはMacのターミナルで操作する時によく使うものだと思います。この基本的なUNIXコマンドは使い慣れて何も見ずに操作できるくらいにしておくと便利ですね。
Linuxも同様のコマンドですから活用できますし、Macの便利さ、醍醐味も味わえると思います。