mount – ファイルシステムをマウント/一覧表示する

マウント・アンマウント

mount はデバイスや仮想ファイルシステムを指定したディレクトリ(マウントポイント)に**接続(マウント)**し、また現在のマウント一覧を表示するコマンドです。
バックアップ用ディスクの接続、ISOの展開、/etc/fstab に基づく自動マウントの適用などに使います。

構文(Syntax)

# 基本
mount [OPTIONS] [-t FSTYPE] [-o OPTS] DEVICE DIR

# 既存の設定を使って一括マウント(/etc/fstab)
mount -a [ -t FSTYPE ] [ -O FSTAB_TAGS ]

# バインド/再マウント/移動
mount --bind SRC DIR
mount --rbind SRC DIR
mount -o remount,OPTS DIR
mount --move OLDDIR NEWDIR

# 例: 読み取り専用で ext4 をマウント
mount -t ext4 -o ro /dev/sdb1 /mnt/data

# 何も付けずに実行すると、現在のマウント一覧を表示
mount

主なオプション一覧

オプション説明使用例
-t FSTYPEファイルシステム種別を指定(例: ext4, xfs, vfat, ntfs, btrfs, nfs, cifs, tmpfsmount -t xfs /dev/nvme0n1p2 /data
-o OPTS追加オプション(カンマ区切り)を指定mount -o rw,noexec,nosuid /dev/sdb1 /srv
-o ro / -o rw読み取り専用/読み書きでマウントmount -o ro /dev/sr0 /mnt/iso
-o remount,...既存マウントの再マウント(オプション変更)mount -o remount,rw /
--bind / --rbindディレクトリを別パスへ結合(再帰版はサブマウントも含む)mount --bind /var/www /srv/www
--move既存のマウントを別のマウントポイントへ移動mount --move /mnt/old /mnt/new
-L LABEL / -U UUIDラベル/UUID でデバイス指定mount -U 123e4567-... /mnt/usb
-a/etc/fstab の「自動」対象を一括マウントmount -a
-O TAGS/etc/fstabx-systemd.automount などタグ指定で絞り込み(実装依存)mount -a -O noauto
-v冗長(verbose)表示mount -v -t nfs server:/share /mnt/share
-r / -w読み取り専用/読み書きでマウント(-o ro/rw と同等)mount -r /dev/sdc1 /ro
-o loopループバックデバイスとしてファイルをマウント(ISO 等)mount -o loop ubuntu.iso /mnt/iso
代表的 -onoexec(実行不可), nosuid, nodev, uid=, gid=, umask=, noatime/relatime, discard, compress=(btrfs などFS固有)mount -t vfat -o uid=1000,gid=1000,umask=022 /dev/sdb1 /mnt/usb

ヒント: 単なる「一覧表示」は mount よりも findmnt の方が読みやすく便利です(ツリー表示・列指定)。

実行例

USBディスクを ext4 としてマウント

説明: マウントポイントを用意してからマウントします。
コマンド:

sudo mkdir -p /mnt/data
sudo mount -t ext4 /dev/sdb1 /mnt/data
ls /mnt/data

ISOイメージを読み取り専用で展開(ループバック)

説明: .iso ファイルをディレクトリとして閲覧可能にします。
コマンド:

sudo mkdir -p /mnt/iso
sudo mount -o loop,ro ./image.iso /mnt/iso
ls /mnt/iso

ディレクトリを別パスへバインド(readonly化も可能)

説明: アプリから別パスで同じ内容を見せたいときに。
コマンド:

sudo mount --bind /var/www /srv/www
# 既存の bind を読み取り専用に変更
sudo mount -o remount,ro,bind /srv/www

/etc/fstab に従って一括マウント

説明: ブート時と同じ条件で fstab のエントリを適用します。
コマンド:

sudo mount -a

出力例(環境により):

/dev/sdb1 on /mnt/data type ext4 (rw,relatime)
server:/share on /mnt/share type nfs (rw,vers=4.1,soft,timeo=600)

エラー例:一般ユーザーでのマウント権限不足

説明: sudo なしでデバイスをマウントしようとして失敗します。
コマンド:

mount /dev/sdb1 /mnt/data

出力例(例):

mount: only root can do that

対処: sudo を使う、または /etc/fstabuser/users オプションを設定して許可します。

関連コマンド

  • umount : マウントの解除。umount DIR または umount DEVICE
  • findmnt : 現在のマウント状態をツリー/表で表示(util-linux)。
  • lsblk : ブロックデバイスのツリー表示。
  • blkid : UUID/LABEL を照会。
  • systemd-mount : 一時マウントや自動アンマウントに便利(systemd 環境)。
  • swapon/swapoff : スワップ領域の有効化/無効化。

備考

  • 権限: デバイスのマウントは通常 root 権限が必要。一般ユーザーに許可する場合は /etc/fstabuser(呼び出したユーザーのみ解除可)/users(誰でも解除可)を付けます。noauto を併用すると手動時のみマウント。
  • セキュリティ: 可搬メディアや信頼できないFSには nosuid,nodev,noexec を検討。noatime/relatime はディスク負荷軽減に有効。
  • /etc/fstab: 永続設定は UUID=/LABEL= 指定が堅牢。_netdev はネットワークFS用のヒント、x-systemd.automount でオンデマンド・マウントも可能(systemd)。
  • FS固有オプション: 例として NFS(vers=4.1,proto=tcp,soft,timeo=)、CIFS(-t cifs -o username=,password=,vers=)、tmpfs(-t tmpfs -o size=1G)など。各FSのドキュメントを必ず参照。
  • バインド/伝播: --bind/--rbind のほか、コンテナ/名前空間で使うマウント伝播--make-private/--make-shared/--make-slave など)もあります(上級者向け)。
  • 実装差: 本稿は主に Linux(util-linux の mount を前提。BSDやBusyBoxではオプションが異なります。macOS の mount も書式が一部違います。
  • 安全なアンマウント: 使用中はアンマウントできません。lsoffuser -m DIR で使用プロセスを確認し、必要なら umount -l(遅延)/umount -f(強制、ネットワークFS向け)を検討。

参考

  • manページ: man 8 mountman 5 fstab
  • man7.org: Linux mount(8) / fstab(5)
  • util-linux ドキュメント(findmnt, lsblk, blkid など関連コマンド)
  • Arch Wiki: Filesystem mounting, tmpfs, NFS, CIFS などの実践ガイド
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント