Ubuntu Linux子系统挂载U盘及图形化界面实现

废话不多说直接上代码

#!/bin/bash
#创建临时文件,用于等会输入内容进文件
temp=$(mktemp -t test.XXXXXX)
temp2=$(mktemp -t test2.XXXXXX)
temp3=$(mktemp -t test3.XXXXXX)
temp4=$(mktemp -t test4.XXXXXX)
temp5=$(mktemp -t test5.XXXXXX)
#加载U盘,由于我的是Linux下的子系统,所以无法使用fdisk挂载
#所以用了mount,把U盘挂载到mnt/g
#dialog --msgbox在图新界面上显示出来
function load {
sudo mount -t drvfs G: /mnt/g
dialog --msgbox "U盘加载成功" 20 30
}
#df -h 把文件系统的挂载信息写入$temp文件
#dialog 输出文件内容
function load2 {
df -h > $temp
dialog --textbox $temp 20 60
}

#卸载U盘
#dialog 图形显示
function down {
sudo umount /mnt/g
dialog --msgbox "U盘卸载成功" 20 30
}

#df -h 把文件系统的挂载信息写入$temp文件
#dialog 输出文件内容
function down2 {
df -h > $temp
dialog --textbox $temp  20 60
}

#显示挂载后U盘使用情况,和里面的文件
function message {
cd /mnt/g
du -h > $temp
ls -F >$temp2
dialog --title "磁盘空间使用情况" --textbox $temp 20 60
dialog --title "文件" --textbox $temp2 20 60
}
#拷贝文件
#通过dialog fselect选择文件和文件夹,并返回信息到temp3,temp4临时文件
#把临时文件内容转到变量,并用cp 进行复制
function kaobei {
dialog --title "请选择要拷贝的文件" --fselect $mnt/ 10 50 2>$temp3
dialog --title "请选择要拷贝到的地址" --fselect $mnt/ 10 50 2>$temp4
val3=$(cat $temp3)
val4=$(cat $temp4)
cp $val3 $val4
dialog --msgbox "拷贝成功" 20 30
}
#主菜单界面,用while 【1】保证每次反复循环,菜单界面用dialog的menu,通过选择把序号重定向到temp
#用case语句进行选择,执行相应的函数
while [ 1 ]
do
dialog --menu "菜单" 20 30 5 1 "加载U盘" 2 "卸载U盘" 3 "查看U盘信息" 4 "拷贝文件" 5 "退出菜单" 2> $temp
if [ $? -eq 1 ]
then
    break
fi

selection=$(cat $temp)
case $selection in
1)
    load 
    load2 ;;
2)
    down
    down2 ;;
3)
    message ;;
4)
    kaobei ;;
5)
#退出第二重循环
    break 2 ;;
*)
    dialog --msgbox "无效的选择!" 20 30
esac
done
#删除临时文件
rm -f $temp
rm -f $temp2
rm -f $temp3
rm -f $temp4
rm -f $temp5
#清空命令行界面
clear

如果dailog命令无法找到的话就,就安装一下,因为有些系统自带的图形化界面不一样。也可以自己使用其他的图形化界面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值