通俗的讲解什么是挂载?mount的用处在哪?

关于挂载的作用一直不是很清楚,今天在阅读教材时看见了mount这个命令,发现它的用处很隐晦但非常强大。奈何教材说的不明朗,因此在网上整合了一些优秀的解释,看完之后豁然开朗。

1.提一句Windows下,mount挂载,就是给磁盘分区提供一个盘符(C,D,E,…)。比如插入U盘后系统自动分配给了它I:盘符其实就是挂载,退优盘的时候进行安全弹出,其实就是卸载unmount。

2.Linux下,不像Windows可以有C,D,E,多个目录,Linux只有一个根目录/。在装系统时,我们分配给linux的所有区都在/下的某个位置,比如/home等等。

3.提问者插入了新硬盘,分了新磁盘区sdb1。它现在还不属于/。

4.我们虽然可以在一些图形桌面系统里找到他的位置,浏览管理里面的文件,但在命令行却不知怎么访问它的目录,比如无法使用cd或者ls。也无法在编程时指定一个目录对它操作。

5.这时提问者使用了 mount /dev/sdb1 ~/Share/ ,把新硬盘的区sdb1挂载到工作目录的/Share/文件夹下,之后访问这个/Share/文件夹就相当于访问这个硬盘2的sdb1分区了。对/Share/的任何操作,都相当于对sdb1里文件的操作。

6.所以Linux下,mount挂载的作用,就是将一个设备(通常是存储设备)挂接到一个已存在的目录上。访问这个目录就是访问该存储设备。

7.linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载就是把设备放在一个目录下,让系统知道怎么管理这个设备里的文件,了解这个存储设备的可读写特性之类的过程。

8.我们不是有/dev/sdb1 吗,直接对它操作不就行了?这不是它的目录吗?

9.这不是它的目录。虽然/dev是个目录,但/dev/sdb1不是目录。可以发现ls/dev/sdb1无法执行。/dev/sdb1,是一个类似指针的东西,指向这个分区的原始数据块。mount前,系统并不知道这个数据块哪部分数据代表文件,如何对它们操作。

10.插入CD,系统其实自动执行了 mount /dev/cdrom /media/cdrom。所以可以直接在/media/cdrom中对CD中的内容进行管理。

<think>好的,我现在需要为用户介绍Linux磁盘管理命令的教学。首先,用户可能对Linux的磁盘管理不太熟悉,所以我应该从基础开始,逐步深入。需要涵盖哪些常用命令呢?常见的磁盘管理命令包括df、du、fdisk、parted、mkfs、mount、umount、fsck等。这些命令分别用于查看磁盘使用情况、分区管理、文件系统创建与挂载等。 接下来,用户可能需要每个命令的用途、基本用法以及示例。比如,df用于查看磁盘空间,du查看目录大小,fdisk和parted用于分区,mkfs创建文件系统,mount挂载,fsck检查文件系统。需要确保每个命令都解释清楚,避免混淆。例如,区分fdisk和parted的不同,parted支持更大的磁盘和更复杂的操作。 然后,要注意命令的使用注意事项,比如使用fdisk时需要root权限,分区操作可能导致数据丢失,提醒用户谨慎操作。同时,在示例中给出具体的命令参数,比如df -h可以更易读的方式显示磁盘空间。对于挂载命令,需要说明如何编辑/etc/fstab实现开机自动挂载。 另外,用户可能对文件系统类型不太清楚,可以简要介绍ext4、xfs等常见类型。还有,fsck的使用时机,比如在系统异常关机后可能需要检查文件系统。 还需要考虑用户的实际应用场景,比如如何扩展磁盘空间、添加新硬盘后的步骤:分区、格式化、挂载。可以分步骤讲解,例如先用fdisk创建新分区,用mkfs.ext4格式化,然后mount到指定目录,并更新fstab。 最后,要检查是否有遗漏的重要命令或常见问题,比如使用lsblk查看块设备,或者使用blkid查看UUID。这些辅助命令也能帮助用户更好地管理磁盘。确保语言通俗易懂,避免过于技术化,让新手也能理解。同时,提醒用户操作前备份数据,防止误操作导致数据丢失。</think>以下是Linux磁盘管理常用命令的详细介绍,按照功能分类讲解: ### 一、查看磁盘信息 1. **`df`命令** - 显示文件系统空间使用情况 ```bash $ df -h # 以易读方式显示(GB/MB) $ df -i # 查看inode使用情况 ``` 2. **`lsblk`命令** - 查看块设备信息 ```bash $ lsblk # 显示树形结构 $ lsblk -f # 显示文件系统类型 ``` 3. **`fdisk`命令** - 查看磁盘分区表 ```bash $ sudo fdisk -l # 列出所有磁盘信息 ``` --- ### 二、磁盘分区管理 1. **`fdisk`交互式分区工具** ```bash $ sudo fdisk /dev/sdb # 对sdb磁盘操作 ``` 常用子命令: - `n`新建分区 - `d`删除分区 - `p`显示分区表 - `w`保存退出 2. **`parted`高级分区工具**(支持2TB以上磁盘) ```bash $ sudo parted /dev/sdb (parted) print # 显示分区信息 (parted) mkpart # 创建分区 ``` --- ### 三、文件系统操作 1. **格式化分区** ```bash $ sudo mkfs.ext4 /dev/sdb1 # 格式化为ext4 $ sudo mkfs.xfs /dev/sdb2 # 格式化为XFS ``` 2. **检查修复文件系统** ```bash $ sudo fsck /dev/sdb1 # 检查并修复 $ sudo xfs_repair /dev/sdb2 # XFS专用修复 ``` --- ### 四、挂载与卸载 1. **临时挂载** ```bash $ sudo mount /dev/sdb1 /mnt/data # 挂载到/data目录 ``` 2. **永久挂载** 编辑`/etc/fstab`文件,添加: ``` /dev/sdb1 /mnt/data ext4 defaults 0 0 ``` 或使用UUID: ```bash $ blkid # 查看设备UUID ``` 3. **卸载磁盘** ```bash $ sudo umount /mnt/data ``` --- ### 五、磁盘空间分析 1. **`du`命令** - 查看目录大小 ```bash $ du -sh /home # 查看/home总大小 $ du -h --max-depth=1 # 显示一级子目录大小 ``` 2. **查找大文件** ```bash $ find / -type f -size +100M # 查找大于100MB的文件 ``` --- ### 六、实战案例:添加新硬盘 1. 插入硬盘后操作流程: ```bash $ lsblk # 确认新磁盘(如sdb) $ sudo fdisk /dev/sdb # 创建分区 $ sudo mkfs.ext4 /dev/sdb1 $ sudo mkdir /data $ sudo mount /dev/sdb1 /data ``` 2. 设置开机自动挂载: ```bash $ echo '/dev/sdb1 /data ext4 defaults 0 0' | sudo tee -a /etc/fstab ``` --- ### 注意事项 1. 操作前**务必备份重要数据** 2. 卸载后再拔除移动存储设备 3. 修改分区表后使用`partprobe`更新: ```bash $ sudo partprobe /dev/sdb ``` 以上命令需要root权限执行(使用`sudo`),建议在操作前通过`man 命令名`查看手册(如`man fdisk`)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值