はじめに
2023年7月からLinuxの学習を初めました。筆者はC言語とC++の基礎知識以外は何も知らないので、アウトプットをしようと思い、重要だと思うことをまとめてみました。
参考書籍
動作環境
- Windows11
- Oracle VM VirtualBox
- CensOS 7
Linuxとは
- 本来、「Linux」という言葉は「Linuxカーネル」を指す。
- Linuxカーネルと基本的なコマンド群やアプリケーションを組み合わせてパッケージングしたものを「Linuxディストリビューション」という。
GUIではなくCLIを使用する理由
1.作業効率の向上
数百、数千のファイル操作を行う場合を考える。
GUIではクリックと移動を何千回と繰り返さなければならない。また見落としなどの人為的なミスが起きる可能性もある。
一方、CLIだと数行のコマンドで行うことができる。
2.CLIの知識は腐りにくい
GUIの進化はとても早く、数年も経てばインターフェースは変化する。これはLinuxに限らず、他のOSでもよく起きている。
また、Linuxにおける内部処理はCLIによって行われている。なのでLinuxの本質であり、基礎でもあるCLIを学習するべきである。
3. プログラムの連携が容易
GUIではプログラム間での入出力の連携が苦手である。
CLIはこの点が非常に優れている。
また、連携が容易なため、複数のコマンドを組み合わせて自分専用のコマンドを作れる。
コマンド
- コマンドは使用することで何らかの処理が行える。
- Linuxでは何百個ものコマンドが存在する。
- 複雑な処理を行う場合は複数のコマンドを組み合わせることで処理する。
使用例
日時を扱うコマンド'date'を実行
$ date
2023年 7月 6日 木曜日 14:18:10 JST
シェル
- シェルとはLinuxカーネルのインタフェースとなっているソフトウェアのことである。
- Linuxを操作する際には基本的にシェルを通して行う。
- Linuxには様々な種類が存在する。その中でもログイン時に最初に起動されるシェルをログインシェルという。デフォルトではbashというシェルが採用されている。
語句補足
- Linuxカーネル
- OSの中核となる部分。コンピュータのハードウェア制御を行うソフトウェアを指す。直接人間が操作することはできない。
- グラフィカルインタフェース(GUI)
- 現在の一般的なOS(WindowsやMac OS Xなど)に採用されているインタフェース。 ポインティングデバイス(マウスやタッチパッドなど)で画面上のメニューやアイコンをクリックして操作する。
- コマンドラインインタフェース(CLI)
- キーボードからコマンドなどを入力し、文字列として結果を出力するインタフェース。
- インタフェース
- 機器やソフトウェア、利用者などが互いに繋がりを持ち情報を伝達する端点のこと。 様々な種類が存在し、GUIとCLIは機器と利用者の間で情報伝達を行う「ユーザインタフェース(UI)」に分類される。