デバイスファイル
sda | 第 1 ハードディスク |
sdb | 第 2 ハードディスク |
sda1 | 最初のハードディスクの最初のパーティション |
sdb7 | 2番目のハードディスクの7番目のパーティション |
sr0 | 第 1 CD-ROM |
sr1 | 第 1 CD-ROM |
・ブロックデバイス (block device):
データのまとまりごとに処理をするデバイス。ハードディスクやSSD等
lsblk:ブロックデバイスを一覧表示する
・キャラクタデバイス (character device):
ひとつの文字(単位)ごとに処理をするデバイス。キーボードやマウス等
パーティションの種類
・BIOSとMBRによる管理の場合
・基本パーティション:最大4個
・拡張パーティション:基本パーティション一つを拡張パーティションにすることが可能
・論理パーティション:拡張パーティション内に作られたパーティション。最大12個
作成済基本パーティションの数に関わらず/dev/sda5となる。
・パーティション分割のメリット
・システムに障害が発生した場合障害による被害を1つのパーティションに限定できる
・バックアップしやすい。
ルートファイルシステム
・Linuxのディレクトリはツリー状の階層構造になっている。
・ディレクトリツリーの頂点となるのが/ディレクトリ。
・ルートファイルシステム用の現実的な最小のディレクトリ
| ディレクトリ | 説明 | パーティションの分離 |
/bin /sbin | システムに必要なコマンド、プログラム | 不可 |
/etc | システム設定ファイル | 不可 |
/lib | プログラム実行に使う共有ライブラリ | 不可 |
/dev | デバイス,I/O の実行に必要 | 不可 |
/usr | その他のユーティリティやアプリケーション | 可 |
/proc | proc ファイルシステムに必要なディレクトリ | 可 |
/mnt | 他のディスクを扱うためのマウントポイント | 可 |
パーティション管理コマンド
fdisk
書式: fdisk [options] change partition table
fdisk [options] -l [] list partition table(s)
・fdisk [−l] デバイス名
| 操作コマンド | |
|---|---|
| l | パーティションタイプを一覧表示する。 |
| n | パーティションを作成する。 |
| d | パーティションを作成する。 |
| p | パーティションテーブルを表示。 |
| t | パーティションタイプを変更する。 |
| a | ブートフラグのオン/オフを切り替える |
| g | create a new empty GPT partition table |
| o | create a new empty DOS partition table |
| v | verify the partition table |
| w | パーティションテーブルの変更を保存して終了する。 |
| q | パーティションテーブルの変更を保存しないで終了する。 |
| m | ヘルプメニューを表示する。 |
・gdisk [−l] デバイス名: GPTに対応したパーテquitィションを作成。
容量2TB以上。パーティション128個作成可能
・partedデバイス名 [−sサブコマンド]: 管理方式MBRとGPTの両方に対応。
| mklabel [gpt | msdos] | 新しいパーティションテーブルを作成。 |
mkpart 種類 開始 終了 | 指定した種類のパーティションを作成 |
| パーティション情報を表示する | |
| quit | partedを終了する |
| rm パーティション番号 | 指定した番号のパーティションを削除する |
| help | 利用できるコマンドを表示する |
* mklabelで使用するラベル。大抵の場合 ”gpt”, “msdos” を使用。
| label | detail |
|---|---|
aix | IBM’s AIX (which introduced what we now know as LVM); |
amiga | Amiga’s RDB partitioning scheme; |
bsd | BSD disk labels; |
dvh | SGI disk volume headers; |
gpt | GUID partition tables; |
mac | old (pre-GPT) Apple partition tables; |
msdos | DOS-style MBR partition tables; |
pc98 | PC-98 partition tables; |
sun | Sun’s partitioning scheme; |
loop | raw disk access (loopback-style) |
* mkpart で使用するType。
fs-type :xfs、ext2、ext3、ext4、fat16、fat32、hfs、hfs+、linux-swap、ntfs、 reiserfs。
使用例
対話モード開始: sudo parted /dev/sda
parted内の作業
ディスクラベルを作成: (parted) mklabel gpt
パーティションを作成: (parted) mkpart primary ext4 0% 50%
パーティションを確認: (parted) print
対話モードを終了: (parted) quit
ファイルシステムの作成
・ファイルシステムの種類:
| ファイルシステム | 説明 |
| ext2 | Linuxの標準ファイルシステム |
| ext3 | ext2にジャーナルリンク機能を加えたファイルシステム |
| ext4 | ext3を機能拡張したファイルシステム |
| XFS | SGI社が開発したジャーナルリンクファイルシステム |
| JFS | IBM社が開発したジャーナルリンクファイルシステム |
| Btrfs | 高度な機能を備えたファイルシステム |
| iso9660 | CD-ROMのファイルシステム |
・mkfs [オプション] デバイス名: ファイルシステムを作成する
| オプション | 意味 |
| -t | ファイルシステムのタイプを指定。 指定しなかった場合は、ext2が用いられる。 |
| -c | ファイルシステムを作成する前にデバイスに対して 不良ブロックの検査を行う。 |
・mkfs [オプション] デバイス名: ext2/ext3/ext4ファイルシステムを作成する
| オプション | 意味 |
| -t(ファイルシステムタイプ) ext2,ext3,ext4 | ファイルシステムのタイプを指定。 指定しなかった場合は、ext2が用いられる。 |
| -j | ext3のファイルシステムを作成。 |
| -c | 実行前に不良ブロックを検査する |
・mkswap [オプション] device/swapfile: スワップ(swap)領域を作成する
| オプション | 意味 |
| -c | スワップ領域を作る前に、デバイスに対して不良ブロックのチェックを行う。 不良ブロックが見つかった際は、そのカウント数を表示する。 |
| -L label | ラベルを指定し、そのラベルで swapon できるようにする。 |
ファイルシステムの管理
・df [オプション] [ファイル]: ディスクの空き領域を表示する
| オプション | 意味 |
|---|---|
| -h | サイズに応じて読みやすい単位で表示する |
| -H | 読みやすい単位で表示する。1000単位の値を使用する |
| -k | –block-size=1Kと同じ |
| -i | ブロック使用量の代わりにiノード情報を表示する |
| -a | ダミーファイルシステムを含めて表示する |
・du [オプション] ディレクトリ・ファイル: ファイルのディスク使用量を表示するコマンド
| オプション名 | 説明 |
| -a, –all | ディレクトリ以外にファイルについても表示する。 |
| -l, –count-links | リンクを含めて集計する。 |
| -c, –total | 全ての容量の合計を表示します。 |
| -k, –kilobytes | キロバイト単位で表示します。 |
| -m, –megabytes | メガバイト単位で表示します。 |
| -s, –summarize | 指定したファイルやディレクトリのみに合計を表示します。 |
| -S, –separate-dirs | サブディレクトリを含めて表示する。 |
| -h, –human-readable | 容量を読みやすい単位で表示する |
・fsck [オプション]デバイス名: ファイルシステムを検査、修復するコマンド
| オプション | 意味 |
|---|---|
| -t ファイルシステム名 | ファイルシステムの種類を指定する(無指定時は自動判定) |
| -a | 自動的に修復を実行する |
| -A | /etc/fstabにあるファイルシステムを全て検査する |
| -r | 対話的に修復を実行する |
| -N | 実際には処理を実行せず、何を行うかだけを表示する |
・e2fsck [オプション]デバイス名: ext2,ext3,ext4ファイルシステムを検査、修復するコマンド
| -p | 問い合せなしで自動的にファイルシステムの修復を行う |
| -y | すべての問い合せにyesと応答する |
| -n | ファイルシステムに変更を加えない(チェックのみ) |
・tune2fs [オプション]デバイス名: ext2、ext3、ext4ファイルシステムのパラメータを変更する
| オプション | 意味 |
|---|---|
| -c 回数 | チェック無しでマウント出来る最大回数を指定する |
| -i 間隔 | ファイルシステムを検査する間隔を整数で指定する |
| -j | ext2ファイルシステムをext3ファイルシステムに変換する |
| -L ラベル | ボリュームラベルを設定する |
・XFS: ext2、ext3、ext4ファイルシステムのパラメータを変更する
| コマンド | 意味 |
|---|---|
| mkfs.xfs | XFSファイルシステムを作成する |
| xfs_info | XFSファイルシステムの情報を表示する |
| xsf_db | XFSファイルシステムのデバッグを行う |
| xfs_check | XFSファイルシステムをチェックする |
| xfs_admin | XFSファイルシステムのパラメータを変更する |
| xfs_fsr | XFSファイルシステムのデフラグを行う |
| xfs_repair | XFSファイルシステムを修復する |
ファイルシステムのマウントとアンマウント
・/etc/fstab: ファイルシステムの情報を保存しているファイル

| 項番 | フィールド | 設定内容 |
| ① | マウントするデバイスファイル名 | マウントするデバイスファイル名またはボリュームラベルを指定 |
| ② | マウントポイント | マウントポイントとなるディレクトリの絶対パスを指定 |
| ③ | ファイルシステムの種類 | ①のファイルシステムの指定。下表1を参照。 |
| ④ | マウントオプション | ①のマウントオプションの指定。下表2を参照。 |
| ⑤ | dump | dumpコマンドによるバックアップ対象となるかどうかを指定 0 : バックアップする必要がない 1 : バックアップする必要がある |
| ⑥ | fsck | システム起動時にfsckコマンドでチェックを行う時の順序を指定 0 : fsckコマンドでファイルシステムをチェックしない 1 : ルートファイルシステム ( / ) に指定する数値 2以上 : その他のファイルシステムに指定する数値 |
| ファイルシステム | 説明 |
| ext2 | Linuxの標準ファイルシステム |
| ext3 | ext2の機能拡張版 ( 現在の主流 ) |
| ext4 | ext2の機能拡張版 ( 現在の主流 ) |
| reiserfs | 高速なジャーナリングファイルシステム |
| xfs | SGI 開発によるジャーナリングファイルシステム |
| jfs | IBM 開発によるジャーナリングファイルシステム |
| iso9660 | CD-ROMのファイルシステム |
| msdos | MS-DOSのファイルシステム |
| オプション | 説明 |
| async | ファイルシステムの入出力を非同期で実行 |
| auto | mount -a コマンドの実行時にマウントする |
| noauto | mount -a コマンドの実行時にマウントしない |
| defaults | デフォルトのオプションを設定 ( async、auto、dev、exec、nouser、rw、suid ) |
| exec | バイナリの実行を許可 |
| noexec | バイナリの実行を禁止 |
| ro | 読み取り専用モードでマウント |
| rw | 読み書き可能モードでマウント |
| unhide | 隠しファイルも表示 |
| suid | SUIDとSGIDの有効化 |
| user | 一般ユーザーにマウントを許可する |
| users | マウントを実行していないユーザにもアンマウントを許可 |
| nouser | 一般ユーザーのマウントを許可しない |
・mount [オプション] デバイス [マウントポイント]: ファイルシステムをマウントする
| -a | /etc/fstabに記載されているファイルシステムを全てマウント。 |
| -t ファイルタイプ | ファイルタイプを指定します。 |
| -o マウントオプション | マウントする際のオプション(読み込み専用など)を指定。 |
・umount [オプション] デバイス名またはマウントポイント: ファイルシステムをアンマウントする
| -a | /etc/fstabに記載されているファイルシステムを全てアンマウント。 |
| -t ファイルタイプ | 指定した種類のファイルシステムのみアンマウント。 |
FHS(Filesystem Hierarchy Standard)
/ (ルートディレクトリ)
├── bin : 基本的なコマンドファイル
├── boot : 初期起動時に必要な処理の設定ファイル
├── dev : デバイスファイル
├── etc : システムに関わる設定ファイル
├── home : 各ユーザーのディレクトリ
├── lib : 共有ライブラリファイル
├── media : リムーバブル媒体のマウントポイント
├── mnt : 一時的なマウントポイント
├── opt : ソフトウェアやパッケージなどのプログラムが
├── proc : カーネルやプロセス情報にアクセスできる仮想的なファイルシステム
├── root : スーパーユーザーである「root」のホームディレクトリ
├── run : 動作させた時に実行される一時的なデータ
├── sbin : システムに関するコマンドファイル
├── tmp : テンポラリファイル(一時的に作成されるファイル)
├── usr : ユーザー共有のコマンドやライブラリ
└── var : ログファイルやスプールファイル
・find [パス] [検索条件]: ファイルを検索するコマンド
| -maxdepth レベル | 指定したパスから数えて、最大何段階下まで検索するかを指定。 |
| -mindepth レベル | 指定したパスから数えて、何段階下まで検索しないかを指定。 |
| -mount | マウントしている他のファイルシステムを検索対象から除外。 |
| -name 文字列 | 指定した文字列のファイルやディレクトリ。 |
| -atime n | ファイルの最終アクセス日時がn日前。 |
| -mtime n | ファイルの最終修正日時がn日前。 |
| -perm モード | 指定したモードにマッチするファイル。 |
| -size サイズ | 指定したサイズより大きい。 |
| -type ファイルタイプ | ファイルタイプを指定。 b ブロックファイル / c キャラクタファイル / d ディレクトリ f ファイル / l シンボリックリンク / s ソケット |
| -user ユーザー | ファイルの所有者で検索。 |
| フルパスのファイル名を標準出力に表示。 | |
| -exec コマンド ; | 見つけたファイルを引数にコマンドを実行する |
・updatedb [オプション] : あらかじめ作成されたファイル名データベースに基づいて、
指定されたパターンにマッチするファイルを検索
| -eパス | データベースに取り込まないパスを指定する |
・which [オプション] コマンド名 : 実行コマンドのフルパスを表示する
| オプション | 意味 |
|---|---|
| -a | 環境変数PATHにある全ての実行ファイルを表示する |
| -i | 標準入力からエイリアスを読み込み、合致したものを表示する |
・whereis [オプション] コマンド : コマンド本体と関連ファイルを検索する
| オプション | 意味 |
|---|---|
| -b | バイナリファイル(コマンド本体やライブラリなど)だけを探す |
| -m | マニュアルファイルだけを探す |
| -s | ソースファイルだけを探す |
・type [オプション] コマンド名 : シェルがどのコマンドを起動しているかを知る