为什么挂载?
在Linux中,存储设备的访问可以通过挂载(Mount)实现。Linux支持访问各种类型的存储设备,包括硬盘驱动器、USB闪存驱动器、SD卡、RAID、LVM等。
以下是Linux中存储设备访问的几个重点:
- 文件系统格式:要访问存储设备,必须使用相应的文件系统格式。Linux支持多种文件系统格式,如ext2、ext3、ext4、NTFS、FAT等。不同的文件系统格式具有不同的特性和限制,选择适当的格式对于存储设备的访问非常重要。
- 挂载点:在Linux中,所有的存储设备都必须挂载到文件系统中的某个目录上才能访问。挂载点是指用于挂载存储设备的目录,可以是任何存在的目录,但通常是在根目录下创建一个新的子目录。要挂载存储设备,必须具有root权限或sudo权限。
- 自动挂载:为了方便用户,Linux支持自动挂载存储设备。当插入新的存储设备时,操作系统会自动检测并尝试挂载。这一过程通常基于udev规则实现,可以通过修改规则文件来控制自动挂载的行为。
- 防止数据丢失:在Linux中,必须正确地卸载存储设备才能安全地移除它。如果直接拔出存储设备而未经过适当的卸载,则可能导致数据丢失或文件系统损坏。因此,必须在操作系统中正确地卸载存储设备,以确保数据的完整性和安全性。
总之,在Linux中,存储设备的访问可以通过挂载实现。要挂载存储设备,必须选择适当的文件系统格式,并将其挂载到指定的挂载点上。此外,Linux还支持自动挂载和防止数据丢失的功能,这些功能都有助于保障存储设备的安全和可靠性。
挂载
查看块设备信息
lsblk是Linux中的一个命令,用于列出系统中所有的块设备信息,包括硬盘、U盘、CD/DVD等存储设备。该命令可以帮助用户查看系统中所有的存储设备以及它们的分区情况。
lsblk命令的使用格式为:
lsblk [options] [device]
其中,options表示可选参数,device表示要列出信息的设备名。如果不指定device,则会列出所有的存储设备信息。
lsblk命令常用的一些选项如下:
- -a:显示所有设备,包括空设备;
- -h:以人类可读的方式显示设备大小;
- -l:只显示设备的基本信息,不显示分区信息;
- -p:显示设备的完整路径;
- -o:指定要显示的列,可以选择多个列。
例如,要查看系统中所有的存储设备信息,可以使用以下命令:
┌──(root㉿kali)-[~]
└─# lsblk // 查看块设备列表
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 79G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 975M 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
- sda是一个大小为80G的硬盘,下面sda1、sda2、sda5的分区
- sr0是一个大小为1024M的CD/DVD-ROM
如果要查看某个特定设备(比如/dev/sda)的信息,可以使用以下命令:
┌──(root㉿kali)-[~]
└─# lsblk /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 80G 0 disk
├─sda1 8:1 0 79G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 975M 0 part [SWAP]
┌──(root㉿kali)-[~]
└─# ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 12月21日 22:07 /dev/sda
// 第1块磁盘对应的设备文件
┌──(root㉿kali)-[~]
└─# ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 12月21日 22:07 /dev/sda1
// 第1块磁盘的第1个分区对应的设备文件
┌──(root㉿kali)-[~]
└─# ls -l /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 12月21日 22:07 /dev/sr0
// 查看光盘对应的设备文件
┌──(root㉿kali)-[~]
└─# ls -l /dev/cdrom
lrwxrwxrwx 1 root root 3 12月21日 22:07 /dev/cdrom -> sr0
// 查看sr0的链接文件
进行挂载卸载操作
在Linux中,mount是一个命令行工具,用于将文件系统挂载到指定的挂载点上。通过该命令,用户可以访问存储设备中的文件和目录,使其在Linux系统中可以被读取和写入。
mount命令的使用格式为:
mount [-t 文件系统] [-o 选项] 设备名 挂载点
其中,-t选项用于指定要挂载的文件系统类型,-o选项用于指定挂载选项,设备名指定要挂载的设备,挂载点指定挂载的目录。
例如,要将光盘挂载到/mnt/文件夹下,可以使用以下命令:
┌──(root㉿kali)-[~]
└─# mount /dev/cdrom /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
// 将cdrom挂载在到/mnt/ 目录下
在挂载成功后,用户可以通过/mnt/external访问这个设备中的文件和目录。
┌──(root㉿kali)-[~]
└─# ls /mnt
isolinux live
// 通过/mnt/目录查看ISO镜像中的文件
另外,umount是mount的反向操作,用于卸载已经挂载的文件系统。使用方法如下:
umount 挂载点
例如,要卸载/mnt/下的文件系统,可以使用以下命令:
┌──(root㉿kali)-[~]
└─# umount /mnt
// 将挂载载/mnt目录下的内容卸载
┌──(root㉿kali)-[~]
└─# ls /mnt
卸载成功后,该文件系统就从系统中移除了。需要注意的是,在卸载前必须确保已经关闭所有正在访问该文件系统的进程,否则会导致数据丢失。
配置开机自动挂载
创建挂载点
┌──(root㉿kali)-[~]
└─# mkdir -p /iso/linux
mkdir -p是一个Linux命令,用于创建一个目录树。该命令可以一次性创建多个目录,并且如果某个目录的上级目录不存在,则会自动创建上级目录。
修改配置/etc/fstab
┌──(root㉿kali)-[~]
└─# vim /etc/fstab
/dev/cdrom /iso/linux iso9660 ro 0 0
//文件末行添加上上述命令
// 设备文件 挂载点 文件系统类型 挂载选项 检查 备份
检查配置
┌──(root㉿kali)-[~]
└─# mount -a
mount -a 是一个用于挂载在 /etc/fstab 文件中定义的所有文件系统的命令。它会读取 /etc/fstab 文件中的配置信息,并根据这些信息来自动挂载文件系统,确保系统中的所有文件系统都能正确地被挂载。
验证
重启之后,查看
┌──(root㉿kali)-[~]
└─# ls /iso/linux
isolinux live