概要
個人の学習用メモです。完全な個人目的。小豆本の写経のため、小豆本見ていただいた方がいいです。
小豆本2章~の内容で、コマンドなどキー項目のリストと概要を記載するだけです。
メモの構成が本そのままのため、著作権になるべく引っかからないよう概要のみの記載に留めています。
参考文献
いわゆる小豆本で学習しながらその内容をメモしてます。
本文
1
1.1.3 SSH
~/.ssh配下にはSSH接続に使用する以下のファイルが格納されている。
- known_hosts : 接続先サーバの情報が格納されるファイル
- id_rsa : SSH秘密鍵(RSA)
- id_rsa.pub : SSH公開鍵(RSA)
1.2.1 仮想マシンとコンテナ
- KVM : 仮想化技術の一つ
- ハイパーバイザ型 : ホストOSがありその上でゲストOSが動作する仮想化方式。ゲストOSとホストOSでカーネルは共有しない。異なるOS(ubuntu - windows)がゲスト-ホストでも問題ない
- コンテナ : アプリケーションの動作に必要なパッケージを動作させる仮想化方式。カーネルを共有する。ゲストOSとホストOSでカーネルレベルで相違があると利用できない
- Docker : コンテナの一種(主流)
1.2.2 KVM仮想マシンの動作
- KVM : Kernel-based Virtual Machine, Linuxカーネルに標準で組み込まれている仮想化機構、LinuxをホストOSとするための機構。CPUがIntelのVT-xもしくはAMDのAMD-V対応している必要がある
- Virtio : NWやデバイスドライバの仮想規格
- ブリッジネットワーク : 仮想マシンのNWインターフェースをホストOSのNWインターフェースと同じNW上に配置する仕組み
- ネステッドページング : 仮想マシンのメモリとホストOSの物理メモリ観のアクセスを高速化する仮想化支援機能
- kvm : KVMカーネルモジュール
- kvm_intel : intelのkvmカーネルモジュール
- kvm_amd : AMDのKVMカーネルモジュール
- virsh : 仮想マシン操作のためのCLI
- virt-manager : GUIを備えた仮想マシンマネージャ
- virt-install : CUIによる仮想マシン作成コマンド
- libvirt : 各種仮想化機構(KVMとかVirtualBoxとか)と連携するライブラリ
virsh
仮想マシン操作のコマンド
- virsh list : 実行中のマシンの一覧表示
- virsh list --all : 停止中含めたマシンの一覧表示
- virsh start [仮想マシン] : [仮想マシン]を起動
- virsh console [仮想マシン] : [仮想マシン]のコンソールに接続
- virsh shutdown [仮想マシン] : [仮想マシン]を停止
- virsh destroy [仮想マシン] : [仮想マシン]を強制終了
2
2.1.1 ファイル操作コマンド
ls
ディレクトリ、ファイル表示
- -a : すべて表示
- -A : ".", ".." を除くすべて表示
- -d : ディレクトリ自身を表示
- -F : ファイル種別を表示
- -i : iノード番号を表示
- -l : 詳細表示
- -r : 逆順
- -R : 再帰
- -t : 日時順
- -h : 単位付表示(4096 → 4.0K etc.)
cp
コピー
- -f : 強制
- -i : 上書きの際確認
- -p : 属性保持コピー
- -R : 再帰
- -d : シンボリックリンクをそれとしてコピー
- -a : -dpR
mv
ファイルの移動。ファイル名書き換えにも用いる
- -f : 強制
- -i : 上書きの際確認
mkdir
ディレクトリ作成
- -m : アクセス権を指定して作成
- -p : 2階層以上同時に作る際に指定
rmdir
ディレクトリ削除
- -p : 複数階層のディレクトリ削除
rm
ファイル、ディレクトリ削除
- -f : 強制
- -i : 削除前に確認をはさむ
- -r,-R : 再帰
touch
タイムスタンプ更新。ファイルがない場合、空ファイルが作成される。
- -t CCYYMMDDhhmm.SS : タイムスタンプの指定日時更新
- -a : アクセス時刻のみ変更
- -m : 修正時刻のみ変更
- -r : 参照ファイルの時刻を使用して更新
file
ファイル種別表示。
2.4.1 FHS
File Hierarchy Standard. ファイルシステムの階層構造に関する標準がLinuxでは定められている。
/bin
基本コマンドの実装が配置される。chmod ks pwd killなど色々。

※ubuntuで確認してみるとコマンド以外にも色々と格納されているのがわかる。aptもある
/sbin
rootユーザのみが実行可能なコマンドが配置されている。shutdown,fdisk,fsck,init,mkfs,mkswap,rebootなど。
/etc
システムやアプリケーションの設定情報、スクリプトファイルなどが配置。
/dev
HDDなどのデバイスに関するファイル(デバイスファイル)が格納される。
デバイスをファイルとしてアクセスするためのインターフェースとして、デバイスファイルがここに格納される。また、デバイスファイルは特殊ファイルに分類される。

例: cdromはCD/DVDデバイスのデバイスファイルらしい

実際にはsr0のシンボリックリンクの模様。VirtualBoxで仮想環境のため、ファイルをcatすると"no medium found"と返ってきた。sr0をcatすると"block special"と返ってきましたが、これはブロック単位でI/Oする特殊ファイルだそう。(11/0)はそれぞれメジャー/マイナー番号だそうです。11がSCSI CD-ROM(sr)を表す番号、0は同デバイスの連番のようです。
/lib
共有ライブラリやカーネルモジュールが配置される。
/bin, /sbinのコマンドはここのライブラリを使ってる。
/media
DVD-ROMなどのリムーバブルメディアのマウントポイントがここに配置される。

※仮想環境のためか/mediaの中は空でした
/mnt
一時的にマウントするファイルシステムのマウントポイントが配置される
USBを接続したりすると/mnt/usbにマウントされるっぽい
/opt
標準のパッケージ管理外でインストールするアプリを置くためのディレクトリ
Google ChromeとかEclipseとかが置かれる場所のよう。
/proc
カーネル内部の情報にアクセスするための仮想的なファイルシステム。

cpuinfoからはlscpuコマンドで閲覧できるようなcpuの情報が確認できる

meminfoからはメモリの情報が閲覧できたりする
/root
rootユーザのディレクトリ。/homeがマウントできなくなった時でもシステム管理ができるようにするために存在するらしい
/boot
起動に必要な設定やカーネルイメージがここに置かれる。
/home
ユーザごとのホームディレクトリが置かれる。
/tmp
一時ファイルが置かれる。結構掃除されやすい。
- systemd系だと「10日より古いファイルは削除」のような設定がされていることが多いらしい
- tmpfs(つまりRAM上)の場合、再起動のたびにすべて削除される。
/var
ログファイル、メールやプリンタのスプールなど書き換えが頻繁なファイルが配置される
(以下の階層は追記予定)
- /var/cache
- +++
- /var/lock
- +++
- /var/log
- +++
- /var/run
- +++
- /var/spool
- +++
/usr
コマンドやユーティリティが配置される
(以下の階層は追記予定)
- /usr/bin
- +++
- /usr/sbin
- +++
- /usr/lib
- +++
- /usr/local
- +++
- /usr/share
- +++
- /usr/src
- +++
更新履歴
2025/11/17 2.1.1章メモ作成
2025/11/19 2.4.2章メモ編集
2025/11/25 1章メモ編集