Linuxとは
ハードウェアとアプリケーションの仲介をするものOSという。
OS(コンピュータの、入出力や同時並行処理などを管理するプログラム)の1つ。特徴として、OSS(オープンソースサービス)のため無料で利用できる。
ハードウェア
・キーボード
・RAM
・ストレージ
アプリケーション
・LINE
・chrome
・zoom
Linuxは厳密には2つの意味がある。
・狭義 Linux - Linuxカーネル
LinuxOS本体にあたる部分
・広義 Linux - Linuxディストビューション
カーネル以外のその他のソフトウェアを一式含んだ状態
例
・ Ubuntu
・ CentOS
・ Debian
Linuxの歴史
Unixという土台
Linuxの土台となったOSで1969年にアメリカのベル研究所で開発された現存する中で最も古いOSの1つ。
Unixの特徴
- 無料で配布していたOS
- 後にライセンス契約となった
- 色々なOS の土台となった
Unix系のOS
- Linux
- centOS
- ubuntu
- macOS
Linuxtの誕生
Unixが無料配布からライセンス契約になったことがきっかけで1991年 当時大学生のリーナス・トーバルズがUnixを元にLinuxカーネルを開発。(後にGitの生みの親になる)
名言
大勢の目があれば、すべてのバグは大した問題ではない
Linuxカーネル
LinuxOSの垣根の部分
アプリケーションなどのソフトウェアとCPUやデバイスへの仲介のイメージ。
- プロセスの制御・処理・管理
- アプリケーションや周辺機器の監視
Linuxディストリビューションとは
Linuxカーネルをコアな開発者以外でも動かしやすいように様々なツールと組み合わせたもの。
ディストリビューションの例
大きな違いはソフトウェアの管理方法
Red Hat系(rpmパッケージ形式)
- CentOS
- Fedora
- Red Hat Linux
Debian系(debパッケージ形式)
- Ubuntu
- Debian
Linuxを学ぶ重要性
1.サーバーで使われている
使用するサーバーのOSの多くは、OSSで無料のLinux(Unix系)が使用されている。
- AWS(Amazon)
- GCP(Google)
- Azure(microsoft)
2.コマンド操作力の向上
エンジニアの開発ではコマンド操作が常にある
例
- ファイルを作る
- ファイルの中身を見る
- パッケージをインストール
- コマンドからhttp通信
- gitgubにソースコードをあげる
Linuxのシェルとは?
シェルとは「殻」という意味を持つ。
コンピュータのOSを構成するソフトウェアインターフェース。
簡単にいうと、ユーザーとLinuxカーネルの間の通訳さん。
シェルの2つの役割
・ ユーザーからの入力をLinuxカーネルに伝える
・ Linuxカーネルからの出力をユーザーに伝える
シェルの種類
・ Bourne Shell(通称Bシェル)古くからあるシェル
sh
・ CentOSやUbuntuでの標準シェル
・ shをもとに機能を強化したシェル
bash
・ Macの標準シェル
・ 多機能シェル
sh