OrangePi KunPengPro | linux系统下挂载U盘


时间:2024年6月6日21:32:53

目录

  • OrangePi KunPengPro | linux系统下挂载U盘
  • 1.参考
  • /etc/fstab
  • 2.操作
  • fdisk -l 列出系统上所有磁盘的分区表信息
  • 将 /dev/sda1 分区挂载到 /mnt/udisk/ 目录
  • 显示文件系统的磁盘空间使用情况
  • 卸载文件系统

1.参考

1.Linux挂载U盘

在Linux下挂载U盘通常使用mount命令。首先,你需要确定U盘的设备名称,这可以通过lsblk或者fdisk -l命令来查看。一旦你知道了U盘的设备名称(比如/dev/sdb1),你可以按照以下步骤来挂载U盘:

创建一个挂载点(即一个目录),你可以选择任何你喜欢的位置,这里我们使用/mnt/usb作为例子:

sudo mkdir /mnt/usb

使用mount命令挂载U盘到你创建的目录:

sudo mount /dev/sdb1 /mnt/usb

替换 /dev/sdb1 为你的U盘设备名称。

现在,你应该可以通过cd /mnt/usb命令进入挂载的U盘,并对其内容进行访问和操作。

如果你想在开机时自动挂载U盘,你可以编辑/etc/fstab文件,并添加类似以下的行:

/dev/sdb1 /mnt/usb auto defaults 0 0

请确保替换/dev/sdb1/mnt/usb为你的U盘设备名称和你想要挂载的目录。


/etc/fstab

/etc/fstab 是 Linux 和其他类 Unix 系统中的一个重要文件,它包含了系统中存储设备的静态文件系统信息。这个文件用于定义在系统启动时哪些文件系统需要被挂载,以及它们应该挂载到哪个目录,以及挂载选项等。

/etc/fstab 文件中的每一行通常描述了一个文件系统,并且由六个或更多字段组成,这些字段由空格、制表符或逗号分隔。以下是这些字段的通常含义:

  1. 设备文件:这通常是一个块设备的设备文件(如 /dev/sda1)或网络文件系统的挂载点(如 server:/path/to/export)。
  2. 挂载点:文件系统应该被挂载到的目录。
  3. 文件系统类型:要挂载的文件系统的类型(如 ext4, xfs, nfs, vfat 等)。
  4. 挂载选项:这是一个逗号分隔的选项列表,用于控制文件系统的挂载行为。例如,defaults 通常意味着使用默认的挂载选项,而 ro 表示以只读方式挂载。
  5. dump 备份频率:dump 是一个用于备份文件系统的工具。这个字段通常被设置为 01,其中 0 表示不备份,1 表示需要备份。
  6. fsck 检查顺序:fsck 是一个用于检查和修复文件系统的工具。这个字段定义了在系统启动时 fsck 检查文件系统的顺序。根文件系统(通常是 /)应该被设置为 1,而其他文件系统则可以是 2(在根文件系统之后检查)或 0(不检查)。

例如,一个 /etc/fstab 文件中的条目可能如下所示:

/dev/sda1       /           ext4     defaults,noatime       0       1
/dev/sda2       /home       ext4     defaults,noatime       0       2
server:/export  /mnt/export nfs      defaults              0       0

在这个例子中:

  • /dev/sda1 是一个本地设备,它包含了 ext4 文件系统,并被挂载到根目录 /
  • /dev/sda2 是另一个本地设备,它也被格式化为 ext4 文件系统,并被挂载到 /home 目录。
  • server:/export 是一个网络文件系统(NFS),它被挂载到 /mnt/export 目录。

请注意,/etc/fstab 文件的格式必须正确,否则可能会导致系统无法启动或文件系统无法正确挂载。因此,在编辑此文件时要格外小心。

在这里插入图片描述

2.操作

请添加图片描述

fdisk -l 列出系统上所有磁盘的分区表信息

在这里插入图片描述

fdisk -l 命令用于列出系统上所有磁盘的分区表信息。当你运行这个命令时,你会看到类似以下的输出(输出内容会根据你的系统和磁盘配置有所不同):

Disk /dev/sda: 256.1 GB, 256060514048 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x00093632

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   488396799   244197376   83  Linux
/dev/sda2       488398846   500117503     5859329    5  Extended
/dev/sda5       488398848   498608127     5104640   82  Linux swap / Solaris
/dev/sda6       498609984   500117503      775360   83  Linux

Disk /dev/sdb: 8064 MB, 8064381952 bytes
255 heads, 63 sectors/track, 980 cylinders, total 15746840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb doesn't contain a valid partition table

在这个例子中:

  • /dev/sda/dev/sdb 是系统上的两块磁盘。
  • /dev/sda 有四个分区:/dev/sda1(一个主分区)、/dev/sda2(一个扩展分区)、/dev/sda5(扩展分区下的一个逻辑分区)和 /dev/sda6(扩展分区下的另一个逻辑分区)。
  • /dev/sda1 被标记为启动分区(由星号 * 表示),并且文件系统类型是 Linux(ID 83)。
  • /dev/sda5 是一个交换分区(ID 82),通常用于系统内存交换。
  • /dev/sdb 看起来没有有效的分区表。

请注意,/dev/sda1 ntfs 14G 12G 2.3G 84% /mnt/udisk 这样的输出并不是 fdisk -l 的直接输出,而是 df 命令的输出,它显示了已挂载文件系统的磁盘空间使用情况。fdisk -l 只会显示磁盘的分区信息,而不会显示文件系统的使用情况。

/dev/sda1 分区挂载到 /mnt/udisk/ 目录

当您运行命令 mount /dev/sda1 /mnt/udisk/ 时,您正在尝试将 /dev/sda1 这个分区挂载到 /mnt/udisk/ 这个目录上。但是,这里有几个要点需要注意:

  1. 目录存在性/mnt/udisk/ 这个目录必须已经存在。如果它不存在,mount 命令会失败。您可以使用 mkdir -p /mnt/udisk/ 来创建这个目录(如果它还不存在的话)。

  2. 文件系统类型/dev/sda1 的文件系统类型必须被您的系统所支持。在您给出的示例中,/dev/sda1 是 ntfs 文件系统,这通常意味着您需要在系统中安装 ntfs-3g 或其他 ntfs 支持的工具才能挂载它。

  3. 挂载选项:在某些情况下,您可能需要指定额外的挂载选项。例如,对于 ntfs 文件系统,您可能想要以只读方式挂载它(使用 -o ro 选项),或者指定其他选项来处理权限、所有权或其他特性。

  4. 权限:挂载文件系统通常需要 root 权限。因此,您可能需要在命令前加上 sudo 来获得必要的权限。

  5. 其他挂载点:请注意,/mnt/udisk/ 目录本身通常不会是一个挂载点,除非您特意创建它作为挂载点。通常,/mnt 目录下会有多个子目录,每个子目录都是一个独立的挂载点。

  6. 挂载冲突:如果 /mnt/udisk/ 已经是一个挂载点,并且已经挂载了其他文件系统,那么尝试再次挂载 /dev/sda1 到同一个目录会导致错误。

  7. 卸载:如果您需要卸载 /dev/sda1,可以使用 umount 命令(同样可能需要 sudo 权限)。

这里是一个完整的示例,展示如何以 root 权限创建一个挂载点并挂载 ntfs 文件系统:

sudo mkdir -p /mnt/udisk/
sudo mount -t ntfs-3g /dev/sda1 /mnt/udisk/

请注意,-t ntfs-3g 选项用于指定文件系统类型为 ntfs-3g,这是 Linux 上常用的 ntfs 读写驱动程序。如果您的系统中没有安装 ntfs-3g,您需要先安装它(例如在基于 Debian 的系统上,可以使用 sudo apt-get install ntfs-3g 来安装)。

显示文件系统的磁盘空间使用情况

在这里插入图片描述


df -Th 命令在 Linux 系统中用于显示文件系统的磁盘空间使用情况,同时包含文件系统类型(Type)和挂载点(Mounted on)的信息。

选项 -T 表示显示文件系统类型,而 -h 表示以人类可读的格式(如 K, M, G)显示大小。

命令的输出可能类似于以下示例:

Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda1      ext4       50G   20G   28G  42% /
tmpfs          tmpfs     3.9G   12K  3.9G   1% /dev/shm
/dev/sda5      ext4      200G  150G   41G  79% /home
/dev/sdb1      vfat       32G   16G   15G  52% /mnt/usbdisk

在这个示例中:

  • Filesystem 列显示了文件系统的设备名称或挂载点(如果设备名称太长)。
  • Type 列显示了文件系统的类型,如 ext4(第四代扩展文件系统),tmpfs(临时文件系统),vfat(FAT32 文件系统)等。
  • Size 列显示了文件系统的总大小。
  • Used 列显示了已使用的磁盘空间。
  • Avail 列显示了可用的磁盘空间。
  • Use% 列显示了已使用空间的百分比。
  • Mounted on 列显示了文件系统的挂载点。

通过这个命令,您可以快速了解系统上各个文件系统的磁盘空间使用情况和类型。

卸载文件系统

当您运行命令 umount /mnt/udisk/ 时,您正在尝试卸载(unmount)挂载在 /mnt/udisk/ 目录上的文件系统。但是,有几个注意事项:

  1. 目录正确性:确保您正在尝试卸载的目录是正确的,并且该目录确实是一个挂载点。

  2. 没有其他进程正在使用:如果还有其他进程正在访问该挂载点上的文件或目录,umount 命令可能会失败。您可以使用 lsoftfuser 命令来检查是否有进程正在使用该挂载点。

  3. 权限:通常,卸载文件系统需要 root 权限。因此,您可能需要在命令前加上 sudo 来获得必要的权限。

  4. 正确的挂载点:确保您正在卸载的目录是整个挂载点的根目录。如果您尝试卸载挂载点下的子目录,umount 命令会失败。

  5. 使用 -f 选项(谨慎使用):如果 umount 命令因为某些原因(如进程仍在访问挂载点)而失败,您可以使用 -f 选项来强制卸载。但是,请注意,强制卸载可能会导致数据损坏或文件系统不一致,因此应该谨慎使用。

下面是一个使用 umount 命令的示例,展示如何以 root 权限卸载挂载在 /mnt/udisk/ 上的文件系统:

sudo umount /mnt/udisk/

如果卸载成功,您应该不会再看到 /mnt/udisk/ 目录下的文件或目录(除了可能存在的其他非挂载点文件或目录)。如果卸载失败,umount 命令会输出错误信息,您可以根据这些信息来解决问题。

如果 umount 命令因为其他进程正在使用挂载点而失败,您可以使用 fuser -km /mnt/udisk/ 命令来终止所有正在访问该挂载点的进程,并尝试再次卸载。但是,请确保您知道这些进程是什么,以及终止它们是否安全。

Logo

鲲鹏展翅 立根铸魂 深耕行业数字化

更多推荐