• Linux文件属性和设备文件与挂载



    前言

    文件有很多属性标志,和设备挂载的步骤


    一、文件类型和属性

    内容

    • Linux文件类型在文件的属性字段中第1位标志,共有8种类型。当需要对特殊文件进行I/O操作时,该操作将调用相应的设备驱动程序。
      在这里插入图片描述

    文件类型和属性查看与解释

    例如,在shell下执行“ls -l”命令,可以查看文件的属性。
    在这里插入图片描述

    在这里插入图片描述

    二、设备文件

    • Linux系统中,所有的设备都是以文件的形式存在,所有的文件都是在以“/”目录为根的一颗“大”目录树中进行管理。
    • 存储设备包括USB、光盘、软盘等,在需要访问时,必须将这些设备对应的“小”目录挂载到“大”目录树中;访问结束后需要从“大”目录树中卸载掉。

    设备文件挂载

    • 挂载对象的文件系统类型
    • 系统文件/proc/filesystems中含有当前系统所支持的文件系统类型。如:
    • vfat是指Windows常用的FAT32文件系统,它兼容FAT16文件系统;
    • Ext4是目前Linux系统常用的文件系统。如果在文件/proc/filesystems中看不到vfat文件系统,可以通 过“modprobe vfat”命令加载该模块

    挂载对象的设备名称

    • /dev/hda1中,“hd”代表IDE硬盘, 对于每个硬盘设备,可以划分多个分区,通常主分区有1个,其它的为逻辑分区,hda1表示第一个IDE硬盘的第一个分区。
    • /dev/sda1中,“sd”代表SCSI接口的硬盘。sda1表示第一个SCSI硬盘的第一个分区。usb存储设备通常也被模拟为SCSI设备来驱动。
    • /dev/fd0中,“fd”代表软盘。fd0表示第一个软盘,fd1表示第二个软盘。

    挂载对象的挂载点

    • Linux系统中有一个/mnt目录,专门用来做挂载点目录。在执行mount命令时,首先查看挂载点目录是否存在,如果不存在则需要创建该目录,否则mount命令无法正常执行。

    • mount [选项] <挂载设备名称> <挂载点>

    示例

    • mount –t vfat /dev/fd0 /mnt/floppy
      解释:把软驱设备fd0挂载到目录/mnt/floppy目 录中,使用的文件系统类型为vfat,即Fat32或Fat16。

    • mount /dev/sdb /mnt/usb
      解释:把usb设备挂载到目录/mnt/usb目录中

    设备文件卸载

    • umount卸载
    • umount [挂载点或设备名]

    示例

    • umount /mnt/usb
      解释:卸载之前挂载的usb设备

    • umount /dev/sdb
      解释:卸载usb设备/dev/sdb

    • 注意:如果挂载的设备正在使用,那么执行该命令会出现“device busy”的错误信息。在卸载设备前,必须先从挂载点如/mnt/usb中退出。

    设备文件自动挂载配置

    • mount和umount命令都是通过手动方式加载和卸载设备文件。
    • 系统提供自动方式来管理设备文件,其方法是:修改配置文件/etc/fstab。
    • 例如,当一台机器中同时安装了Linux和Windows两个操作系统时,用户可以在启动Linux系统时自动挂载Windows的硬盘分区。
    • /etc/fstab文件的每一行为一个设备文件的记录,格式如下:
    • fs_spec:设备名称。
    • fs_file:挂载点。
    • fs_vfstype:文件系统类型名称。
    • fs_mntops:挂载时需要的参数,如ro表示以只读模式加载该文件系统,rw表示以读写模式加载该文件系统,iocharset表示指定输出字符编码集。
    • fs_freq:定义“dump”命令对文件系统进行转储的频率,若不需要转储就将该字段设置为0。
    • fs_passno:被fsck命令用来决定在重启时检查文件系统的顺序。

    示例

    /dev/hda1 / Ext4 defaults 1 1
    /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0

    • 保存配置文件,重启系统后即可生效。生效后,系统将会自动加载hda1分区和cdrom

    总结

    文件属性的分类
    设备文件的挂载

  • 相关阅读:
    c# .NET 高级编程 高并发必备技巧 - 锁
    Linux日志打包脚本
    对比纯软开与嵌入式硬件开发谁更好呢?
    登录业务实现(单点登录+微信扫码+短信服务)
    一文带你深入理解——锁的可重入性
    PyTorch搭建Transformer实现多变量多步长时间序列预测(负荷预测)
    SpringBoot入门
    做私域,转化成交的秘诀!
    docker desktop如何一键进入容器内部
    基础算法(三):双指针/位运算/离散化/区间合并
  • 原文地址:https://blog.csdn.net/weixin_51422230/article/details/126755159