##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