目录
🍅点击这里查看所有博文
随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。
想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔记就和没记一样,不是很方便。
很多时候我们遇到了问题,一般情况下都是选择在搜索引擎检索相关内容,这样来的也更快一点,除非真的找不到才会去选择翻书。后来就想到了写博客,博客作为自己的一个笔记平台倒是挺合适的。随时可以查阅,不用随身携带。
同时由于写博客是对外的,既然是对外的就不能随便写,任何人都可以看到。经验对于我来说那就只是经验而已,公布出来说不一定我的一些经验可以帮助到其他的人。遇到和我相同问题时可以少走一些弯路。
既然决定了要写博客,那就只能认真去写。不管写的好不好,尽力就行。千里之行始于足下,一步一个脚印,慢慢来 ,写的多了慢慢也会变好的。权当是记录自己的成长的一个过程,等到以后再往回看时,就会发现自己以前原来这么菜😂。
本系列博客所述资料均来自互联网,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。
前言
挂载指的是将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联。
简单来说,可以理解为创建了一个连接磁盘分区和文件系统的通道,我们访问某个目录,就相当于进入到磁盘内部进行访问,类似于软连接。
任何外接的设备都需要挂载才可以使用,包括但不限于sd卡,硬盘,u盘等等。本文就是针对sd卡的一个挂载示例,通过接入一张sdcard演示该如何挂载一个外接的存储设备。
查看接入设备
通过lsblk查看可用存储设备、磁盘分区等相关信息,找到接入全部存储设备名称。
在接入设备之前查询一下lsblk的结果,然后接入设备后再次执行对比差异即可。示例中接入一张sdcard,通过对比lsblk结果可知新增的设备节点是mmcblk2。
- root@debian-minix:~# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
- mmcblk0 179:0 0 58.2G 0 disk
- ├─mmcblk0p1 179:1 0 512M 0 part /boot/efi
- ├─mmcblk0p2 179:2 0 56.8G 0 part /
- └─mmcblk0p3 179:3 0 976M 0 part [SWAP]
- mmcblk0boot0 179:256 0 4M 1 disk
- mmcblk0boot1 179:512 0 4M 1 disk
- # 接入sdcard
- root@debian-minix:~# lsblk
- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
- mmcblk0 179:0 0 58.2G 0 disk
- ├─mmcblk0p1 179:1 0 512M 0 part /boot/efi
- ├─mmcblk0p2 179:2 0 56.8G 0 part /
- └─mmcblk0p3 179:3 0 976M 0 part [SWAP]
- mmcblk0boot0 179:256 0 4M 1 disk
- mmcblk0boot1 179:512 0 4M 1 disk
- mmcblk2 179:768 0 58.2G 0 disk
- └─mmcblk2p1 179:769 0 58.2G 0 part
复制代码
挂载设备
创建挂载目录
使用mkdir /mnt/sdcard命令,在存储挂载设备目录中创建一个文件夹用于挂载硬盘。
- root@debian-minix:~# ls /mnt
- root@debian-minix:~# mkdir /mnt/sdcard
- root@debian-minix:~# ls /mnt
- sdcard
复制代码
挂载设备
挂载设备需要使用mount指令,其格式如下:
- mount [-t vfstype] [-o options] device dir
- - vfstype:指定文件系统的类型,通常不必指定,mount 会自动选择正确的类型
- - options:主要用来描述设备或档案的挂载方式
- - device:要挂载的设备
- - dir:设备在文件系统上的挂载点
复制代码
使用mount /dev/mmcblk2 /mnt/sdcard挂载设备。挂载的设备就是前面查询的结果,不要照抄。
若出现下列报错,可能是存储设备的分区格式不支持,需要格式化设备。
- root@debian-minix:~# mount /dev/mmcblk2 /mnt/sdcard
- mount: /mnt/sdcard: wrong fs type, bad option, bad superblock on /dev/mmcblk2, missing codepage or helper program, or other error.
- dmesg(1) may have more information after failed mount system call.
复制代码
选择自己需要的文件系统,我这里选择将存储设备格式化为ext4文件系统。使用mkfs.ext4 /dev/mmcblk2格式化存储设备。
- root@debian-minix:~# mkfs.ext4 /dev/mmcblk2
- mke2fs 1.47.0 (5-Feb-2023)
- Found a dos partition table in /dev/mmcblk2
- Proceed anyway? (y,N) y
- Discarding device blocks: done
- Creating filesystem with 15267328 4k blocks and 3817472 inodes
- Filesystem UUID: a5fbebbf-481d-4f79-a087-847c664bfb70
- Superblock backups stored on blocks:
- 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
- 4096000, 7962624, 11239424
- Allocating group tables: done
- Writing inode tables: done
- Creating journal (65536 blocks):
- done
- Writing superblocks and filesystem accounting information: done
复制代码
再次执行挂载动作,正确的挂载不会有任何提示。我们可以尝试在挂载目录下创建一个文件。紧接着取消挂载,查看目录内文件是否消失。随后再次挂载,查看目录内文件是否出现。
- root@debian-minix:~# mount /dev/mmcblk2 /mnt/sdcard
- root@debian-minix:~# ls /mnt/sdcard/
- lost+found
- root@debian-minix:~# touch /mnt/sdcard/test.txt
- root@debian-minix:~# ls /mnt/sdcard/
- lost+found test.txt
- root@debian-minix:~# umount -v /dev/mmcblk2
- umount: /mnt/sdcard (/dev/mmcblk2) unmounted
- root@debian-minix:~# ls /mnt/sdcard/
- root@debian-minix:~# mount /dev/mmcblk2 /mnt/sdcard
- root@debian-minix:~# ls /mnt/sdcard/
- lost+found test.txt
复制代码
也可使用df -hT查看挂载的磁盘信息。
- root@debian-minix:~# df -hT
- Filesystem Type Size Used Avail Use% Mounted on
- udev devtmpfs 1.8G 0 1.8G 0% /dev
- tmpfs tmpfs 372M 1.3M 371M 1% /run
- /dev/mmcblk0p2 ext4 56G 5.9G 47G 12% /
- tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
- tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
- /dev/mmcblk0p1 vfat 511M 6.1M 505M 2% /boot/efi
- overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/b47e58826cee1f2b01032976b050f3764aed611d8135f4bac0daa26fc960fc8e/merged
- overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/a7243500f935625400bcbdade6328ae6b9eedda08b37966c6597992572764a5f/merged
- overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/f4aecedc48a00ccd765730a1ece83aeb020b66a558590ba1687e995b777391b2/merged
- overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/66d191bb4c9fe1df52e38ac9cb40646358d52f80fa52b9efbc5bff138d1e8b4b/merged
- tmpfs tmpfs 372M 0 372M 0% /run/user/1000
- /dev/mmcblk2 ext4 58G 24K 55G 1% /mnt/sdcard
复制代码
开机自动挂载
挂载的存储设备,在重启系统后会失效,所以需要设置开机启动自动挂载硬盘。输入**blkid /dev/mmcblk2 **找到硬盘UUID和文件系统格式。
- root@debian-minix:~# blkid /dev/mmcblk2
- /dev/mmcblk2: UUID="a5fbebbf-481d-4f79-a087-847c664bfb70" BLOCK_SIZE="4096" TYPE="ext4"
复制代码
编辑**/etc/fstab**磁盘挂载配置文件,将下面的指令添加到文件的最后一行中。两条指令任选一条即可。
- /dev/mmcblk2 /mnt/sdcard ext4 defaults 0 2
复制代码- UUID=a5fbebbf-481d-4f79-a087-847c664bfb70 /mnt/sdcard ext4 defaults 0 2
复制代码
那么本篇博客就到此结束了,这里只是记录了一些我个人的学习笔记,其中存在大量我自己的理解。文中所述不一定是完全正确的,可能有的地方我自己也理解错了。如果有些错的地方,欢迎大家批评指正。如有问题直接在对应的博客评论区指出即可,不需要私聊我。我们交流的内容留下来也有助于其他人查看,说不一定也有其他人遇到了同样的问题呢😂。