磁盘检测和挂载

本文介绍了Linux系统中的磁盘检测和挂载管理,包括设备文件、磁盘和分区、文件系统类型,以及挂载点的显示。详细讲解了挂载命令`mount`的使用,如显示挂载信息、挂载设备到指定目录、挂载选项等,并提到了卸载设备的`umount`命令。此外,还讨论了`df`和`du`命令用于查看磁盘使用情况。最后,探讨了挂载和卸载文件系统的系统调用及其相关标志。
摘要由CSDN通过智能技术生成

一、基础知识

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值