Welcome to 1to1(いとい)   Click to listen highlighted text! Welcome to 1to1(いとい)

Mac

ターミナル

ターミナルについて

ターミナル(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」でクリックしたりフォルダを開いたりする操作を、文字で行うためのコマンドです。

コマンド覚え方動作・意味よく使う例
lsList現在のフォルダにあるファイルを表示ls -la
(隠しファイルも含めて詳細情報を表示)
cdChange Directoryフォルダを移動するcd Desktop
(デスクトップへ移動)
cd ..
(1つ上の階層へ戻る)
pwdPrint Working Directory今どこにいるか(パス)を表示pwd
mkdirMake Directory新しいフォルダを作るmkdir project_A
touchTouch空のファイルを作る(※中身変更時刻の更新用だが作成によく使う)touch index.html
mvMoveファイルの移動、または名前の変更mv old.txt new.txt
(名前変更)
cpCopyファイルをコピーするcp file.txt file_backup.txt
rmRemoveファイルを削除する(※ゴミ箱に入らず即消えるので注意)rm file.txt
rm -r folder
(フォルダごと削除)

システム状況と管理者権限

PCの健康状態を見たり、重要な変更を加える時に使います。

コマンド覚え方動作・意味よく使う例
sudoSuper User Do管理者権限でコマンドを実行sudo shutdown -h now
強制電源オフ)
topTop実行中のプロセスとCPU/メモリ使用率をリアルタイム表示top -o cpu
(CPU使用率順に並べる。「q」で終了)
clearClear画面の文字を消して綺麗にするclear
historyHistory過去に入力したコマンド履歴を表示history
manManualコマンドの説明書を表示man ls
(lsの使い方を見る。「q」で終了)
ネットワーク確認

「ネットが遅い?」「繋がらない?」という時に最初に叩くコマンドです。

コマンド覚え方動作・意味よく使う例
pingPing (ソナー音)相手のサーバーに届いているか確認ping google.com
(通信確認。「Ctrl+C」で停止)
ifconfigInterface Config自分のIPアドレスなどを確認ifconfig
curlClient for URL指定URLのデータを取得(Webアクセスのテスト)curl https://example.com
Mac専用コマンド

Macのターミナルには、macOSのGUI機能と連携する特別なコマンドがあります。

コマンド動作・意味プロの活用例
openターミナルからFinderやアプリを開くopen .
(今いる場所をFinderで開く。)
open file.txt
(関連付けられたアプリで開く)
pbcopyターミナルの出力をMacのクリップボードにコピー`cat file.txt
sayMacに喋らせる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 (コマンドプロンプト)解説
ファイル一覧lsdirWindowsの dir は詳細が出過ぎて少し見にくいのが特徴です。
フォルダ移動cdcd共通です。
現在地の表示pwdcdWindowsでは cd だけ打つと現在地を表示します。
フォルダ作成mkdirmkdir (または md)共通です。
画面クリアclearcls画面が文字だらけになった時に使います。
ファイルコピーcpcopy名前が少し似ています。
ファイル移動mvmoveこちらも似ています。
ファイル削除rmdelどちらもゴミ箱を経由せず即座に消えます。
管理者権限sudo [コマンド]runasWindowsではコマンドではなく「管理者として実行」を選ぶのが一般的です。
IPアドレス確認ifconfigipconfigfp の違いだけですが、間違えやすい代表格です。
ファイルを開く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が気を利かせて裏側で翻訳し、動くように作られています(エイリアス機能といいます)。

MWcをフォローする
Translate »
Click to listen highlighted text!