ターミナル
ターミナルについて
ターミナル(CLI: Command Line Interface)
「黒い画面=ターミナル」と思っていますが、階層構造で考えるとTerminal.app (ターミナルアプリ)は「窓」です。キーボード入力を受け付け、結果を画面に表示するためのGUIアプリケーションです。Shell (シェル)が主役です。ユーザーからの命令を解釈し、OSの核であるカーネルに伝える「翻訳者」です。Macの現在の標準は Zsh (Z shell) です。
Kernel (カーネル – Darwin):ハードウェア(CPU、メモリ、ディスク)を直接制御するOSの心臓部です。
ターミナルを通して、OSの心臓部と直接対話していることになります。GUI(マウス操作)は「用意されたメニュー」しか選べませんが、CLI(ターミナル)は「言語」なので組み合わせが無限大です。「画像ファイル1000個の名前を連番に変える」作業をマウスでやると1時間かかりますが、ターミナルなら数行のコマンドで一瞬です。グラフィックを描画しないため、メモリやCPUをほとんど消費しません。
パイプライン処理 (|):これがUNIX系(Mac含む)の醍醐味です。あるプログラムの出力を、そのまま別のプログラムの入力として流し込めます。例: ls -l | grep “.txt”(ファイル一覧を表示し、その結果から “.txt” を含む行だけをフィルタリングして表示する)
重要概念
パス (Path):住所のことです。
絶対パス: ルート(/)から全ての住所を書く方法(例: /Users/username/Desktop)。
相対パス: 今いる場所から見た住所(例: Desktop)。
~ (チルダ): 自分のホームディレクトリ(/Users/あなたの名前)を表すショートカット記号です。
権限 (Permissions) と sudo:
Macはセキュリティが堅牢です。システム設定に関わる重要なファイルを操作しようとすると「Permission denied(許可がありません)」と弾かれます。管理者の帽子をかぶるコマンドが sudo (SuperUser Do) です。
sudo shutdown -h now
# パスワードを求められ、管理者権限で即座にシャットダウンします
プロセス制御:アプリが固まった時、強制終了にもターミナルは役立ちます。
top: 現在動いているプログラム(プロセス)とCPU使用率をリアルタイム表示。
kill [PID]: 指定したプロセスIDのプログラムを強制終了。
ターミナルは「諸刃の剣」です。強力すぎるため、たった一行のコマンドでOSを破壊することも可能です。
絶対に実行してはいけないコマンドの例:
sudo rm -rf /
(管理者の権限で、ルートディレクトリ以下の全ファイルを、確認なしで強制削除する=Macが起動しなくなります)
場所の移動とファイル操作
「Finder」でクリックしたりフォルダを開いたりする操作を、文字で行うためのコマンドです。
| コマンド | 覚え方 | 動作・意味 | よく使う例 |
ls | List | 現在のフォルダにあるファイルを表示 | ls -la(隠しファイルも含めて詳細情報を表示) |
cd | Change Directory | フォルダを移動する | cd Desktop(デスクトップへ移動) cd ..(1つ上の階層へ戻る) |
pwd | Print Working Directory | 今どこにいるか(パス)を表示 | pwd |
mkdir | Make Directory | 新しいフォルダを作る | mkdir project_A |
touch | Touch | 空のファイルを作る(※中身変更時刻の更新用だが作成によく使う) | touch index.html |
mv | Move | ファイルの移動、または名前の変更 | mv old.txt new.txt(名前変更) |
cp | Copy | ファイルをコピーする | cp file.txt file_backup.txt |
rm | Remove | ファイルを削除する(※ゴミ箱に入らず即消えるので注意) | rm file.txtrm -r folder(フォルダごと削除) |
システム状況と管理者権限
PCの健康状態を見たり、重要な変更を加える時に使います。
| コマンド | 覚え方 | 動作・意味 | よく使う例 |
sudo | Super User Do | 管理者権限でコマンドを実行 | sudo shutdown -h now強制電源オフ) |
top | Top | 実行中のプロセスとCPU/メモリ使用率をリアルタイム表示 | top -o cpu(CPU使用率順に並べる。「q」で終了) |
clear | Clear | 画面の文字を消して綺麗にする | clear |
history | History | 過去に入力したコマンド履歴を表示 | history |
man | Manual | コマンドの説明書を表示 | man ls(lsの使い方を見る。「q」で終了) |
ネットワーク確認
「ネットが遅い?」「繋がらない?」という時に最初に叩くコマンドです。
| コマンド | 覚え方 | 動作・意味 | よく使う例 |
ping | Ping (ソナー音) | 相手のサーバーに届いているか確認 | ping google.com(通信確認。「Ctrl+C」で停止) |
ifconfig | Interface Config | 自分のIPアドレスなどを確認 | ifconfig |
curl | Client for URL | 指定URLのデータを取得(Webアクセスのテスト) | curl https://example.com |
Mac専用コマンド
Macのターミナルには、macOSのGUI機能と連携する特別なコマンドがあります。
| コマンド | 動作・意味 | プロの活用例 |
open | ターミナルからFinderやアプリを開く | open .(今いる場所をFinderで開く。) open file.txt(関連付けられたアプリで開く) |
pbcopy | ターミナルの出力をMacのクリップボードにコピー | `cat file.txt |
say | Macに喋らせる | say "Hello, I am your Mac"(合成音声で読み上げます) |
その他
タブ補完:コマンドを打つ時、全部手入力する必要はありません。
Tabキー: 例えば cd Doc まで打って [Tab]キー を押すと、自動的に cd Documents/ と補完してくれます。
↑ / ↓ キー: 過去に入力したコマンドを呼び出せます。「さっきのコマンドもう一回」という時に使います。
ファイルシステムは「木(ツリー)」のような構造になっています。cd で枝を渡り歩き、ls でその場の実を確認するイメージを持つと理解が早まります。
Mac(UNIX系)語と、Windows(MS-DOS系)語
「用途(目的)は全く同じ」ですが、「使う言葉(コマンド名)」が異なる場合が多いです。これを「方言の違い」と捉えると分かりやすいでしょう。どちらも「OSに命令する」という目的は同じですが、Mac(UNIX系)語と、Windows(MS-DOS系)語という異なる言語体系を使っています。
| 目的 | Mac (ターミナル) | Windows (コマンドプロンプト) | 解説 |
| ファイル一覧 | ls | dir | Windowsの dir は詳細が出過ぎて少し見にくいのが特徴です。 |
| フォルダ移動 | cd | cd | 共通です。 |
| 現在地の表示 | pwd | cd | Windowsでは cd だけ打つと現在地を表示します。 |
| フォルダ作成 | mkdir | mkdir (または md) | 共通です。 |
| 画面クリア | clear | cls | 画面が文字だらけになった時に使います。 |
| ファイルコピー | cp | copy | 名前が少し似ています。 |
| ファイル移動 | mv | move | こちらも似ています。 |
| ファイル削除 | rm | del | どちらもゴミ箱を経由せず即座に消えます。 |
| 管理者権限 | sudo [コマンド] | runas | Windowsではコマンドではなく「管理者として実行」を選ぶのが一般的です。 |
| IPアドレス確認 | ifconfig | ipconfig | f と p の違いだけですが、間違えやすい代表格です。 |
| ファイルを開く | open [ファイル] | start [ファイル] | 関連付けられたアプリ(Excelや画像ビューアなど)で開きます。 |
この違いは、OSの「家系」の違いに由来します。Mac (macOS):1970年代に作られた「UNIX(ユニックス)」という大型コンピューター用OSの流れを汲んでいます。Linux(Webサーバーなどで使われるOS)も親戚なので、Macのコマンドを覚えると、自動的に世界中のサーバー操作もできるようになります。Windows:1980年代の「MS-DOS」というパソコン用OSの流れを汲んでいます。こちらは個人用コンピュータとしての進化を遂げたため、独自のコマンド体系を持っています。最近のWindowsにある「PowerShell(パワーシェル)」という次世代のコマンドプロンプトでは、Mac(UNIX)ユーザーが困らないように、ls と打っても cp と打っても、Windowsが気を利かせて裏側で翻訳し、動くように作られています(エイリアス機能といいます)。