Tech Hotoke Blog

IT観音とは私のことです。

【Linux】Linux 再入門

f:id:TechHotoke:20220307234725p:plain

目的

Linuxの基本的な構成などを体系的にまとめること

前提

  • ローカル環境:Mac OS
  • サーバー環境:Debian11
  • 基本的なLinuxの知識があること
  • Linuxの各コマンドの説明は一部にとどめる

Linuとは?

カーネル

  • Linux = カーネル(OSの中核的存在)で単体で動作することは不可能
  • だが、一般的にLinuxと言えば、ツール・アプリケーションなど全て含んだLinux distributionを指す

シェル

  • カーネルインターフェイスとなっているソフトウェア
  • シェルとカーネルが切り離されていることで、シェルの切り替えが容易になったり、シェルがクラッシュしてもカーネルへの影響を抑えることができます
  • bash,zshなど様々な種類のシェルが存在します。LinuxのデフォルトシェルはbashですがMacではzshがデフォルトとして採用されるようになりました。
  • シェルも一つのコマンドに過ぎない→コマンドで切り替えが容易に可能

カーソルの移動

  • 後方に1文字移動:Ctrl + b
  • 前方に1文字移動:Ctrl + f
  • 行頭に移動:Ctrl + a
  • 行末に移動:Ctrl + e
  • 後方に一単語分移動:Alt → b
  • 前方に一単語分移動:Alt → f
  • カーソル位置から行末まで削除:Ctrl + k
  • カーソル位置から行頭まで削除:Ctrl + u
  • 最後に削除した内容を削除:Ctrl + y
  • 画面を消去する:Ctrl + l
  • コマンド履歴を検索する:Ctrl + r
カーネルの役割

メモリー管理:どの程度のメモリーが、何をどこに保存するために使用されたか、追跡します。
プロセス管理:どのプロセスがいつ、どれだけの期間、中央処理装置 (CPU) を使用できるかを決めます。
デバイスドライバー:ハードウェアとプロセスの間の仲介者/通訳として機能します。
システムコールとセキュリティ:プロセスからサービス要求を受け取ります。

参考: https://www.redhat.com/ja/topics/linux/what-is-the-linux-kernel#:~:text=Linux%C2%AE%20%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%A8%E3%81%AF,%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E7%AE%A1%E7%90%86%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

ファイル・ディレクト

f:id:TechHotoke:20220307165321p:plain

引用:新しいLinuxの教科書

  • Windowsとの違いはディスクが何台あってもLinux システム前提で一つのディレクトリーツリーしか持たない

  • ディレクトリ毎の役割

    • /bin:Linuxシステムの動作に最低限必要な重要度の高いコマンドが格納されているディレクト
    • /dev:デバイスファイル(ディスクやキーボードなど)を格納するディレクト
    • /etc: 設定ファイルを置くためのディレクトリ。Linux自体の設定ファイルもここに格納されているので非常に重要
    • /home:ユーザー毎に割り当てられるホームディレクトが可能されてるディレクト
    • /sbin:管理者ユーザー向けのコマンドが格納されているディレクトリ。shutdownコマンドなど
    • /tmp:一時的なファイルを格納するディレクトリ。このディレクトリ内のファイルは定期的に削除する設定がデフォルトになっているディストリビューションも あるため注意が必要
    • /usr:各種アプリケーションと、それに付随するファイルを置くためのディレクトリ。サブディレクトリにbinやsbin、etcなどを持ちルートディレクトリと似た構造を持つ
    • /var:変化するデータ(ログや電子メールなど)を格納するためのディレクトリ。容量を逼迫することが多いので、システム管理上注意が必要

ソフトウェアパッケージ

  • パッケージ管理システムでは、「 パッケージ」を単位としてインストール・アンインストールの管理を行います
    • パッケージとは、ソフトウェアの実行ファイル・ドキュメントファイル・設定ファイル・インストール 時に必要なスクリプトなどをまとめてアーカイブした1つのファイルをさします
  • パッケージファイル形式はrpmdebの二種類に大別されます。今回使用しているDebiandeb形式を採用しています

f:id:TechHotoke:20220307173209p:plain

引用:新しいLinuxの教科書

  • パッケージファイルをまとめているリポジトリからパッケージ情報・パッケージファイルを取得し、インストールします
  • CentOSなどRedHat系ではyum UbuntuなどのDebian系ではaptが使われることが多い
  • 基本的なコマンドはapt-getapt-cache
    • apt-get:install,remove,purge(設定ファイルもふくめて削除)などインストールや削除を行う
    • apt-cache:search,showsrc などパッケージ情報の参照を行う

参考:

aptコマンドチートシート - Qiita

参考

  • 新しいLinuxの教科書
  • Lpicの基本が1週間で学べる本