【初心者向け】Macでターミナルを活用する(前編)
こんにちは。ナミレリです。みなさん、Macのターミナルは使ってますか?
ターミナルは、プログラミングはもちろんUNIXやLinuxのサーバ構築、WEBサーバやDBサーバなどのミドルウェアの構築、ネットワークの構築や設定、はたまたMacの環境設定から設定できないような少し特殊な設定をする際にもターミナルは活躍します。
こうしたIT関連でなくとも知っていると作業が効率化できることが増えたり、自動化できることが増えます。今回はターミナルって何?から解説し基礎となるコマンドを前編と中編と後編の3回に分けて紹介します。
この記事はこんな人にオススメ
- ターミナルって何ができるの?
- Macでターミナルを使いこなしたい
- ターミナルの世界にどっぷりハマりたい
Macでターミナルを活用し作業に対する日々のモチベーションを爆上げして楽しいMacライフになると幸いです。
この記事でわかること
- ターミナルでファイル操作を思いのままにする
- プロンプトの理解
- Macのディレクトリ構造など
- MacBook Pro 14インチ M1Max
- macOS Monterey 12.2
目次
そもそもターミナルとは?
macOSのターミナルについては、Wikipediaに以下の記述があります。
ターミナル(masOS)
ターミナル(Terminal)は、AppleのmacOSに標準で付属しているUNIX端末エミュレータ。直接入力したUNIXコマンドを実行する他、UNIXコマンドの実行を自動化するTermファイルを作成、実行することも可能である。
https://ja.wikipedia.org/wiki/ターミナル_(macOS)
- macOS標準のアプリであること
- UNIXコマンドを直接入力し実行する
- コマンドを保存しておき実行することができる
動作
ターミナルを起動すると、UNIXとしてのmacOSの標準CLIシェルが起動し、UNIXコマンドを打ち込むことができる。もちろん、UNIX用のアプリケーションをインストールして、実行することもできる(ただし、UNIX用のアプリケーションをインストールするためには、MacPortsやXcodeといった開発環境のインストールが必要となる)。当初標準シェルはtcshだったが、その後Panther(10.3)でbash、Catalina(10.15)でzshに変更された。
https://ja.wikipedia.org/wiki/ターミナル_(macOS)
- CLI(コマンドラインインタフェース)
- 現在のmacOSの標準シェルはzsh
まとめると、ターミナルとは
ターミナルとは
・mac標準のアプリケーション
・CLI(コマンドラインインタフェース)によりコマンドを付けるアプリケーション
・入力されたコマンドははzshというシェルが解釈する
・シェルはカーネルと呼ばれるmacOSの中核にそれを渡す
・カーネルから実行結果ををシェルが受け取り、解釈し、
・ターミナルに表示する
ターミナルは何が便利なの?
ファイル操作を思いのままにできる
ファイルをコピーする場合、Finderでそのファイルを選択してコピー(複製)しますが、ターミナルからコピーするコマンド(cp)を入力することでコピーすることが出来ます。
コピーの他にも、名前の変更や移動、削除も同様にターミナルからコマンドを実行することで可能です。
これだけだとFinderからやればいいじゃん、となり実際に5個ぐらいのファイルならFinderでやればいいわけですが、
こんな時、みなさんはどうしますか?
例えば、
・300個のファイルが存在しその中で拡張子が「.jpg」以外は削除したい。
・拡張子が「.jpg」であるファイルはファイル名を連番にリネームする。
・念のためファイル名変更前のファイルはフォルダを作り、そこにバックアップする。
こんなことをやりたい場合、みなさんはどうするでしょうか。
Finderでやろうと思えばもちろん出来ないことはないですが、
時間もかかるし何よりミスしてしまう可能性もありますね。こういったことはコマンドラインで素早く確実に実行することが出来ます。
様々な設定を思いのままにできる
macOSのdefaultsコマンドでシステム環境設定で設定変更できる項目やそうでない項目など、OS全体の設定やユーザー固有の設定を編集・表示することができます。
例えば、一例ですが下記のような設定をターミナルから素早く変更できます。
defaultsコマンドで出来ることの例
- スペルの訂正を無効にする
- スクリーンショットをjpgで保存する
- スクリーンショットの影を無効にする
- 全ての拡張子を表示する
- .DS_Storeファイルを作成しないようにする
- ブート時のサウンドをオフにする
Homebrewというパッケージ管理システムが使える
Homebrew(略してbrewと表現することが多いですね)は、アプリケーションやライブラリなどの管理を簡単に行うためのMac用のパッケージ管理システムです。ターミナルからのコマンドによって様々なアプリケーションのインストールやアップデート、アンインストールを行うことができます。
UNIXやLinux界隈でメジャーなアプリケーションはMac用にもHomebrewで用意されていて必要なものを即座にインストールできます。プログラマー、サーバエンジニア、インフラエンジニアの方々にとって鉄板中の鉄板です。
Homebrewでインストールできるアプリケーションの一覧はこちらです。
https://formulae.brew.sh/formula/
ターミナルの起動方法は?
主に以下の3つの方法でターミナルを起動します。
Launchpadからターミナルを起動する
Dockから「Launchpad」をクリックし「Launchpad」を表示します。「Launchpad」内の「その他」をクリックします。
「その他」の中の「ターミナル」をクリックし、ターミナルを起動します。
Finderからターミナルを起動する
「Finder」を起動し、サイドバーの「アプリケーション」→「ユーティリティ」→「ターミナル」で起動します。
Spotlightからターミナルを起動する(オススメ)
command + スペースか、上部のメニューバーの「虫眼鏡アイコン」をクリックし、Spotlightを起動します。英語で「terminal」か日本語で「ターミナル」を入力し起動します。
オススメのターミナル起動方法
私はSpotlightでターミナルを素早く起動するか、あらかじめDockに登録したターミナルから起動します。
ターミナルを操作する前に知っておくべきこと
プロンプトについて
ターミナルを起動すると下図のようにプロンプトが表示されます。Macのターミナルの初期設定ではプロンプトは下記のようになります。
現在の「ディレクトリ名」が「~」(チルダ)になっていますが、「~」はホームディレクトリを表す記号です。Macでは「Macintosh HD」→「ユーザ」の下に各ユーザのホームディレクトリが設定されています。
下の画像はデフォルトのターミナル。更にその下の画像はカスタムしてかっこ良く設定したターミナルとプロンプト。ターミナルやプロンプトは自分好みに使いやすくかっこ良くカスタムできます。
引数について
ほとんどのコマンドには「値」を渡すことが出来てこの「値」のことを「引数」と言います。
command 引数1 引数2 引数3 ・・・・・
コマンドの後に半角スペースでその後に引数を入力します。引数と引数の間も半角スペースです。引数はなくても良いコマンドもあれば、1つ以上の引数が必要なコマンドもあります。
システム情報を表示するunameというコマンドを入力してみます。unameに-mオプションを与えて実行してみます。PCのハードウェアの情報が表示されます。
uname -m
arm64
今度はunameに-sオプションを与えて実行してみます。カーネル情報が表示されます。
uname -s
Darwin
今度はunameに-sと-mの2つのオプションを与えて実行してみます。カーネルの情報とマシンのハードウェアの情報が表示されます。
uname -s -m
Darwin arm64
2つのオプションの-sと-mは1つにまとめて-smでもOKです。
uname -s -m
Darwin arm64
ディレクトリ構造について
macOS(LinuxやUnix)のディレクトリの構造はツリー構造と呼ばれる下記のような階層構造になっています。(この図は例で実際にはもっと多くの階層があります)このツリー構造はディレクトリとファイルから構成されます。
ツリー構造の最上位を「/」(ルート)を呼びます。Users配下のtestというフォルダを表す場合は、次のように表しこれをパスと呼びます。
/Users/test/
ちなみに先ほどのunameコマンドのパスを調べてみましょう。パスを調べるにはwhichコマンドを使います。
which uname
/usr/bin/uname
/直下のusrというディレクトリのbinというディレクトの中にunameが存在することがわかります。
ターミナルの終了の仕方
exitと入力することでターミナルを終了することができます。またはctrl+dでもターミナルを終了することができます。
exit
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[プロセスが完了しました]
初期状態ではexitしてもターミナルウィンドウが閉じないので次のように設定を変更すると便利です。ターミナルの環境設定で「シェルの終了時」の項目を「シェルが正常に終了した場合は閉じる」に変更します。
最後に
最後まで読んでいただきありがとうございます。今回はMacでターミナルを活用する(前編)を紹介しました。
ターミナルを活用するとMacを使う景色が一変しまたMacの魅力もグッとアップします。Macの思想や大元がUnix系統であることをあらためて実感します。ぜひ皆さんもターミナルを活用してみてください。この記事がみなさんのMacライフに少しでもお役に立てたら幸いです。
MacやLinux、Pythonなど技術系のkindle本も豊富にあります。詳しくはこちらから。
Amazonの電子書籍読み放題サービス「Kindle Unlimited」でプライム会員を対象に、最初の3か月間を無料体験できるキャンペーンを実施中。マンガ、小説、ビジネス書、雑誌など500万冊から、好きな本を何冊でも読めるキャンペーンです。
初めてkindle unlimited 読み放題をご利用の方は30日間の無料で体験できます。
期間終了後は月額980円で、いつでもキャンセルできます。
200万冊以上が読み放題。お好きな端末で利用可能です。