はじめに
こんにちは!今回はmountコマンドについて解説します。
mountは、ファイルシステムをマウント(接続)するコマンドです。USBドライブやハードディスク、ネットワークストレージなど、様々なストレージをLinuxシステムに接続する時に使うんですね。
「パソコンにUSBをつなぐ」的な操作をコマンドでやるってイメージです。めっちゃ重要なコマンドですよ。
mountコマンドとは
mountは、ファイルシステムをマウント(接続)する外部コマンドです。
Linuxでは、ハードディスク、USB、ネットワークストレージなど、あらゆるストレージをファイルシステムとしてツリーに接続することで、ユーザーが統一的にアクセスできるようになっています。mountはその接続作業を行うコマンドなんです。
マウントをすることで、デバイスの内容がディレクトリツリーの特定の場所から見えるようになります。例えば/mntや/mediaといったディレクトリにマウントすると、そこからそのデバイスのファイルにアクセスできるわけです。
基本構文
|
|
mount単体で実行すると、現在マウント済みのファイルシステムを表示します。デバイスとマウントポイントを指定することで、新しくマウントができます。
主なオプション
| オプション | 説明 |
|---|---|
-t |
ファイルシステムの種類を指定(ext4, ntfs, vfat など) |
-o |
マウントオプションを指定(comma区切りで複数可) |
-r |
読み取り専用でマウント(read-only) |
-w |
読み書き可能でマウント(read-write、デフォルト) |
-a |
fstabに記載されているすべてのファイルシステムをマウント |
-n |
fstabを読まずにマウント |
-v |
詳細表示(verbose) |
-l |
ラベル別にマウント |
-U |
UUID別にマウント |
--bind |
ディレクトリを別の場所にマウント |
使用例
例1: 現在マウント済みのファイルシステムを表示
|
|
実行結果:
|
|
システムに接続されているすべてのファイルシステムと、その詳細情報が表示されます。
例2: USBドライブをマウント
|
|
実行結果:
|
|
/dev/sdb1というUSBドライブを/mnt/usbディレクトリにマウントします。これ以降、/mnt/usbを通じてUSBの内容にアクセスできます。
例3: ファイルシステムの種類を指定してマウント
|
|
実行結果:
|
|
-t vfatでファイルシステムの種類をFATと指定します。WindowsUSBドライブなんかでよく使います。
例4: 読み取り専用でマウント
|
|
実行結果:
|
|
-rオプションで読み取り専用でマウントします。誤ってファイルを削除するのを防げますね。
例5: オプションを複数指定してマウント
|
|
実行結果:
|
|
-o remount,rwで、ルートファイルシステムを読み書き可能に再マウントします。複数のオプションはカンマで区切ります。
例6: NTFSドライブをマウント(日本語ファイル名対応)
|
|
実行結果:
|
|
Windowsドライブ(NTFS)を日本語対応でマウントします。ntfs-3gパッケージが必要です。
例7: UUIDでマウント
|
|
実行結果:
|
|
デバイス名の代わりにUUIDを指定します。デバイス名は起動時に変わることがありますが、UUIDは固定なので便利です。
例8: バインドマウント(ディレクトリを別の場所に表示)
|
|
実行結果:
|
|
--bindオプションで、ディレクトリを別の場所に「リンク」のようにマウントします。実際にはシンボリックリンクと違い、元のマウント構造を保持します。
例9: tmpfsをマウント(メモリをファイルシステムとして使用)
|
|
実行結果:
|
|
メインメモリの一部をファイルシステムとしてマウント。非常に高速ですが、再起動でデータが消えます。
例10: マウントポイントを作成して、USBドライブをマウント
|
|
実行結果:
|
|
まずマウントポイントを作成してから、そこにマウントします。実務ではこのパターンがほとんどです。
Tips・注意点
マウント前にマウントポイントを作成すること
|
|
マウントポイント(既存ディレクトリ)にマウントする必要があります。存在しないと失敗します。
ファイルシステムの種類が不明な場合
|
|
blkidコマンドでデバイスのファイルシステム情報を確認できます。TYPE="ext4"のような出力があります。
デバイス名が複数ある場合は慎重に
|
|
lsblkで接続されているすべてのデバイスを確認できます。/dev/sdaと/dev/sdbを間違えると大変なことに。
NTFSドライブをマウントするにはntfs-3gが必要
Linux標準では読み取り専用でしか対応していません。読み書きするなら:
|
|
パッケージをインストールする必要があります。
マウント済みのファイルシステムは削除不可
マウント中のデバイスはrm -rfでも削除できません。まずアンマウント(umount)してからです。
実践的な使い方
外部ドライブのバックアップ
|
|
外部ドライブをマウント → バックアップ実行 → アンマウントという流れ。自動化スクリプトによく使います。
fstabに登録して自動マウント
|
|
/etc/fstabに設定を書き込むと、起動時に自動的にマウントされます。固定で使うドライブはこれ。
Samba(Windows共有)をマウント
|
|
Windowsファイル共有をマウント。パスワードはコマンド履歴に残らないようcredentialsファイルを使う方がいいです。
容量を確認してからバックアップ
|
|
マウント後にdfで容量確認。バックアップサイズとの照合も重要です。
まとめ
mountコマンドのポイント:
- ファイルシステムをマウント(接続)する外部コマンド
- -t: ファイルシステムの種類を指定
- -o: マウントオプションを指定
- -r: 読み取り専用でマウント
- –bind: ディレクトリバインドマウント
- オプション無しで実行すると、マウント済みファイルシステムを一覧表示
- よく使う組み合わせ:
sudo mount -t,sudo mount -o
ストレージの接続はLinuxの基本中の基本。USB、外部ドライブ、ネットワークストレージなど、あらゆるメディアをマウント・アンマウントしてデータを操作するのが日常業務ですよ!