📅  最后修改于: 2023-12-03 15:17:22.545000             🧑  作者: Mango
在 Linux 系统中,你可以简单地将任何驱动器添加到收藏夹中,以便快速地访问文件或目录。但有时,你可能想要隐藏已经安装的某些驱动器,以保护文件和目录免受未经授权的访问。在本文中,将介绍如何使用 Shell/Bash 脚本以及文件系统操作命令在 Linux 中隐藏已安装的驱动器。
首先,我们需要获取已安装的文件系统列表,以确定哪些驱动器需要隐藏。在终端中运行 sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
命令,该命令将返回已安装的所有文件系统的相关信息。
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
以下是该命令在我的 Ubuntu 系统上返回的示例输出:
NAME FSTYPE SIZE MOUNTPOINT LABEL
sda 128G
├─sda1 ext4 98.5G /
├─sda2 swap 32G [SWAP]
└─sda3 ext4 1.5G /boot/efi
sdb iso9660 30.9G /media/user/Windows 10 WIN10
在这个示例中,sdb
驱动器是我们想要隐藏的驱动器。因为它被挂载到 /media/user/Windows 10
目录下,我们可以在终端中使用 umount /media/user/Windows 10
命令卸载它。
现在,我们将编写一个 Shell/Bash 脚本,该脚本将获取已安装的文件系统列表,并将找到的所有驱动器卸载。在终端中创建一个新的文件,并为其命名为 hide-drives.sh
,然后在其中按照以下代码片段编写脚本:
#!/bin/bash
for drive in $(sudo lsblk | grep -E '^sd[a-z]+ ' | awk '{print $1}'); do
mountpoint=$(df -h | grep -E "^/dev/$drive[0-9]* " | awk '{print $6}')
if [ ! -z "$mountpoint" ]; then
sudo umount $mountpoint
fi
done
此脚本将获取已安装的所有文件系统,并根据 Linux 命名约定筛选驱动器名称(即,以 sd
开头且后面跟一个小写字母)。对于每个找到的驱动器,它会检查它是否已经挂载,并在需要时卸载它。
现在,我们可以运行 hide-drives.sh
脚本,在终端中运行以下命令:
bash hide-drives.sh
此命令将执行 hide-drives.sh
脚本,该脚本将卸载已安装的驱动器。要再次显示这些驱动器,请重新挂载它们或重新启动系统。
在本文中,我们已经介绍了如何使用 Shell/Bash 脚本和文件系统操作命令来隐藏已安装的驱动器。使用这种方法可以增加文件和目录的保护,以免受到未经授权的访问。