8 Linux 常用命令(七)挂载命令


8 Linux 常用命令(七)挂载命令

8.1 mount命令基本格式

linux所有存储设备都必须挂载使用,包括硬盘

命令名称:mount

命令所在路径:/bin/mount

执行权限:所有用户

命令格式如下:

[root@localhost ~] # mount [-l]
#查询系统中已经挂载的设备,-l会显示卷标名称

[root@localhost ~]# mount –a
#依据配置文件/etc/fstab的内容,自动挂载

[root@localhost ~]# mount [-t 文件系统] [-L 卷标名] [-o 特殊选项] \
设备文件名 挂载点
#\代表这一行没有写完,换行
选项:
-t 文件系统: 加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660 等文件系统。具体可以参考表9-1
-L 卷标名: 挂载指定卷标的分区,而不是安装设备文件名挂载
-o 特殊选项: 可以指定挂载的额外选项,比如读写权限、同步异步等,如果不指定则默认值生效。具体的特殊选项
参数 说明
atime/noatime 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新
async/sync 异步/同步,默认为异步
auto/noauto 自动/手动,mount –a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动
defaults 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项
exec/noexec 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许
remount 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
rw/ro 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
suid/nosuid 具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有
user/nouser 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载, 默认是不允许,只有root可以挂载分区
usrquota 写入代表文件系统支持用户磁盘配额,默认不支持
grpquota 写入代表文件系统支持组磁盘配额,默认不支持

示例:

例1:
[root@localhost ~] # mount
#查看系统中已经挂载的文件系统,注意有虚拟文件系统
/dev/sda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs 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/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
#命令结果是代表:/dev/sda3分区挂载到/目录,文件系统是ext4,权限是读写

例2:修改特殊权限
[root@localhost ~]# mount
#我们查看到/boot分区已经被挂载,而且采用的defaults选项,那么我们重新挂载分区,并采用noexec
#权限禁止执行文件执行,看看会出现什么情况(注意不要用/分区做试验,#不然系统命令也不能执行了)。
…省略部分输出…
/dev/sda1 on /boot type ext4 (rw)
…省略部分输出…
[root@localhost ~]# mount -o remount,noexec /boot
#重新挂载/boot分区,并使用noexec权限
[root@localhost sh]# cd /boot/
[root@localhost boot]# vi hello.sh
#写个shell吧
#!/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
#挂载分区

8.2 光盘挂载

光盘挂载的前提依然是指定光盘的设备文件名,不同版本的Linux,设备文件名并不相同:

  • CentOS 5.x以前的系统,光盘设备文件名是/dev/hdc

  • CentOS 6.x以后的系统,光盘设备文件名是/dev/sr0

不论哪个系统都有软连接/dev/cdrom,与可以作为光盘的设备文件名

[root@localhost ~] # mount -t iso9660 /dev/cdrom /mnt/cdrom/
#挂载光盘

用完之后记得卸载:

[root@localhost ~] # umount /dev/sr0
[root@localhost ~]# umount /mnt/cdrom
#因为设备文件名和挂载点已经连接到一起,卸载哪一个都可以

注意:卸载的时候需要退出光盘目录,才能正常卸载

8.3 挂载U盘

U盘会和硬盘共用设备文件名,所以U盘的设备文件名不是固定的,需要手工查询,查询命令:

[root@localhost ~] # fdisk -l
#查询硬盘

然后就是挂载了,挂载命令如下:

[root@localhost ~] # mount -t vfat /dev/sdb1 /mnt/usb/
#挂载U盘。因为是Windows分区,所以是vfat文件系统格式

如果U盘中有中文,会发现中文是乱码。Linux要想正常显示中文,需要两个条件:

  • 安装了中文编码和中文字体

  • 操作终端需要支持中文显示(纯字符终端,是不支持中文编码的)

而我们当前系统是安装了中文编码和字体,而xshell远程终端是Windows下的程序,当然是支持中文显示的。那之所以挂载U盘还出现乱码,是需要在挂载的时候,手工指定中文编码,例如:

[root@localhost ~] # mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
#挂载U盘,指定中文编码格式为UTF-8

如果需要卸载,可以执行以下命令:

[root@localhost ~] # umount /mnt/usb/

8.4 挂载NTFS分区

8.4.1 Linux的驱动加载顺序:

  • 驱动直接放入系统内核之中。这种驱动主要是系统启动加载必须的驱动,数量较少。

  • 驱动以模块的形式放入硬盘。大多数驱动都已这种方式保存,保存位置在/lib/modules/3.10.0-862.el7.x86_64/kernel/中。

  • 驱动可以被Linux识别,但是系统认为这种驱动一般不常用,默认不加载。如果需要加载这种驱动,需要重新编译内核,而NTFS文件系统的驱动就属于这种情况。

  • 硬件不能被Linux内核识别,需要手工安装驱动。当然前提是厂商提供了该硬件针对Linux的驱动,否则就需要自己开发驱动了。

8.4.2 使用NTFS-3G安装NTFS文件系统模块

1)下载NTFS-3G插件

从网站http://www.tuxera.com/community/ntfs-3g-download/下载NTFS-3G插件到Linux服务器上

2)安装NTFS-3G插件

在编译安装NTFS-3G插件之前,要保证gcc编译器已经安装。具体安装命令如下:

[root@localhost ~]# tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz
#解压
[root@localhost ~]# cd ntfs-3g_ntfsprogs-2013.1.13
#进入解压目录
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure
#编译器准备。没有指定安装目录,安装到默认位置中
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make
#编译
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make install
#编译安装

安装就完成了,已经可以挂载和使用Windows的NTFS分区了。不过需要注意挂载分区时的文件系统不是ntfs,而是ntfs-3g。挂载命令如下:

[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点

例如:
[root@localhost ~]# mount –t ntfs-3g /dev/sdb1 /mnt/win


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM