linux中的挂载是什么

挂载,就是让其他硬盘分区或设备文件在Linux里能被访问。
简单说,就是给文件系统找个家。

挂载点就像个空箱子,挂载后,箱子里的东西就出现在Linux目录里了。

用mount命令挂载,比如挂硬盘分区:mount /dev/sda5 /mnt
卸载就是搬出家里的东西,用umount命令:umount /mnt
看已挂载设备,看/proc/mounts或/etc/mtab。

绑定挂载,就像把一个房间的家具搬到另一个房间:mount --bind /var/www/home/user/public_ /mnt
默认挂载选项有默认值,比如读写、允许用户挂载等。

懂了没?挂载就是给文件找个家,卸载就是搬家。

Linux如何卸载挂载的目录?

哎哟,这事儿我熟啊。
去年在老家那台老服务器上就碰到过,当时急得我满头大汗。

你想想,Linux系统里卸载一个目录,结果报“device is busy”,这错误老常见了。
为啥?还不是有进程开着呢,没关掉。

我那会儿卸载一个挂载点 /data,死活卸载不了。
系统就一直在那儿卡着,说忙。
我就想,得找是谁在用啊。

第一步,我就用 lsof | grep /data。
这命令真管用。
屏幕上立马显示出几个进程,哪个PID在用这个目录,一目了然。
比如看到 sshd 1 2 3 4 5 root cwd /data,我就知道是SSH守护进程在用。

第二步,得把进程关了。
我先是 kill 1 2 3 4 5 ,这是温柔地请它走。
你想想,万一是个用户在传输大文件呢,不能直接杀啊。
杀完了它不走,那就得用 kill -9 1 2 3 4 5 ,这是直接硬杀,不管它死活。
有时候 kill 不顶用,就得上 kill -9
如果 lsof 查出来一堆进程,那你就得一个个杀。
或者更狠,用 lsof -f -
/data | awk 'NR>1 {print $2 }' | xargs kill -9 ,一行命令,把所有占用的进程都给干掉。
这个我去年用了一次,当时查了半天,发现好几个小进程在用,直接这条命令,嘿,瞬间全灭了。

干完了这些,你再试 umount /data。
这次应该行了。
如果还不行,那就得查查是不是设备名搞错了。
我就遇到过一次,明明是卸载 /dev/sdb1 ,结果我卸载 /dev/sda1 ,当然不行啊。
我得用 mount 或者 df -h 看看这个目录到底挂载在哪个设备上。

卸载完了,还得验证一下。
我就用 df -h | grep /data,看看还有没有这个目录。
如果没有了,说明真的卸载成功了。

不过啊,有时候也麻烦。
比如你杀不掉某个进程,特别是 systemd 或者 rsyslog 这种系统关键进程,你不能乱杀啊,不然系统可能就崩了。
我去年就差点把 systemd 杀了,吓得我赶紧 kill -9 -1 全局杀进程,才保住系统没蓝屏。

还有啊,嵌套挂载也挺烦人的。
比如 /data 下面又挂了个 /data/subdata。
这种情况下,你就得用 umount -l /data,这是干掉子目录,然后让父目录自己慢慢清理。
这得等一会儿,有时候得等几分钟。

现在啊,我操作前,都会先用 fuser -vm /data 看看谁在用。
如果真要用 umount -f 强制卸载,那也得先确认好,没数据丢失的风险才行。

总的来说啊,卸载目录,关键是找进程、关进程、再卸载。
别急,一步步来。
遇到特殊情况,比如网络共享啥的,就得更小心。
这事儿吧,多试几次就熟练了,我去年弄了半天,今年就顺手了。

linux怎么查看目录是不是挂载的

嘿,聊聊Linux系统里查看目录是否挂载的小技巧吧。
说起来,我之前在做系统维护的时候,这些命令真是救星。

首先,得说说最基础的mount命令。
这货一输入,系统就给你列出来所有已经挂载的文件系统和对应的挂载点。
比如你输入mount,然后看输出里有没有/mnt/data这样的路径,有就是挂载上了。
记得,有时候用mount|column -t能让你输出的信息更整齐,看着更舒服。

然后是df命令,这玩意儿不仅能告诉你磁盘空间的使用情况,还能间接帮你验证目录是否挂载。
比如你用df-h看全量查询,或者df/path/to/directory定向查询,看目标目录是否在Mounted on那一列。
要是出现了,那就说明挂载了。

再来说说findmnt命令,这可是个挺现代的工具,用起来挺方便。
直接findmnt查询所有挂载点,或者findmnt/path/to/directory查询特定路径,输出信息结构清晰,还能导出成JSON格式。

至于查看系统文件的底层验证,那就有/etc/mtab和/proc/mounts两个选项。
mtab动态记录挂载信息,跟mount命令输出一样。
而/proc/mounts则是内核的实时挂载表,内容跟mtab差不多。

特殊场景嘛,比如验证远程挂载,你就可以用mount|grep-E "nfs|cifs"来过滤远程协议类型,看看挂载点是否存在。
图形界面工具的话,Gnome桌面的「Disks」工具和KDE桌面的「DiskManager」都很方便。

还有个lsblk命令,输入lsblk -f就能看到存储设备和挂载点的对应关系。

要注意的是,普通用户执行像mount、查看/etc/mtab这样的命令可能需要sudo权限。
还有,要是目录没在挂载列表里,得检查一下是否执行过mount命令,没挂载的只是普通目录。

哈哈,这些小技巧用起来还挺顺手的,不知道大家平时都用得怎么样?