Macを使用していて大抵のことはアプリを利用することでやりたいことができます。でも、Macターミナルの使い方を知っておけばやりたいことをするための時間も短縮できたり、作業がやり易かったりします。特に複数のアプリを使って作業していると、あっちのアプリへ行ったり、こっちのアプリへ行ったり作業しているかと思います。大きな作業していると仕方ないと思えますが、ちょっとしたことをする時などは、ターミナルでコマンドを使って実行したほうがサクッと終わる時もあります。
ということで、知っておくと便利なMacターミナルの使い方と、よく使うコマンドをまとめました。
ターミナルの使い方
ターミナルを使い慣れていない人もいるかと思うので、簡単に使い方をまとめました。Mac OS XのターミナルはUNIX系OSに共通しているものなので、使い方も以下に記述するコマンドも共通するものです。UNIXやLinuxを使っている人はそのままMacターミナルは使えますが、そうでない人はMacターミナルの使い方がわかればUNIX系OSも使えるようになります。
画面の見方
ターミナルを起動するとコマンドプロンプトが表示されます。
起動直後のカレントディレクトリは「~」となっています。これはユーザーのホームディレクトリを示しています。プロンプトが表示されている状態でコマンドを入力して実行します。
コマンド一覧
pwd・ls・cd・rm・mv・cp・mkdir・find・grep
*chmodコマンドは「見落としがちなファイルの権限変更」を参考にしてください。
*ftp・sftpコマンドは「MacではFTPコマンドを使ってしまう件」を参考にしてください。
*sshコマンドは「レンタルサーバーにSSH接続する方法」を参考にしてください。
pwd:カレントディレクトリ(現在のディレクトリ)を表示
【書式】 $ pwd
現在作業しているディレクトリのパスを表示します。ディレクトリパスはルートからのパスが表示されます。
<パスの見方>
ディレクトリの区切りは「/」で表示しています。(例:/Users/mymac/Downloads)
一番左の「/」はルートを示しています。
ls:カレントディレクトリのファイル・フォルダの一覧を表示
【書式】 $ ls [options] file…
もし引数にファイルを指定していれば、そのファイルをリスト表示します。
<よく使うオプション>
-l | ファイルの詳細情報を表示 |
-a | 隠しファイルも含めてカレントディレクトリ内の全てを表示 |
-F | ファイルの種類を示す記号を付けてリスト表示 |
-R | サブディレクトリの内容も表示 |
例) $ ls -l *.txt カレントディレクトリにあるtxtファイルだけをリスト表示します。 ファイルを指定しなければカレントディレクトリにある全てのファイル・フォルダを表示します。
cd:カレントディレクトリを移動
【書式】 $ cd [directory]
ディレクトリパスを指定して移動します。パスの指定で以下の表記を使います。
/ ルートディレクトリ . カレントディレクトリ .. 親ディレクトリ ~/ ホームディレクトリ
例) $ cd ~/Downloads ユーザーディレクトリのダウンロードへ移動します。 $ cd ../ 親ディレクトリに移動します。
rm:ファイルやディレクトリの削除
【書式】 $ rm [options] file...
指定したファイルやディレクトリを削除します。ディレクトリを指定した場合はその中にファイルがあると削除できません。-rを指定するとその配下にファイルやサブディレクトリがあっても削除します。
<よく使うオプション>
-d | ディレクトリを削除 |
-f | 警告メッセージを表示せず強制的に削除 |
-i | 削除していいかどうか確認 |
-r | 指定配下のサブディレクトリも含めて削除 |
例) $ rm sample.txt sample.txtファイルを削除 $ -r temp tempディレクトリをその配下にファイルやサブディレクトリがあっても削除
mv:ファイルやディレクトリの移動、もしくは名前の変更
【書式】 $ mv [options] source target $ mv [options] source directory
指定したファイルやディレクトリ(source)を指定したディレクトリ(directory)に移動します。ディレクトリが無い場合は指定した名前に変更します。
<よく使うオプション>
-f | 移動先に同名のファイルやディレクトリがあっても警告を表示せずに強制的に移動 |
-i | 上書きされるファイルやディレクトリがある場合は確認 |
例) $ mv test temp testファイルをtempフォルダに移動(tempディレクトリがある場合) $ mv test temp testファイルをtempという名前に変更(tempディレクトリがないので名前を変更)
cp:ファイルやディレクトリをコピー
【書式】 $ cp [options] source_file target_file $ cp [options] source_file target_directory
指定したファイル(source_file)を指定先(target_directory)にコピーします。ディレクトリはそのまま実行するとコピーできませんが、-rを指定するとコピーできます。
<よく使うオプション>
-a | 属性とディレクトリ構造をできるだけ保持してコピー |
-f | コピー先に同じ名前のファイルがあれっても警告なしに強制的に上書きコピー |
-i | 上書きされるファイルがある場合は確認 |
-r | ディレクトリ配下のファイルやサブディレクトリも含めてコピー |
例) $ cp test temp testファイルをtempフォルダにコピー $ cp test newfile testファイルをnewfileに名前を変えてコピー
mkdir:ディレクトリを作成
【書式】 $ mkdir [opsions] folder...
新しいディレクトリを作成します。ディレクトリをパスを指定して実行した場合は指定したパスに作成されます。パスを指定していない場合はカレントディレクトリに作成されます。
<よく使うオプション>
-m [権限] | 指定した権限でディレクトリを作成します。 |
-p | 指定したディレクトリをサブディレクトリも含めて作成する |
例) $ mkdir temp tempディレクトリを作成 $ mkdir -m 777 temp tempディレクトリを777の権限で作成
find:ファイルやディレクトリを検索
【書式】 $ find [path...] [expression]
指定したファイルやディレクトリを検索します。pathは検索するディレクトリを指定し、その配下を検索します。expressionはオプションと判別式とアクションを指定します。
<よく使うオプション>
判別式 -name pattern |
指定したパス配下にpatternで指定した名前と同じファイルを検索 |
アクション -exec command \; -ok command \; |
検索したあとにcommandを実行。{}を入力すると検索結果をコマンドに引き渡す -okは上記と同じ動作で、commandを実行するかどうか確認 |
例) $ find ./ -name *.txt カレントディレクトリ配下にある拡張子.txtファイルを検索 $ find ./ -name *.txt -command rm {} \; カレントディレクトリ配下にある拡張子.txtファイルを検索したあとに該当するファイルを削除
grep:文字列を検索
【書式】 $ grep [options] pattern [file…]
ファイル中のpatternに一致する文字列を検索します。patternに正規表現を使うこともできます。
<よく使うオプション>
-n | ファイルの行番号を表示 |
-c | パターンに一致した行数のみを表示 |
-i | パターンの大文字と小文字を区別しない |
-r | 指定ディレクトリ配下の全てのサブディレクトリを含めて検索 |
例) $ grep -r -i -n test ./ カレントディレクトリ配下全てのディレクトリのファイルにtest文字列を検索します。結果、ファイルの行番号を表示します。