首先我们需要知道linux的文件系统和windows的文件系统是不同的。linux是文件夹的形式展现。所以我们要知道就算是看到的桌面都是一个子文件夹。U盘挂载可以简单的理解为是将U盘中的所有文件转移到一个文件夹下面。
这里我先使用Ubuntu进行演示
了解Linux的文件系统后,在对U盘挂载之前需要知道几个简单的Linux命令和基本的shell的语法 右键点击打开终端即可进入主文件夹下的终端。
1.ls 查看当前路径下的文件目录
可以看到输入ls后展示的文件夹名字是主目录下的名字。
ls -l 能够显示最近文件夹使用的时间
2. cd
首先是cd ..注意cd和..之间有空格。这个命令是返回上一级,也就是返回上一个文件夹。然后是cd 文件夹名 进入文件夹
当然cd 进入文件夹的时候只能进入当前目录下的子文件夹。如果是子文件夹下的文件夹就会显示“没有那个文件或目录”
3.创建文件夹mkdir 删除文件夹rmdir
可以看到使用rmdir 文件夹名字删除了usb4这个文件夹
下面使用mkdir进行添加文件夹
4.su
在终端下打开root权限,在第三个的图片中有一句提示是权限不够,需要我们打开root权限。su后回车在输入密码即可打开root权限。
5.chmod 777 +文件名
这个是最后使用.sh文件时会遇到权限不足需要对文件权限提升。当然也是需要在所在文件的路径下进行使用。
在centos下这些命令也是通用的。由于我Ubuntu已经完成了,所以接下来我将使用centos进行演示。
第一步、进入mnt文件夹
当我们搜索LinuxU盘挂载的时候会知道挂载到mnt下。但是桌面上是没有mnt这个文件夹的,并且在主文件夹下面进行搜索也找不到mnt这个文件夹。 因为mnt这个不在主文件夹下的。
cd ..退回两次。第一次是用户名,第二次就是最外面的文件。cd mnt进入mnt文件夹下可以看到里面只有hgfs文件夹。这个时候,
简单的进行两次文件夹的创建即可,想取什么名字都是可以的。创建一个就可以。
前期的准备工作就算完成了。接下来插入U盘,点击确定。
接下来就是shell文件
#! /bin/sh
#第一个加载u盘驱动
fun1(){
sudo mount /dev/sdb1 /mnt/usb1;
echo "加载成功";
}
#第二个去除u盘驱动
fun2() {
umount /mnt/usb1;
echo "成功去除U盘,您现在可以安全拔出U盘";
}
#第三个查看u盘信息
fun3() {
ls /mnt/usb1;
}
#第4个将u盘中文件复制进入本地中
fun4(){
echo "请输入u盘内想要复制的文件路径"
read enter
if test -f /mnt/usb1/$enter
then
echo "输入复制的目的地"
read enter2
cp --preserve /mnt/usb1/$enter $enter2
echo "复制完成"
else
echo "该文件不存在于u盘中"
fi
}
#第五个将本地文件复制进入u盘中
fun5(){
echo "请输入想要复制的文件路径"
read enter
if test -f $enter
then
echo "输入u盘内复制的目的地"
read enter2
cp --preserve $enter /mnt/usb1/$enter2
echo "复制完成"
else
echo "该文件不存在"
fi
}
#第六个展示选项
fun6(){
echo "请选择你要进行的操做项"
echo "1:加载U盘驱动"
echo "2:去除U盘驱动"
echo "3:查看U盘信息"
echo "4:复制U盘中内容到指定文件夹"
echo "5: 将本地文件复制进入u盘中"
echo "6:退出"
}
fun6
read var;
#当输入大于6的时候
while test $var -gt 6
do echo "无该选项,请重新选择"
read var
done
#当输入小于6的时候
while test $var -lt 6
do
case "$var" in
"1")fun1;;
"2")fun2;;
"3")fun3;;
"4")fun4;;
"5")fun5;;
*)echo "无该选项,请重新选择";;
esac
fun6
read var
done
echo "成功退出...."
如果有vscode可以使用vscode新建一个.sh的文件存放代码。如果没有可以在window下创建好修改后缀名复制到U盘中传过去。
先复制放在虚拟机中 在最后来讲解代码。
在放文件的地方打开终端进入root模式。
./文件名字 是执行文件。可以看到权限不够这个时候就用chmod 777 +文件名字
可以看到启动成功了。输入1加载U盘驱动。
sudo mount /dev/sdb1 /mnt/usb1 mount是挂载U盘的命令,/mnt/usb1是挂载到的文件夹。如果不想在mnt下的usb1可以自己改名字 而/dev/sdb1则是U盘的连接位置。
输入df -h查看磁盘空间可以看到我的U盘在/dev/sdb1下。
输入2则是去除U盘,只是去除输入1后挂载的U盘,U盘仍然可以进行访问。 umount去除U盘
输入3
可以对比前面的图片。
4和5的原理是一样的。
read 是shell的写入命令,enter内就是你输入的。
if 条件
then
elif 条件
then
else
fi
一定有fi作为结束。
if text -f 可以判断是否是有效文件。
cp 为复制命令, -preserve则是复制的文件为原始文件。
cp -preserve 文件1 文件2 第一个是需要复制的文件,第二个是复制到的目的地。
输入4 5的例子