ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux 系统操作之U盘挂载(mount)及卸载(umount)

2022-05-05 11:31:38  阅读:270  来源: 互联网

标签:U盘 mount mnt 文件系统 dev Linux 挂载 root 分区


前言:

有这样一个工作场景;小白是一名初入职场的运维工程师,今天小白接到领导指令,需要到机房协助第三方终端产商测试隔离区传输链路。小白有点惶恐,他没有去过机房,也不知道要去做些什么;他请教了一下同事,同事告知不要怕,就是去打酱油的。而后小白去到了机房,见到了第三方的终端厂商并询问需要我做些什么?第三方终端厂家说:你帮我在服务器中拿两个文件下来。小白心想这简单,然后插上优盘准备copy文件;然而插上U盘后发现在系统中一直找不到U盘的目录!!!

一、为什么要U盘挂载后,才能使用
因为Linux将所有的硬件设备都当做文件来处理,因此当使用光驱等硬件设备时,必须将其挂载到系统中,只有这样Linux才能识别。

1./mnt目录存放手动挂载的硬件;

2. /media目录存放自动挂载的硬件(载点都是由系统自动建立和删除的)

3. /dev不是存放设备的驱动程序,而是作为访问外部设备文件的接口。比如,我们的U盘,插入linux系统后,用fdisk -l查看分区,显示文件为/dev/sda1。

使用命令 fdisk -l 查看优盘设备所在分区

 

通过上面的命令,可以看到U盘已经被系统识别到了;但是问题又来了,明明系统都识别到U盘了,那为什么不能直接访问,不是已经在 /dev/sdb1 目录下了嘛?

Linux 系统下可分为五种类型文件:

1.普通文件;以 - 符号开头为普通文件;一般由相关应用程序创建,如:cp工具、touch工具等。

[root@chaser ~]# ls -lh install.log

-rw-r–r– 1 root root 53K 03-16 08:54 install.log

2.目录文件;以 d 字母开头为目录;用命令mkdir、cp 等命令创建。

[root@chaser ~]# ls -lh

drwxr-xr-x 2 root root 4.0K 04-19 10:53 mydir

3.字符设备或块设备文件;用mknode来创建,一般不用手动创建设备文件,因为这些文件和内核相关联的。

以 c 字母开头的为设备文件。比如猫等串口设备。

[root@chaser~]# ls -la /dev/tty

crw-rw-rw- 1 root tty 5, 0 04-19 08:29 /dev/tty

以 b 字母开头的为块设备,如硬盘,光驱等设备。

[root@chaser ~]# ls -la /dev/hda1

brw-r—– 1 root disk 3, 1 2006-04-19 /dev/hda1

4.套接口文件;以 s 字母开头的,这个知道有这个东西就行

5 符号链接文件;以 | 字符开头,

[root@chaser ~]# ls -lh start.log

lrwxrwxrwx 1 root root 11 04-19 11:18 start.log -> install.log

根据上述的引用,Linux 系统分为五种类型文件;现在可以查看一下 /dev/sdb1 的文件属性。

 

可以看到Linux 系统识别到的是一个块类型文件,而块类型Linux 系统中是不能直接进行访问的;想要访问就要通过 mount 命令挂载到文件目录中进行访问。

二、如何挂载U盘(mount)
1.挂载点必须是一个目录。

2.挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用,umount以后会恢复正常。

3.光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。

mount 基本挂载用法

mount [-fnrsvw] [-t vfstype] [-o options] device dir

参数:

device 表示要挂载的设备,

dir 表示挂载点

-t 指定设备的文件系统类型。

常用的选项说明有:    

(1)minix Linux最早使用的文件系统。    

(2)ext2 Linux目前的常用文件系统。   

(3)msdos MS-DOS 的 FAT。    

(4)vfat Win85/98 的 VFAT。    

(5)nfs 网络文件系统。    

(6)iso9660 CD-ROM光盘的标准文件系统。    

(7)ntfs Windows NT的文件系统。    

(8)hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。    

(9)auto 自动检测文件系统。

例子1:挂载FAT32的U盘

mkdir /mnt/usbFAT32 --/mnt 目录下创建手动进行挂载的目录
fdisk -i --查看挂载的设备信息(需要root用户进行查看)
Device Boot Start End Blocks Id System
/dev/sdb1 * 72 3767 29681664 c W95 FAT32 (LBA)
--一般情况下系统会自动检测对应的文件系统类型,所以可以不使用 -t vfat 指定文件系统类型
mount -t vfat /dev/sdb1 /mnt/usbFAT32
df -h --查看设备挂载情况,如下即成功挂载。
/dev/sdb1 29G 16G 13G 55% /mnt/usbFAT32
例子2:挂载NTFS的移动硬盘

mkdir /mnt/usbNTFS --/mnt 目录下创建手动进行挂载的目录
fdisk -i --查看挂载的设备信息(需要root用户进行查看)
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 121601 976760001 7 HPFS/NTFS
mount /dev/sdb1 /mnt/usbNTFS --不指定文件系统类型的情况下
mount: you must specify the filesystem type --提示:你必须指定文件系统类型
mount -t ntfs /dev/sdb1 /mnt/usbNTFS --没有提示则ok
mount: unknown filesystem type 'ntfs' --提示:‘ntfs’文件系统类型未知,需要自行安装ntfs-3g(工具运行在C++语言下,如不能编译则还需要安装 gcc-c++ 工具)
df -h --查看设备挂载情况,如下即成功挂载。
/dev/sdb1 123G 1G 122G 98% /mnt/usbNTFS
三、卸载
卸载相对简单,使用 umount 命令 卸载即可。

例如:
已经挂载的 /dev/sdb1 29G 16G 13G 55% /mnt/usbFAT32
umount /dev/sdb1 或者 umount /mnt/usbFAT32 都可以进行卸载
四、自动挂载
配置/etc/fstab文件,可以实现每次开机时,linux自动将需要挂载的linux分区挂载上。

# /etc/fstab
# Created by anaconda on Fri Oct 22 22:25:49 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
#》》》》》》》》》》》》 注意看这里 《《《《《《《《《《《《《《《《《《《《《《
#挂载的文件系统的设备名 挂载点 挂载的文件系统类型 挂载的选项,选项间用逗号分隔
/dev/sdb1 /mnt/usbFAT32 vfat defaults,codepage=936,iocharset=cp936 0 0
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/dev/mapper/vg_chaser-lv_root / ext4 defaults 1 1
UUID=81c96f40-5068-4ec7-9ecd-369ce041dd7e /boot ext4 defaults 1 2
/dev/mapper/vg_chaser-lv_home /home ext4 defaults 1 2
/dev/mapper/vg_chaser-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
参数defaults实际上包含了一组默认参数:

rw 以可读写模式挂载

suid 开启用户ID和群组ID设置位 dev 可解读文件系统上的字符或区块设备 exec 可执行二进制文件

auto 自动挂载

nouser 使一般用户无法挂载

async 以非同步方式执行文件系统的输入输出操作 ,

codepage=936和iocharset=cp936参数以支持中文文件名。

光驱和软驱是不自动挂载的,参数设置为noauto。

/dev/cdrom1 /mnt/cdrom1 udf, iso9660 noauto, owner, kudzu, ro 0 0
挂载ISO格式的文件话 mount -loop -o iocharset=cp936 xxxxx.iso /mnt/iso

硬盘的分区简介:

/dev/ 这个字串是所有设备文件所在的目录名。因为分区在硬盘上,而硬盘是设备,所以这些文件代表了在/dev/上所有可能的分区。

xx 分区名的前两个字母标明分区所在设备的类型。通常是 hd (IDE 磁盘)或 sd(SCSI 磁盘)。 y 这个字母标明分区所在的设备。

例如,/dev/hda(第一个 IDE 磁盘)或 /dev/sdb(第二个 SCSI 磁盘) N 最后的数字代表分区。前四个分区(主分区或扩展分区)是用数字从 1 排列到 4。逻辑分区从 5 开始。例如,/dev/hda3 是在第一个 IDE 硬盘上的第三个主分区或扩展分区;/dev/sdb6 是在第二个 SCSI 硬盘上的第二个逻辑分区。

→ →参考及归纳记录笔记
————————————————
版权声明:本文为CSDN博主「守望Chaser」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40648849/article/details/124037307

标签:U盘,mount,mnt,文件系统,dev,Linux,挂载,root,分区
来源: https://www.cnblogs.com/dzcWeb/p/16224086.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有