要旨(「BOOK」データベースより)
長く活かせる基礎の基礎。入力作法から必須テクニックまでこの1冊で!
目次
[基礎知識]macOSの「アカウント名」と本書で扱う「ユーザ名」について
第1章 [入門]macOSとコマンドライン
1.1 はじめてのコマンドライン ……まずは試してみよう
コンピュータを「文字」で操作する ……コマンドとコマンドライン
ターミナル ……コマンド入力に使うアプリケーション
プロンプトとカーソル
コマンドの入力
コマンドラインの表記方法
コマンドのオプションと引数
ターミナルとシェルの関係
1.2 macOSの特徴 ……OSの基礎、Unix系OSという一面、macOSの変遷
基本となるソフトウェア「OS」
OSの中心部分は「カーネル」
macOSのベースは「Darwin」
Unix系OSの特徴
Unix系OSの歴史
UNIXは研究所で誕生し、無償公開されていた
Unixの系統の1つが「BSD系」
商用UNIXの登場とUnix系OSの進化
さまざまなディストリビューション
POSIX、商標UNIXとSUS ……UNIXの標準規格
Unix系OS間の違い ……系統の違いはコマンドラインに影響する?
Unix系OSと操作環境 ……ウィンドウを使うかどうかは設定で決める
macOSの歴史
Classic Mac OS
新しいOS「Mac OS X」の誕生
ハードウェアの変化 ……PowerPCからIntel Macへ
Mac OS Xから「OS X」へ名称変更
OS Xから「macOS」へ名称変更
Darwinの歴史
バージョンと名称の変遷
macOSとX Window System
Darwin用のXは「XQuartz」
第2章 ターミナルとFinderの基本
2.1 ターミナルの基本 ……起動と終了、設定の確認
ターミナルの起動と終了
複数のターミナルを起動して使う
シェルを終了させる
ターミナルの設定
プロファイルで見た目をカスタマイズ
ウィンドウタイトルに表示する内容
ターミナルで使用するシェルの設定
テキストエンコーディングの設定
「\」(バックスラッシュ)の基礎知識
「\」の表示を確認
いろいろな地域の言語を使えるようにするしくみ
テキストエンコーディングと文字コード
日本語環境で使われているテキストエンコーディング
世界中の文字を表すことを目指して作られた「Unicode」
[言語と地域]の設定
2.2 Finderとコマンドライン ……フォルダとディレクトリ、openコマンド
Finderの基本 ……フォルダとディレクトリ
フォルダはディレクトリを視覚化したもの
フォルダとディレクトリはどう対応しているか
ホームディレクトリ
Finderとターミナルとの連携
ドラッグ&ドロップでファイル名を簡単に入力する
[セキュリティとプライバシー]-[フルディスクアクセス]の設定
Finderからターミナルを開く
Finderにパスを表示する設定
パスバーを表示する
ウィンドウのタイトルにパスを表示する
ターミナルからアプリケーションを起動する3つの方法 ……openコマンド
[1]ターミナルからFinderのウィンドウを開く
[2]ターミナルからデータファイルを開く
テスト用ファイルの作成
openコマンドで開いてみよう
[3]ターミナルから好きなアプリケーションを起動する
第3章 シェル&コマンドラインの基礎
3.1 シェル概論 ……コマンドラインを担う「シェル」を知る
シェルの役割 ……コマンド入力をカーネルに伝える
コマンドラインでのあれこれはシェルが受け持っている
シェルでできることは「シェルスクリプト」で自動化できる
シェルは環境の設定にも使われている
シェルの種類 ……macOSの標準シェルはzsh
シェルによる違い ……コマンドは共通、コマンドラインの機能は異なる
プロンプトで使われている記号の意味
シェルスクリプトの基礎知識
シェルスクリプト以外のスクリプト ……macOSにインストールされているスクリプト言語
3.2 [速習]コマンドライン入力 ……効率の良い方法をマスター
コマンドラインの編集と履歴の活用
コマンドラインの編集
前に入力した内容を呼び出す ……ヒストリ機能
補完機能の活用
コマンド名の補完
ファイル名の補完
複数の候補がある場合
ファイルをまとめて指定
「*」にはすべてがあてはまる
「?」は何か1文字を表す
「パス名展開」はシェルの仕事
パイプとリダイレクトの活用
パイプでコマンドの出力をほかのコマンドに渡す
リダイレクトで出力結果をファイルに保存する
リダイレクトで既存ファイルに「追加」する
画面のクリア ……clearコマンド
3.3 コマンドの基礎知識 ……コマンドの使い方&調べ方
環境変数「PATH」とコマンドの優先順位 ……コマンドを動かす前に
コマンドを実行するにはパスが必要
PATHの役割 ……「パスが通って」いれば省略できる
PATHの確認 ……PATHに登録されているディレクトリ
PATHに登録されているディレクトリの使い分け
シェルに組み込まれているコマンド ……ビルトインコマンド
コマンドの優先順位 ……①エイリアス、②ビルトインコマンド、③PATH
「何」が実行されているのかを知るには ……whichコマンド、typeコマンド
コマンドのルール ……オプション、引数、サブコマンド
ショートオプションとロングオプション
オプションの組み合わせ方
引数があるオプション
ヘルプやバージョンを表示するオプション
サブコマンド
コマンドのマニュアルを確認 ……man
manコマンドでマニュアルを表示する
ターミナルのメニューでマニュアルを参照する
manで表示されるマニュアルの構成
SYNOPSIS(書式)の読み方
SYNOPSIS内の[ ]は省略可能であることを表す
「...」は複数指定可能であることを表す
「|」はどちらかを選択することを示す
マニュアルの章番号
ビルトインコマンドのマニュアル
3.4 管理者よりも強力なユーザ「root」 ……sudo/rootless機能
ユーザの種類と権限
「root」って何だろう
rootの権限を使えるsudoコマンド
rootでシェルを使う
新しいセキュリティ機能「rootless」 ……SIP
ディレクトリが保護されているかを確認する ……拡張属性「com.apple.rootless」
第4章 ファイルシステム
4.1 ファイルシステムの基礎知識 ……APFS/フォーマット/パーティション/マウント
ファイルシステムの基礎知識
ファイルシステムの種類 ……macOS、Windows、Unix系OS
新しいファイルシステム「APFS」
APFSとHFS+の選択のバリエーション ……暗号化、大文字/小文字、ジャーナリング
ファイルシステムとコマンドラインの関係 ……ファイル操作系のコマンドは共通
フォーマット ……記憶媒体を特定のファイルシステム用に準備
パーティション ……記憶媒体はパーティションを作って管理
ボリューム ……フォーマットされた領域には名前を付けて管理
マウント ……記憶媒体をOSからアクセスできるようにする
/Volumes ……macOSのマウントポイント
APFSの「コンテナ」と「ボリューム」
4.2 ファイルシステムの操作 ……[ディスクユーティリティ]/diskutil/デバイスノード/df/mount
[ディスクユーティリティ]と情報の表示
[ディスクユーティリティ]でコンテナも表示する
ディスクの情報の調査/マウント/修復 ……diskutil
接続されているディスクの確認と情報表示 ……diskutil list
デバイスノード ……デバイス単位の操作時に、ディスクやボリュームの指定に用いる
マウント状況や使用量などの確認 ……diskutil info
ボリュームのマウント/マウント解除/イジェクト ……diskutil mount/umount/eject
ディスクの空き領域の表示 ……df
マウント状況とファイルシステムの確認 ……mount
第5章 ファイル&ディレクトリの探検
5.1 ディレクトリ ……「/」(ルート)、「~」(ホーム)、「.」(カレント)、「..」(親)、絶対パス&相対パス
macOSのディレクトリツリー ……ファイルはディレクトリによって整理されている
Firmlinks ……ファイルシステムの新たなしくみ
ルートディレクトリを見てみよう ……「/」
ルートディレクトリの下にあるディレクトリを見る場合
ホームディレクトリを見てみよう ……「~」
ホームディレクトリの下にあるディレクトリを見る場合
自分以外のユーザのホームディレクトリを表示する方法
カレントディレクトリは「現在の作業場」
カレントディレクトリの下にあるディレクトリを確認する
違うディレクトリをカレントディレクトリにする ……cd
パスの基本 ……パスの表し方
絶対パス(フルパス)と相対パス、親ディレクトリを表す「..」
相対パスと絶対パスを使ったコマンド操作
カレントディレクトリを表す ……「.」
「~」と組み合わせて指定する
「~」を使った指定も絶対パス
ディレクトリを表す記号のまとめ
5.2 ドットファイル ……普通のファイルなのに見えないファイル(?)
見えないファイル「ドットファイル」
ドットファイルを表示してみよう ……ls -a、-A
ワイルドカードでドットファイルを指定する
ドットファイルは「隠れている」ファイル
5.3 コマンドによるファイルとディレクトリの操作 ……mkdir/rmdir/rm/mv/cp
ディレクトリの作成 ……mkdir
空のディレクトリの削除 ……rmdir
ディレクトリが削除できない場合
ファイルやディレクトリの削除 ……rm
ディレクトリの削除 ……-R
確認メッセージを表示せずに削除する ……-f
-R(-r)オプションを使用する際の注意点
ファイルやディレクトリの移動/名前の変更 ……mv
mvでディレクトリの移動/名前の変更をする場合
mvでファイル名を変更する際の注意点
ファイルやディレクトリのコピー ……cp
コピー先にディレクトリを指定する ……補完機能を使う習慣をつけてミス防止
ディレクトリのコピー ……-R
コピー先のディレクトリがある場合の注意点
5.4 シンボリックリンク ……ハードリンクとinode/ln/エイリアスとの違い
ハードリンク&シンボリックリンク
ハードリンクとinode ……ファイルやディレクトリには固有の番号がある
「ハードリンク数」の意味 ……サブディレクトリの数+2
ハードリンク数の変化を見てみよう
シンボリックリンク ……ファイルやディレクトリへのリンク
シンボリックリンクの作成 ……ln
シンボリックリンクの削除
リンク先の削除
ディレクトリのシンボリックリンクの作成 ……作り方はファイルのときと同じ
Finderの「エイリアス」との違い
第6章 ファイルの属性とパーミッション
6.1 ファイル&ディレクトリの属性 ……パーミッション/ファイルフラグ/ACL/拡張属性
ファイルの情報を眺めてみよう ……属性
読み/書き/実行の許可を管理する「パーミッション」 ……パーミッションは3種類×3組
ファイルの「読み/書きの許可」 ……r/w
ファイルの「実行許可」 ……x
ディレクトリのパーミッションはどう働くか
ホームディレクトリのパーミッション
このほかの属性 ……ファイルフラグ、ACL、拡張属性
ファイルフラグ ……Finderの表示や変更可能かを決める
ACL ……アクセス制限を細かく定義する
拡張属性 ……Finderでの表示方法などを保存する
6.2 ファイル情報の表示 ……ls/stat
ファイルリストの表示 ……ls
詳細情報を表示する ……-l
ディレクトリやシンボリックリンクの情報を表示する ……-l、-d
ドットファイルを表示する ……-a、-A
ファイルの種類を表示する ……-F、-G
サブディレクトリの中も表示する ……-R
ファイルの更新日で並べ替える ……-t
ファイルの属性情報の表示 ……stat
6.3 ファイルの所有者やパーミッションの変更 ……chmod/chflags/chown/touch
パーミッションの変更 ……chmod
パーミッションを表すアルファベットと数値
パーミッションとマスク値
デフォルトのパーミッション
chmodとデフォルトのパーミッション
ACL情報の操作
ファイルフラグの変更 ……chflags
ファイルを「変更禁止」にする ……uchg属性
ファイルの所有者とグループの変更 ……chown
ファイルなどの更新日や最終アクセス日の変更&新規ファイルの作成 ……touch
6.4 ファイルの検索/圧縮/同期 ……find/zip/unzip/tar/gzip/guzip/rsync/du
ファイルの検索 ……find
検索するディレクトリの階層を指定するには ……-maxdepth
検索対象外とする条件を加えるには ……-prune
ファイルを検索して削除 ……-exec、-ok
ZIP形式による圧縮と展開 ……zip、unzip
リソースフォークや拡張属性は含めず圧縮できる ……他OSとのやりとりする際に便利
パス名展開を使用した場合の注意点
サブディレクトリも含めて圧縮する
条件に合うファイルを探してZIPファイルにする ……-i
findコマンドと組み合わせてZIPファイルにする ……-@
ZIPファイルを作成して元のファイルを削除する ……-m
ZIP形式のファイルを展開する ……unzip
一部のファイルだけを展開する
アーカイブの作成/展開 ……tar
ファイルの圧縮と伸張 ……gzip、gunzip
ディレクトリの同期 ……rsync
ファイルの削除も同期する
ドットファイルを除外する
ディレクトリのディスク使用量の集計 ……du
指定したディレクトリの集計の
内容紹介
初学者の方々に向けた「macOS×コマンドライン」の解説書。
zshとbashに両対応し、解説を刷新しました。
本書では、macOSベースでOSの基礎知識とコマンドラインのテクニックを丁寧に解説。
macOSの源流にあるUnix系OSのコンセプトを押さえつつ、ファイルやファイルシステム、
ユーザやプロセスの概念、シェル、ターミナル.appなど、コマンド実行に役立つOS&関連知識を
丁寧に取り上げます。独学でも楽しみながら学べるように、ポイントを押さえた図解や実例が満載です。
新版では巻末附録として、主要なコマンド&オプションが一覧できる「クイックリファレンス」に加え、
パーソナルユースを想定した「Python」「Raspberry Pi」の2つの環境構築例も収録。
macOS、そしてこれからのコンピューターを使いこなしていくための
基本の力を身につけたい方々へ向けて、充実の解説をお届けします。
※本書は『[基礎知識+リファレンス]macOSコマンド入門 ――ターミナルとコマンドライン、基本の力』(西村めぐみ著、新居雅行技術監修、技術評論社、2017)を元に、大幅な加筆/修正、目次構成の変更、最新情報へのアッフ?テ?ートを行ったものて?す。
著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)
西村 めぐみ(ニシムラ メグミ)
1990年代、生産管理ソフトウェアの開発およびサポート業務/セミナー講師を担当。書籍および雑誌での執筆活動を経て(株)マックス・ヴァルト研究所に入社、マーケティングリサーチの企画および実査を担当。その後、PCおよびMicrosoft Officeのeラーニング教材作成/指導、新人教育にも携わる
新居 雅行(ニイ マサユキ)
ライフマティックス(株)勤務、システム開発、コンサルティング、トレーニングを主業務とする。iOS、macOS、サーバ、データベース、FileMaker、Webアプリケーションがおもなフィールド。DB連動Webアプリケーション向けのフレームワーク「INTERMediator」の開発者。電気通信大学大学院修了。博士(工学)
著者について
西村めぐみ[著] 新居雅行[技術監修] (ニシムラメグミ ニイマサユキ)
著者西村 めぐみ1990年代、生産管理ソフトウェアの開発およびサポート業務/セミナー講師を担当。書籍および雑誌での執筆活動を経て㈱マックス・ヴァルト研究所に入社、マーケティングリサーチの企画および実査を担当。その後、PCおよびMicrosoft Officeのeラーニング教材作成/指導、新人教育にも携わる。おもな著書は『図解でわかるLinuxのすべて』(日本実業出版社)、『シェルの基本テクニック』(IDGジャパン)、『Accessではじめるデータベース超入門[改訂2版]』(技術評論社)など。技術監修新居 雅行ライフマティックス㈱勤務、システム開発、コンサルティング、トレーニングを主業務とする。iOS、macOS、サーバ、データベース、FileMaker、Webアプリケーションがおもなフィールド。DB連動Webアプリケーション向けのフレームワーク「INTER-Mediator」の開発者。代表的な著作は1990年代の『Macintoshアプリケーションプログラミング』(上下巻、ディ・アート)など。電気通信大学大学院修了。博士(工学)。