Linux では、マウントは「マウント」を意味し、指定されたディレクトリを通じてデバイス ファイル システムと Linux ファイル システムを関連付けるために使用されます。構文は「mount [-t システム タイプ] [-L ボリューム名]」です。 [-o 特殊オプション] [-n] デバイスファイル名マウントポイント」、「mount -a」など
#このチュートリアルの動作環境: linux5.9.8 システム、Dell G3 コンピューター。
Linuxシステムでは「すべてがファイル」であり、すべてのファイルはルートディレクトリをルートとしたツリーディレクトリ構造に配置されます。 Linux の観点からは、あらゆるハードウェア デバイスもファイルであり、それぞれが独自のファイル システム (ファイル ディレクトリ構造) を持っています。
発生する問題は、Linux システムでこれらのハードウェア デバイスを使用する場合、Linux 自体のファイル ディレクトリとハードウェア デバイスのファイル ディレクトリが 1 つに結合されている場合にのみ、そのハードウェア デバイスを使用できることです。 。 2つを1つに結合するプロセスを「マウンティング」と呼びます。
マウントとは、デバイス ファイルの最上位ディレクトリを Linux ルート ディレクトリの下のディレクトリ (できれば空のディレクトリ) に接続することを指します。このディレクトリへのアクセスは、デバイス ファイルへのアクセスと同等です。
マウントとは、(マウント ポイントとして) ディレクトリを指定することによって、ハードウェア デバイスのファイル システムを Linux システムのファイル システムに関連付けることを指します。ファイル システムを Linux システムにマウントするには、mount コマンドを使用する必要があります。
mount コマンドの一般的な形式は次のとおりです:
mount [-l]
mount コマンドを使用するだけでシステムにマウントされているデバイス情報が表示されますが、-l オプションを使用するとさらに表示されます。ボリューム、タグ名 (リーダーは自分で実行して出力結果を表示できます);
mount -a
-a
オプションは、/etc/ ファイルに省略されたマウントされたデバイス ファイルがあるかどうかを自動的にチェックすることを意味します。 fstab ファイル。「はい」の場合、自動マウント操作が実行されます。 /etc/fstab ファイルについて簡単に説明します。このファイルは自動的にマウントされるファイルです。システムの電源がオンになると、システムは /etc/fstab ファイルの内容を積極的に読み取ります。ファイルの構成に従って、システムは指定されたデバイスを自動的にマウントします。自動マウント (このファイルの変更) の具体的な導入については、次の記事で説明します。
mount [-t 系统类型] [-L 卷标名] [-o 特殊选项] [-n] 设备文件名 挂载点
各オプションの意味は次のとおりです。
-t システム タイプ: マウントするファイル システムのタイプを指定します。 Linux で一般的にサポートされているタイプには、EXT2、EXT3、EXT4、iso9660 (ディスク フォーマット)、vfat、reiserfs などが含まれます。特定のタイプを指定しない場合、Linux はマウント時に自動的にそれを検出します。
-L ボリューム ラベル名: デバイス ファイル名 (/dev/hdc6 など) を使用するほかに、ファイル システムのボリューム ラベル名をマウントに使用することもできます。
-n: デフォルトでは、システムは実際のマウント状況を /etc/mtab ファイルにリアルタイムで書き込みますが、一部のシナリオ (シングルプレイヤー メンテナンス モードなど) では、問題を避けるため、意図的に書かれていません。この場合、このオプションを使用する必要があります;
-o 特別なオプション: マウント用の追加オプションを指定できます。読み取りおよび書き込み権限、同期/非同期など、指定しない場合はデフォルトが使用されます。特定の特殊オプションについては、表 1 を参照してください。
オプション | 関数 |
---|---|
rw/ro | マウントされたファイル システムに対する読み取りおよび書き込み権限があるかどうかに関係なく、rw がデフォルト値です。これは、読み取りおよび書き込み権限があることを意味します。 ro は読み取り専用権限を意味します。 |
async/sync | このファイル システムが同期書き込み (sync) メモリ メカニズムを使用するか、非同期 (async) メモリ メカニズムを使用するかに関係なく、デフォルトは非同期 async です。 |
dev/nodev | このファイル システムのブロック ファイルからデータを抽出することが許可されているかどうか。データのインストールを確実にするため、デフォルトは nodev です。 |
auto/noauto | mount -a を使用してこのファイル システムが自動的にマウントされることを許可するかどうか。デフォルトは auto です。 |
suid/nosuid | ファイル システムに SetUID および SetGID 権限があるかどうかを設定します。デフォルトは [はい] です。 |
exec/noexec | ファイルシステム内の実行ファイルの実行を許可するかどうかを設定します。デフォルトは許可されています。 |
user/nouser | このファイル システムで、一般ユーザーがマウントを使用してマウントを実行できるかどうかを設定します。デフォルトは許可されず (nouser)、root のみが許可されます。 |
defaults | デフォルト値を定義します。これは、rw、suid、dev、exec、auto、nouser、および async の 7 つのオプションに相当します。 |
remount | マウントされたファイル システムを再マウントします。通常、特別なアクセス許可を指定および変更するために使用されます。 |
【例 1】
[root@localhost ~]# mount #查看系统中已经挂载的文件系统,注意有虚拟文件系统 /dev/sda3 on / type ext4 (rw) <--含义是,将 /dev/sda3 分区挂载到了 / 目录上,文件系统是 ext4,具有读写权限 proc on /proc type proc (rw) sysfe on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw, gid=5, mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) none on /proc/sys/fe/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfe/rpc_pipefs type rpc_pipefs (rw)
【例 2】
修改特殊权限。通过例 1 我们查看到,/boot 分区已经被挂载了,而且采用的是 defaults 选项。这里我们重新挂载分区,并采用 noexec 权限禁止执行文件执行,看看会出现什么情况(注意不要用 / 分区做实验,否则系统命令也就不能执行了。
[root@localhost ~]# mount -o remount noexec /boot #重新挂载 /boot 分区,并使用 noexec 权限 [root@localhost sh]# cd /boot #写一个 shell 脚本,看是否会运行 [root@localhost boot]#vi hello.sh #!/bin/bash echo "hello!!" [root@localhost boot]# chmod 755 hello.sh [root@localhost boot]# ./hello.sh -bash:./hello.sh:权限不够 #虽然赋予了hello.sh执行权限,但是仍然无法执行 [root@localhost boot]# mount -o remount exec /boot #记得改回来,否则会影响系统启动
对于特殊选项的修改,除非特殊场景下需要,否则不建议大家随意修改,非常容易造成系统出现问题,而且还找不到问题的根源。
【例 3】挂载分区。
[root@localhost ~]# mkdir /mnt/disk1 #建立挂载点目录 [root@localhost ~]# mount /dev/sdb1 /mnt/disk1 #挂载分区
/dev/sdb1 分区还没有被划分。我们在这里只看看挂载分区的方式,非常简单,甚至不需要使用 "-ext4" 命令指定文件系统,因为系统可以自动检测。
可能会想,为什么使用 Linux 系统的硬盘分区这么麻烦,而不能像 Windows 系统那样,硬盘安装上就可以使用?
其实,硬盘分区(设备)挂载和卸载(使用 umount 命令)的概念源自 UNIX,UNIX 系统一般是作为服务器使用的,系统安全非常重要,特别是在网络上,最简单有效的方法就是“不使用的硬盘分区(设备)不挂载”,因为没有挂载的硬盘分区是无法访问的,这样系统也就更安全了。
另外,这样也可以减少挂载的硬盘分区数量,相应地,也就可以减少系统维护文件的规模,当然也就减少了系统的开销,即提高了系统的效率。
相关推荐:《Linux视频教程》
以上がLinux でのマウントとはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。