OrangePi KunPengPro | linux系统下挂载U盘
时间:2024年6月6日21:32:53
文章目录
- OrangePi KunPengPro | linux系统下挂载U盘
- 1.参考
- 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
是 Linux 和其他类 Unix 系统中的一个重要文件,它包含了系统中存储设备的静态文件系统信息。这个文件用于定义在系统启动时哪些文件系统需要被挂载,以及它们应该挂载到哪个目录,以及挂载选项等。
/etc/fstab
文件中的每一行通常描述了一个文件系统,并且由六个或更多字段组成,这些字段由空格、制表符或逗号分隔。以下是这些字段的通常含义:
- 设备文件:这通常是一个块设备的设备文件(如
/dev/sda1
)或网络文件系统的挂载点(如server:/path/to/export
)。- 挂载点:文件系统应该被挂载到的目录。
- 文件系统类型:要挂载的文件系统的类型(如
ext4
,xfs
,nfs
,vfat
等)。- 挂载选项:这是一个逗号分隔的选项列表,用于控制文件系统的挂载行为。例如,
defaults
通常意味着使用默认的挂载选项,而ro
表示以只读方式挂载。- dump 备份频率:dump 是一个用于备份文件系统的工具。这个字段通常被设置为
0
或1
,其中0
表示不备份,1
表示需要备份。- 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/
这个目录上。但是,这里有几个要点需要注意:
-
目录存在性:
/mnt/udisk/
这个目录必须已经存在。如果它不存在,mount
命令会失败。您可以使用mkdir -p /mnt/udisk/
来创建这个目录(如果它还不存在的话)。 -
文件系统类型:
/dev/sda1
的文件系统类型必须被您的系统所支持。在您给出的示例中,/dev/sda1
是 ntfs 文件系统,这通常意味着您需要在系统中安装ntfs-3g
或其他 ntfs 支持的工具才能挂载它。 -
挂载选项:在某些情况下,您可能需要指定额外的挂载选项。例如,对于 ntfs 文件系统,您可能想要以只读方式挂载它(使用
-o ro
选项),或者指定其他选项来处理权限、所有权或其他特性。 -
权限:挂载文件系统通常需要 root 权限。因此,您可能需要在命令前加上
sudo
来获得必要的权限。 -
其他挂载点:请注意,
/mnt/udisk/
目录本身通常不会是一个挂载点,除非您特意创建它作为挂载点。通常,/mnt
目录下会有多个子目录,每个子目录都是一个独立的挂载点。 -
挂载冲突:如果
/mnt/udisk/
已经是一个挂载点,并且已经挂载了其他文件系统,那么尝试再次挂载/dev/sda1
到同一个目录会导致错误。 -
卸载:如果您需要卸载
/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/
目录上的文件系统。但是,有几个注意事项:
-
目录正确性:确保您正在尝试卸载的目录是正确的,并且该目录确实是一个挂载点。
-
没有其他进程正在使用:如果还有其他进程正在访问该挂载点上的文件或目录,
umount
命令可能会失败。您可以使用lsoft
或fuser
命令来检查是否有进程正在使用该挂载点。 -
权限:通常,卸载文件系统需要 root 权限。因此,您可能需要在命令前加上
sudo
来获得必要的权限。 -
正确的挂载点:确保您正在卸载的目录是整个挂载点的根目录。如果您尝试卸载挂载点下的子目录,
umount
命令会失败。 -
使用
-f
选项(谨慎使用):如果umount
命令因为某些原因(如进程仍在访问挂载点)而失败,您可以使用-f
选项来强制卸载。但是,请注意,强制卸载可能会导致数据损坏或文件系统不一致,因此应该谨慎使用。
下面是一个使用 umount
命令的示例,展示如何以 root 权限卸载挂载在 /mnt/udisk/
上的文件系统:
sudo umount /mnt/udisk/
如果卸载成功,您应该不会再看到 /mnt/udisk/
目录下的文件或目录(除了可能存在的其他非挂载点文件或目录)。如果卸载失败,umount
命令会输出错误信息,您可以根据这些信息来解决问题。
如果 umount
命令因为其他进程正在使用挂载点而失败,您可以使用 fuser -km /mnt/udisk/
命令来终止所有正在访问该挂载点的进程,并尝试再次卸载。但是,请确保您知道这些进程是什么,以及终止它们是否安全。