1. linux挂载文件
简单用法:
格式:mount [-参数] [设备名称] [挂载点]
其中常用的参数有:
复制代码
-a 安装在/etc/fstab文件中类出的所有文件系统。
-f 伪装mount,作出检查设备和目录的样子,但并不真正挂载文件系统。
-n 不把安装记录在/etc/mtab 文件中。
-r 讲文件系统安装为只读。
-v 详细显示安装信息。
-w 将文件系统安装为可写,为命令默认情况。
-t <文件系统类型> 指定设备的文件系统类型,常见的有:
ext2 是linux目前常用的文件系统
msdos MS-DOS的fat,就是fat16
vfat windows98常用的fat32
nfs 网络文件系统
iso9660 CD-ROM光盘标准文件系统
ntfs windows NT/2000/XP的文件系统
auto 自动检测文件系统
-o <选项> 指定挂载文件系统时的选项,有些也可写到在 /etc/fstab 中。常用的有:
defaults 使用所有选项的默认值(auto、nouser、rw、suid)
auto/noauto 允许/不允许以 –a选项进行安装
dev/nodev 对/不对文件系统上的特殊设备进行解释
exec/noexec 允许/不允许执行二进制代码
suid/nosuid 确认/不确认suid和sgid位
user/nouser 允许/不允许一般用户挂载
codepage=XXX 代码页
iocharset=XXX 字符集
ro 以只读方式挂载
rw 以读写方式挂载
remount 重新安装已经安装了的文件系统
loop 挂载“回旋设备”以及“ISO镜像文件”
复制代码
需要注意的是,挂载点必须是一个已经存在的目录,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。使用多个-o 参数的时候,-o 只用一次,参数之间用半角逗号隔开:
# mount –o remount,rw /
例如要挂载windows下文件系统为FAT32的D盘,一般而言在Linux下这个分区对应/dev/hda5,根据具体的分区情况会有不同,这里就以hda5来举例说明:
# mkdir /mnt/hda5 //创建hda5的目录作为挂载点,位置和目录名可自定义//
# mount -t vfat /dev/hda5 /mnt/hda5
一般而言,Linux会自动探测分区的文件系统,除非让你指定时,否则-t vfat 可以省掉。
# mount /dev/hda5 /mnt/hda5
这样就可以进入/mnt/hda5目录去访问分区中的资源了。
1. 为什么mount上分区后显示不了中文文件为问号/乱码?
显示问号表明你的系统中没有可识别使用的中文字体,请先安装中文字体。确保你的系统已经可以很好的显示中文。显示为乱码一般是mount默认使用的文件系 统编码和文件系统中文件的实际编码不一致造成的。要想正常显示中文文件,mount时需要用到 -o 参数里的codepage和iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集, 简体中文一般用cp936或gb2312。
# mount –o iocharset=gb2312 codepage=936 /dev/hda5 /mnt/hda5
一般来说 mount –o iocharset=cp936 /dev/hda5 /mnt/hda5 就可以解决问题了。
如果这样做了以后还有问题,请尝试UTF-8编码:
# mount –o iocharset=utf8 /dev/hda5 /mnt/hda5
2. 为什么mount上去以后分区普通用户不可写?
mount时加上 –o umask=000 即可:
# mount –o umask=000, iocharset=cp936 /dev/hda5 /mnt/hda5
3. 为什么mount上去后的分区中的文件都变成短文件名了?
这是文件系统挂错的原因,将FAT32挂载成FAT16时就会出现这种情况,先umount,然后用 –t vfat 重新挂载即可解决问题。
# mount –t vat /dev/hda5 /mnt/hda5
4. 如何挂载U盘和mp3?
如果计算机没有其它SCSI设备和usb外设的情况下,插入的U盘的设备路径是 /dev/sda1,用命令:
# mkdir /mnt/u
# mount /dev/sda1 /mnt/u
挂载即可。
5. 可以直接使用iso文件吗?
可以,就是mount的这一选项使得Linux下有免费虚拟光驱的说法,具体用法是:
# mkdir /mnt/iso
# mount –o loop linux.iso /mnt/iso
当然,挂载以后挂载点/mnt/iso也是只读的。
6. 如何开机自动挂载分区?
每次挂载都要输入那么长的命令的确是繁琐了些,只要将分区信息写到 /etc/fstab 文件中即可实现系统启动的自动挂载,例如对于 /dev/hda5 的自动挂载添加如下的行即可:
/dev/hda5 /mnt/hda5 vfat defaults,iocharset=cp936, rw 0 0
7. 如何挂载samba 分区?
# mkdir /mnt/share
# mount -t smbfs -o username=root,password=abc,codepage=936,iocharset=gb2312 //192.168.1.100/share /mnt/share
如果中文显示不正常请尝试UTF-8编码。当然可以写到fstab中实现自动挂载。
8. mount --bind是什么意思?
mount --bind 是将一个目录中的内容挂载到另一个目录上,用法是
# mount --bind olddir newdir
这个命令使得自己搭建的FTP要共享某个目录的时候变得特别方便。如果要取消mount用命令:
# mount --move olddir newdir
即可。
如果mount --bind 也想写入fstab中的话格式如下:
olddir newdir none bind 0 0
9. 为什么umount的时候老显示 device busy?
这是因为有程序正在访问这个设备,最简单的办法就是让访问该设备的程序退出以后再umount。可能有时候用户搞不清除究竟是什么程序在访问设备,如果用户不急着umount,则可以用:
# umount -l /mnt/hda5
来卸载设备。选项 –l 并不是马上umount,而是在该目录空闲后再umount。还可以先用命令 ps aux 来查看占用设备的程序PID,然后用命令kill来杀死占用设备的进程,这样就umount的非常放心了。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
开机挂载及/etc/fstab格式
当我们在挂载磁盘的时候,除了利用磁盘的代号之外 (/dev/hdxx) 也可以直接利用磁盘的 label 来作为挂载的磁盘挂载点喔!基本上, 就是那个 /etc/fstab 档案的设定,Label 来做为磁盘挂载的依据, 这样有好有坏:
优点:不论硬盘代号怎么变,不论您将硬盘插在那个 IDE 接口 (IDE1 或 IDE2 或 master 或 slave 等),由于系统是透过 Label ,所以,磁盘插在那个接口将不会有影响。
缺点:如果插了两颗硬盘,刚好两颗硬盘的 Label 有重复的,那就惨了~ 因为系统会无法判断那个磁盘分割槽才是正确的!
开机挂载 /etc/fstab 及 /etc/mtab:
系统挂载的一些限制:
根目录 / 是必须挂载的,而且一定要先于其它 mount point 被挂载进来。
其它 mount point 必须为已建立的目录,可任意指定,但一定要遵守必须的系统目录架构原则
所有 mount point 在同一时间之内,只能挂载一次。
所有 partition 在同一时间之内,只能挂载一次。
如若进行卸载,您必须先将工作目录移到 mount point(及其子目录) 之外。
复制代码
[root@linux ~]# cat /etc/fstab
# Device Mount_point filesystem parameters mp fsck
LABEL=/ / ext3 defaults 1 1 (以标头名称挂载)
/dev/hda5 /home ext3 defaults 1 2
/dev/hda3 swap swap defaults 0 0
/dev/hdc /media/cdrom auto pamconsole,exec,noauto,managed 0 0
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
复制代码
其实这个 /etc/fstab 就是将我们使用 mount 来挂载一个装置到系统的某个挂载点, 所需要下达的指令内容,将这些内容通通写到 /etc/fstab 里面去,而让系统一开机就主动挂载。 那么 mount 下达指令时,需要哪些参数?不就是‘装置代号、挂载点、档案系统类别、参数’等等, 而我们的 /etc/fstab 则加入了两项额外的功能,分别是备份指令 mp 的执行与否, 与是否开机进行 fsck 扫瞄磁盘。
前面的4个已经很熟悉了,每个档案系统还有很多参数可以加入的,例如中文编码的 iocharset=big5,codepage=950 之类的,当然还有很多常见的参数,具体可以看mount中的详细介绍,具体说一下后2个:mp和fsck。
能否被 mp 备份指令作用:
在 Linux 当中,可以利用 mp 这个指令来进行系统的备份的。而 mp 指令则会针对 /etc/fstab 的设定值,去选择是否要将该 partition 进行备份的动作呢! 0 代表不要做 mp 备份, 1 代表要进行 mp 的动作。 2 也代表要做 mp 备份动作, 不过,该 partition 重要度比 1 小。
是否以 fsck 检验扇区:
开机的过程中,系统预设会以 fsck 检验我们的 partition 内的 filesystem 是否完整 (clean)。 不过,某些 filesystem 是不需要检验的,例如虚拟内存 swap ,或者是特殊档案系统, 例如 /proc 与 /sys 等等。所以,在这个字段中,我们可以设定是否要以 fsck 检验该 filesystem 喔。 0 是不要检验, 1 是要检验, 2 也是要检验,不过 1 会比较早被检验啦! 一般来说,根目录设定为 1 ,其它的要检验的 filesystem 都设定为 2 就好了。
一般来说, 当我们编辑 /etc/fstab 后,为了避免可能的错误,通常就会以 mount -a (模拟开机自动挂载操作)这个指令来测试看看呢!这是很重要的一个测试动作喔!
/etc/fstab 是开机时的设定档,不过,实际 filesystem 的挂载是记录到 /etc/mtab 与 /proc/mounts 这两个档案当中的。每次我们在更动 filesystem 的挂载时,也会同时更动这两个档案喔!但是,万一发生您在 /etc/fstab 输入的数据错误,导致无法顺利开机成功,而进入单人维护模式当中,那时候的 / 可是 read only 的状态,当然您就无法修改 /etc/fstab ,也无法更新 /etc/mtab ,没关系,可以利用底下这一招:
[root@linux ~]# mount -n -o remount,rw /
加上 -n 则不更新 /etc/mtab ,加上 -o 则提供额外的参数设定。 利用这一动作,嘿嘿!您的 / 就可以读写,那么自然就能够更新档案内容了。
2. linux 的mount命令的意思
mount准确来说应该是挂载的意思.
就是把相应的设备挂载到相关的文件系统下进行访问和控制.
例如mount /abc /mnt
就是把/abc目录挂载到/mnt目录下进行访问和控制
mount 后可以接一些参数来进行额外的调整.
比如mount -t iso9660 -o ro /dev/cdrom /mnt
这条指令是把光盘介质以只读的状态挂载到/mnt下来.
-t 挂载介质类型,具体有iso9660,nfs等.
-o 挂载的选项,例如ro(Read Only),rw(Read & Write),remount(重新挂载,一般用于挂载需要进行读写的只读的目录或者设备)等等.
3. moun命令挂载文件系统时添加-o rw ro表示什么
-o <选项> 指定挂载文件系统时的选项
ro 以只读方式挂载
rw 以读写方式挂载
比如:
#mount -o ro /dev/hda1 /mnt 以只读方式挂载hda1
#mount -o rw /dev/hda1 /mnt 以读写方式挂载hda1
4. ADB常用命令大全
安卓调试桥(android Debug Bridge),是Android SDK中的一个调试工具, 使用adb可以直接操作管理Android模拟器或Andriod真机设备,在开发测试过程中,起到调试的作用。
adb.exe的存放路径:Android-SDKplatform-tools
adb help //查看帮助
adb version //查看adb版本号
adb devices //查看设备
adb connect IP:port //连接设备
adb disconnect //断开连接的所有设备
adb disconnect IP:port //断开连接指定设备
adb root //获取root权限
adb remount //重新挂载文件系统(默认只读,执行命令后可写)
adb install Package //安装APK
adb install -r Package //强制覆盖安装
adb install -t Package //允许降级覆盖安装
adb install -d Package //允许测试包
adb uninstall PackageName //卸载APK
adb uninstall -k (keep) PackageName //保留用户数据卸载
adb pull //将设备文件文件发送到PC
adb push //将PC文件发送到设备
adb logcat -c //清空日志
adb logcat -v threadtime >D:111.log //抓日志并输出保存D:111.log
adb shell screencap /sdcard/screen.png //屏幕截图(并存放sdcard目录,命名screen.png)
adb shell screenrecord /sdcard/demo.mp4 //录制屏幕(Android4.4以上可用)
adb shell mpsys activity activities //查看activity信息
adb shell mpsys activity |findstr mResumedActivity //获取当前activity信息
adb shell mpsys window windows | findstr “Current” //查看当前app窗口activity
adb shell //进入设备内部
cd //切换目录
pwd //查看当前路径
ping //查看网络连接
rm* //删除目录下的所有文件
cp -r /path/filename /NewPath //拷贝文件
busybox find / -name FileName //查找文件
tcpmp -i any -p -s 0 -w /data/data/1111.pcap //抓取网络包
pm uninstall PackageName //卸载APK
pm path PackageName //查看APK存放位置
pm clear PackageName //清除APK缓存
mpsys package om.android.xxx //查看APK的具体信息
mpsys package om.android.xxx | grep version //查看APK版本
mpsys package com.tencent.mm | findstr versionName //查看APK版本
am start PackageName //拉起APK
am start -n com.android.xxx/.WelcomeActivity //直接拉起APK的指定WelcomeActivity
am start -a android.intent.action.VIEW -d http://www..com //拉起网络
am start -n om.android.xxx/.WelcomeActivity --es actionUrl "http://sns.is.xxxxx.com/CCTV/index.html?action=detail&object=5005153" //指定Activity上拉起H5
am force-stop + 报名 //杀死进程
kill `ps |grep -E "icntv|istv" | busybox awk '{print $2}'` //杀进程
md5 com.android.xxx //查看已安装应用MD5
busybox vi hispreinstall.sh //编辑文件(命令行)
chmod 777 /system/bin/hispreinstall.sh //修改权限
cat /system/build.prop | grep "proct" //查看设备信息
exit //退出shell交互模式
adb shell getprop ro.build.version.release //查看Android系统版本
adb get-serialno //获取手机序列号
adb shell mpsys package //列出所有安装应用的信息
adb shell pm list packages //查看设备中的所有应用的包名
adb shell cat/proc/cpuinfo //获取CPU型号等信息(HardWare后面是CPU型号)
adb shell "ps | grep packageName" //查指定程序pid
adb shell getprop //查看手机信息
adb shell getprop ro.serialno //查看手机序列号
adb shell cat /proc/cpuinfo //查看手机CPU信息
adb shell cat /proc/meminfo //查看手机内存信息
adb reboot recovery //重启手机到recovery刷机模式
adb reboot bootloader //重启手机到bootloader界面
adb shell mpsys battery //获取电池信息
adb shell mpsys battery set status 1 //设置手机进入非充电状态,为2设置充电状态
adb shell mpsys battery set level 100 //设置电量百分比
adb shell mpsys batterystats //获取整个设备的电量消耗信息
adb shell mpsys batterystats | more //综合电量消耗
adb shell mpsys batterystats com.android.xxx //获取某个apk的电量消耗信息
adb shell mpsys batterystats packageName | more //获取指定程序电量消耗信息
adb shell cat /proc/uid_stat/$PID/tcp_snd //发送的数据流量
adb shell cat /proc/uid_stat/$PID/tcp_rcv //接收的数据流量
procrank //查看内存
adb shell top | findstr com.android.xxx //查看指定APK内存
top -n 3 |grep -E "com.android.xxx|android.yyy" //查看内存
adb shell mpsys cpuinfo |findstr com.android.xxx //查看指定APK CPU
mpsys cpuinfo |grep -E "com.android.xxx|android.yyy" //查看CPU
adb shell settings put global http_proxy ip(PC):port(默认8888) //设置代理
adb shell settings get global http_proxy //查看代理
adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db //进入sqlite
delete from global where name in('global_http_proxy_host','global_http_proxy_port','http_proxy'); //移除代理
adb shell stop //关闭设备
adb shell start //开启设备
adb start-server //启动adb服务
adb kill-server //关闭adb服务
adb reboot //重启手机
adb shutdown //关闭手机
1、首次使用USB线连接Android手机,然后打开Terminal输入:adb tcpip 端口号(默认5555)
2、查看手机IP地址:设置->关于手机->状态信息->IP地址
3、通过adb连接ip地址:adb connect IP:port
5. linux mount 挂载命令 详解
挂接命令(mount) mount命令参数非常多,
命令格式:mount [-t vfstype] [-o options] device dir
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
挂接光盘镜像文件
1、从光盘制作光盘镜像文件。将光盘放入光驱,执行下面的命令。
#cp /dev/cdrom /home/sunky/mydisk.iso 或
#dd if=/dev/cdrom of=/home/sunky/mydisk.iso
注:执行上面的任何一条命令都可将当前光驱里的光盘制作成光盘镜像文件/home/sunky/mydisk.iso
2、将文件和目录制作成光盘镜像文件,执行下面的命令。
#mkisofs -r -J -V mydisk -o /home/sunky/mydisk.iso /home/sunky/ mydir
注:这条命令将/home/sunky/mydir目录下所有的目录和文件制作成光盘镜像文件/home/sunky/mydisk.iso,光盘卷标为:mydisk
3、光盘镜像文件的挂接(mount)
#mkdir /mnt/vcdrom
注:建立一个目录用来作挂接点(mount point)
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。
挂接移动硬盘 《Linux就该这么学》一起学习linux
对linux系统而言,USB接口的移动硬盘是当作SCSI设备对待的。插入移动硬盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter /]# fdisk -l
接好移动硬盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况.应该可以发现多了一个SCSI硬盘/dev/sdc和它的两个磁盘分区/dev /sdc1?、/dev/sdc2,其中/dev/sdc5是/dev/sdc2分区的逻辑分区。我们可以使用下面的命令挂接/dev/sdc1和 /dev/sdc5。
#mkdir -p /mnt/usbhd1
#mkdir -p /mnt/usbhd2
注:建立目录用来作挂接点(mount point)
#mount -t ntfs /dev/sdc1 /mnt/usbhd1
#mount -t vfat /dev/sdc5 /mnt/usbhd2
注:对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数。若汉字文件名显示为乱码或不显示,可以使用下面的命令格式。
#mount -t ntfs -o iocharset=cp936 /dev/sdc1 /mnt/usbhd1
#mount -t vfat -o iocharset=cp936 /dev/sdc5 /mnt/usbhd2
linux系统下使用fdisk分区命令和mkfs文件系统创建命令可以将移动硬盘的分区制作成linux系统所特有的ext2、ext3格式。这样,在linux下使用就更方便了。使用下面的命令直接挂接即可。
#mount /dev/sdc1 /mnt/usbhd1
挂接U盘
和USB接口的移动硬盘一样对linux系统而言U盘也是当作SCSI设备对待的。使用方法和移动硬盘完全一样。插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
[root at pldyrouter root]# fdisk -l
系统多了一个SCSI硬盘/dev/sdd和一个磁盘分区/dev/sdd1,/dev/sdd1就是我们要挂接的U盘。
#mkdir -p /mnt/usb
注:建立一个目录用来作挂接点(mount point)
#mount -t vfat /dev/sdd1 /mnt/usb
注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。
#mount -t vfat -o iocharset=cp936 /dev/sdd1 /mnt/usb
6. linux 系统下的mount和umount命令
>mount /what /where
其中what是设备的名称例如u盘,光盘等,where是挂载点,通常是/mnt.
例如挂载cd或者dvd执行下面的命令
>mount /dev/cdrom /media/
卸载的时候可以
>umount /media或者>umount /dev/cdrom都可以卸载cd
详细参见man page
7. linux中mount挂载命令
mount命令格式及说明:
mount [-t vfstype] [-o options] device dir
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂接方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集
3.device 要挂接(mount)的设备。
4.dir设备在系统上的挂接点(mount point)。
实例:使用/mnt/vcdrom挂载光盘镜像文件mydisk.iso。
#mount -o loop -t iso9660 /home/sunky/mydisk.iso /mnt/vcdrom
8. linux中mount挂载命令
挂载:mount
设备
挂载点
取消:umount
设备
vi
/etc/fstab
/dev/sdb1
/mnt/ext4
ext4
defaults
0
0
实现永久挂载
mount
-a
实行vim中的内容
9. 如何挂载只读的Linux文件系统
mount -t nfs 192.168.1.230:/FILE1 /mnt mount参数 详解: 功能:加载指定的文件系统。 语法:mount [-afFhnrvVw] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [加载点] 用法说明:mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。可将经常使用的设备写入文件/etc/fastab,以使系统在每次启动时自动加载。mount加载设备的信息记录在/etc/mtab文件中。使用umount命令卸载设备时,记录将被清除。 常用参数和选项: -a 加载文件/etc/fstab中设置的所有设备。 -f 不实际加载设备。可与-v等参数同时使用以查看mount的执行过程。 -F 需与-a参数同时使用。所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。 -h 显示在线帮助信息。 -L<标签> 加载文件系统标签为<标签>的设备。 -n 不将加载信息记录在/etc/mtab文件中。 -o<选项> 指定加载文件系统时的选项。有些选项也可在/etc/fstab中使用。 -r 以只读方式加载设备。 -t<文件系统类型> 指定设备的文件系统类型。常用的选项说明有: minix Linux最早使用的文件系统。 ext2 Linux目前的常用文件系统。 msdos MS-DOS 的 FAT。 vfat Win85/98 的 VFAT。 nfs 网络文件系统。 iso9660 CD-ROM光盘的标准文件系统。 ntfs Windows NT的文件系统。 hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。 auto 自动检测文件系统。 -v 执行时显示详细的信息。 -V 显示版本信息。 -w 以可读写模式加载设备,默认设置。
10. CentOS挂载详解
接前文, CentOS下ext4、vfat文件系统创建、修改 ,以及 swap分区管理
在Linux中,存储设备的使用一般分三步,分区,创建文件系统(格式化),挂载。
什么是挂载?个人理解,Linux通过倒树形的根文件系统来管理所有的文件,内核只能识别并管理根目录 / 所在的文件系统及其下的目录和文件。因此其他文件系统想要使用,都需要为其指定在现存目录下的访问入口。
将额外的文件系统,与现存的Linux能够识别的目录,建立起映射关系,实现 将现存目录作为访问额外文件系统的入口 的功能,这个过程称为 挂载 ;用于访问额外文件系统的,现存文件系统中的指定目录,称为 挂载点 。
挂载的逆过程,解除额外的文件系统与现存Linux能够识别的目录之间的映射关系,称为 卸载 。
挂载需要两个参数,挂载的设备或文件系统,挂载点;
1. 挂载点,是现有文件系统下的某个目录,是由我们自己指定的;
2. 要挂载的设备或文件系统,其信息要如何获得?
1. 如果要挂载的是磁盘,可以尝试用 fdisk -l 命令配合 df 和 free 命令
为了更直观的比较,可以加上grep以过滤显示结果,例如:
从结果中可以看到,swap分区只有sda3,并且大小和现有swap大小基本一样,可知swap分区已全部挂载。
已挂载磁盘只有sda1和sda2,sdb1没有挂载。
2. 使用 blkid -o format 命令
在format的多个值中比较推荐list或full,full模式下会显示设备名称、UUID和文件系统的类型
而list模式更便于我们阅读,此时会显示设备名称、文件系统类型、表现名称、挂载点(会显示挂载点或未挂载状态)和UUID。如下图,根据提示很容易可以看得出 /dev/sdb1 和 /dev/sr0 处于未挂载状态。
3. 使用 lsblk 命令
例如, lsblk -fmp ,不指定设备则显示所有块设备信息,很容易看到sbd1和sr0没有挂载点,说明他们处于未挂载状态。
通过上面三种方法,我们可以了解到目前尚未挂载的设备信息,即有哪些设备可以挂载。
1,挂载和卸载命令的参数:
挂载使用 mount 命令,设备、挂载点 两者都需要指明
卸载使用 umount 命令,设备、挂载点 两者只需要指明其一
2,一般挂载
命令格式:mount [-nrw] [-t vfstype] [-o options] device dir
device :指明要挂载的设备或文件系统,可以通过以下方式指定
1)设备文件名称:例如/dev/sda5,默认使用这种方式
2)卷标:-L 'LabelName',例如 -L 'MYDATA'
3)UUID:-U UUID,即使设备名称或者卷标改了,也不影响识别
4)伪文件系统(暂不介绍):proc,sysfs,devtmpfs,configfs
dir :挂载点
1)事先存在,并建议使用空目录,
2)如果是长期挂载,尽量不要使用mnt和media目录
3)处于busy状态(例如正在被访问的目录)的设备无法被卸载
mount命令本身选项 :
-r:readonly,只读挂载(整个分区只读);
-w:read and write, 读写挂载;
-n:默认情况下,设备挂载或卸载的操作会同步更新至 /etc/mtab 文件中;
-n用于禁止此特性:挂载但不更新 /etc/mtab 文件;
-t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;
-L LABEL:挂载时以卷标的方式指明设备;
mount -L LABEL dir
-U UUID:挂载时以UUID的方式指明设备;
mount -U UUID dir
-o options :挂载选项,多用于定义挂载时文件系统的特性
sync/async:同步/异步操作;
atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
remount:重新挂载;
acl:支持使用facl功能;
# mount -o acl device dir
# tune2fs -o acl device
# mount -o remount,acl device dir #重新挂载并增加acl特性
ro:只读,-o ro 等效于 -r
rw:读写,-o rw 等效于 -w
dev/nodev:此设备上是否允许创建设备文件;
exec/noexec:是否允许运行此设备上的程序文件;
auto/noauto:是否支持自动挂载,即是否支持 mount -a ,如果是 noauto ,那么即使在 fstab 中加入记录,启动时也不会自动挂载该设备;
user/nouser:是否允许普通用户挂载此文件系统;
suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;
defaults:使用默认挂载特性: rw, suid, dev, exec, auto, nouser, async, relatime(默认特性和CentOS版本及内核版本有关)
特别的,如果指定的特性与defaults的默认特性冲突,以额外指定的特性为准,例如 mount -o defaults,noauto device dir ,默认特性是 auto ,额外指定 noauto ,device实际表现的挂载特性是 noauto 。
3,挂载可移动设备或回环设备
4,设置开机后自动挂载
修改配置文件 /etc/fstab ,该文件中每一行定义一个要挂载的文件系统及相关属性,每一行的内容分为6个字段:
(1) 要挂载的设备,可以是以下内容:
设备文件的名称,如/dev/sda1
设备的LABEL
设备的UUID,CentOS 7中较多使用此种方式
伪文件系统:如sysfs, proc, tmpfs等
(2) 挂载点路径
如果是swap类型的设备,挂载点就是 swap ;
(3) 文件系统类型,如ext4,xfs,btrfs,vfat等等;
(4) 挂载选项,也就是 mount -o 命令的那些选项:
defaults:使用默认挂载选项;
如果要同时指明多个挂载选项,彼此间以逗号分隔,如:defaults,acl,noatime,noexec
(5) 转储频率,已经很少使用:
0:从不备份;
1:每天备份;
2:每隔一天备份;
(6) 自检次序:
0:不自检;
1:首先自检,通常只能是根文件系统可用1;
2:次级自检;
1. 使用 findmnt 命令
findmnt 命令将列出所有已挂载的文件系统或者搜索出某个文件系统,是查看文件系统时很常用的命令之一。findmnt 命令能够在 /etc/fstab 、 /etc/mtab 或 /proc/self/mountinfo 这几个文件中进行搜索。
命令常用选项:
-l:表示采用列表形式输出结果,默认采用树形输出结果
--df 或 -D:以df类型输出结果,显示文件系统及设备空间使用情况
-t TYPE:只输出文件类型为TYPE的结果
参数:
findmnt可以指定设备或挂载点,输出相关结果,不带任何参数则输出所有结果,例如:
findmnt /dev/sda1
findmnt /
2. 使用 blkid 命令
blkid -o list ,在第一部分已经简单介绍过该命令的用法,这里不再重复。
3. 使用 lsblk 命令
lsblk -fp [device] ,第一部分也已经介绍过,这里不再重复。
4. 使用 df 命令
常用 df -hT 来查看 已挂载 设备的文件系统及其空间使用情况, -T 表示查看文件类型, -h 表示以方便识别的方式输出空间情况。
更多用法请看man手册。
5. 使用 mount 命令
直接使用 mount 命令,不带选项和参数,会输出所有已挂载的系统信息,里面可能有很多我们不需要的信息,常和grep一起使用以查看我们关注的内容。
如: mount | grep -E "(sd)|(sr)"
6. 使用 fdisk -l 命令
该命令是分区命令,因此只能看到能够进行分区操作的设备信息(比如光盘就不会显示),同时无论分区有没有挂载都会显示。
上面的命令可以简单分为
可以查看 设备信息: blkid , lsblk , fdisk
只能查看 设备信息: findmnt , df , mount
卸载使用命令 umount ,设备或挂载点任意指定其中之一即可: umount device|dir
卸载时有可能会遇到挂载点正在被其他进程访问,无法卸载的情况:
解决办法有2个:
1. 终止所有正在访问某挂载点的进程,比如使用命令 fuser -km /test (这个命令有可能导致其他进程出问题,生产环境慎用),或者kill掉访问挂载点的进程,然后再卸载。
2. 强制卸载: umount -l /test , umount -l 会等到挂载点空闲后再卸载,相对让人放心一些。