学習記録
コマンドの仕組みと管理ツール
【目的】
・環境構築に必要なコマンドとソフトウェアの仕組みを理解する
【学習概要】
環境構築で使用したツールを学ぶ
パッケージ管理ツールで管理する理由を学ぶ
【学習内容】
1.シェル
ターミナルとOSを繋ぐ窓口役
ターミナルから入力されたコマンドを読み取ってOSに対して指示を渡し、結果をターミナルに返して表示や実行などの動作をさせる
シェルがターミナルとOSの間に挟まってコマンドによる命令と実行結果の橋渡しをしている
2.zsh
シェルの一つ
ターミナルでecho $SHELLとコマンドを実行すると現在使用しているシェルはzshであることがわかる
プロンプトが%である
3.PATH
環境変数と呼ばれるOSようの変数
PATHに絶対パスを保存してアプリケーションのありかを示せば、どこからコマンドを実行してもアプリケーションのコマンドを打つことができる
4.コマンドとアプリケーションの関係
・コマンドラインツール
コマンドで操作するアプリケーションのまとまり
コマンドラインツールを導入することで、OSが始めからコマンドで操作できるアプリケーションのファイのアプリケーションをPCにインストールできる
・Command Line Tools
macOSでは元々Linuxコマンドで操作出来るアプリケーションや機能を標準搭載している。Linuxコマンド以外で操作するアプリケーションの多くはCommmand Line ToolsのインストールによってまとめてPCに導入できる
5.パッケージとバージョンの管理(Homebrewの必要性)
・依存関係
あるファイルやライブラリが正常に作動するために、別ファイルやライブラリによる処理と結果が必要になる状態を依存と呼び、その関係を依存関係と呼ぶ
例)ライブラリAを処理して作動するライブラリBは、依存関係にあると言える
実際は大量のライブラリ同士が複雑に依存関係にあるため管理するツールが必要になる
6.パッケージ管理ツール
パッケージとはプログラムや処理をひとまとめにしたもののこと。ライブラリとも言えるがパッケージは複数のライブラリをまとめていることもある。
パッケージ管理とはパッケージやパッケージが持つライブラリなどの依存関係を考慮してインストールやバージョンアップを行う管理のこと。
・Homebrew
macOSのパッケージ管理ツール
macOS上で作動するアプリケージョンの多くがHomebrewからインストールできる
7.バージョン管理
変更したバージョンを記録あるいは外部から保存して過去のバージョンや最新のバージョンに切り替えることなどをバージョン管理という