一、基础知识
1、 设备专用文件(设备文件)
- 字符型设备,如键盘和显示器
- 块设备,如磁盘磁带等存储设备
- 设备文件总会出现在文件系统中,通常位于 /etc下,超级用户可以通过使用mknod命令来创建设备文件。
- 每个设备都有主、辅ID各一个,可以通过ls -l来显示。
2、 磁盘和分区
磁盘通常包含以下三种类型的文件之一:
- 文件系统:用来存储常规文件;
- 数据区域:可以作为裸设备对其进行访问(也就是不通过内核缓存来访问),一些数据库管理系统会使用该技术。
- 交换区域,供内核的内存管理所用。
3、文件系统
- ext4 Linux目前主流的文件系统,继承自ext2和ext3.
- 如果与Windows PC共用,会使用如下文件系统
- vfat:Windows长文件系统
- ntfs:Windows中广泛使用的高级文件系统
- iso9660:标准CD-ROM文件系统
- 大多数U盘会被格式化成vfat文件系统,而CD必须使用iso9660文件系统。
- Linux系统中支持的文件系统会被列在文件 /proc/filesystems中(Linux专有);cat /proc/filesystems显示如下:
nodev sysfs
nodev rootfs
nodev ramfs
nodev bdev
nodev proc
nodev cpuset
nodev cgroup
nodev cgroup2
nodev tmpfs
nodev devtmpfs
nodev configfs
nodev debugfs
nodev tracefs
nodev securityfs
nodev sockfs
nodev dax
nodev bpf
nodev pipefs
nodev hugetlbfs
nodev devpts
ext3
ext2
ext4
squashfs
vfat
nodev ecryptfs
fuseblk
nodev fuse
nodev fusectl
nodev efivarfs
nodev mqueue
nodev pstore
nodev autofs
nodev binfmt_misc
** 其中nodev表示不允许访问设备**
4、文件系统挂载点的显示
- 在 /proc/mounts文件中,每个进程都有自己的挂载设备在 /proc/self/mounts 中
- 在 /etc/mtab 文件中,mount 和 umount命令会自动维护此文件,但系统调用mount()和umount()不会更新此文件。
- 在 /etc/fstab 文件中,由系统管理员手工维护,该文件供mount、umount及fsck命令使用。
二、挂载管理命令
1、mount命令
- mount [-l] [-t type]显示挂载信息
#设备文件名on 虚拟目录的挂载点 type 文件系统类型 (已挂载媒体的访问状态)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1934456k,nr_inodes=483614,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=391728k,mode=755)
/dev/sda2 on / type ext4 (rw,relatime,errors=remount-ro)
- mount [-t type] device directory 将设备挂载到指定目录
- 可以将一个dev挂载到多个dir挂载点;两个挂载点共享挂载的dev中的内容
- 可以在一个dir挂载点挂载多个dev;采用出入栈的方式管理dev,显示栈顶的dev
- 绑定挂载,绑定挂载类似与硬链接,但存在两方面的区别
- 绑定挂载可以跨越多个文件系统的挂载点,甚至不拘于chroot临禁区(jail)。
- 可针对目录绑定挂载
- 其他mount命令选项
- -a 挂载/etc/fstab文件中指定的所有文件系统;
- -o 给文件挂载添加对应的选项,如ro只读、rw读写、loop挂载一个文件、user允许普通用户挂载、check=none挂载文件时不进行完整性校验
- mount的man手册描述
MOUNT(8) System Administration MOUNT(8)
NAME
mount - mount a filesystem
SYNOPSIS
mount [-l|-h|-V]
mount -a [-fFnrsvw] [-t fstype] [-O optlist]
mount [-fnrsvw] [-o options] device|dir
mount [-fnrsvw] [-t fstype] [-o options] device dir
DESCRIPTION
All files accessible in a Unix system are arranged in one big tree, the file hierarchy, rooted at /. These files can be spread out over several devices. The mount command serves to attach
the filesystem found on some device to the big file tree. Conversely, the umount(8) command will detach it again. The filesystem is used to control how data is stored on the device or pro‐
vided in a virtual way by network or another services.
The standard form of the mount command is:
mount -t type device dir
This tells the kernel to attach the filesystem found on device (which is of type type) at the directory dir. The option -t ty