目录
参考文章:https://blog.csdn.net/qustdjx/article/details/7824353
提示:虽然上面这位博主已经给出了代码,但是当你运行时,你其实并知道到底在干些什么,所以是对上面的补充,并进行程序代码的解释。
/mnt目录存放手动挂载的硬件;
/media目录存放自动挂载的硬件(载点都是由系统自动建立和删除的)
/dev不是存放设备的驱动程序,而是作为访问外部设备文件的接口。比如,我们的U盘,插入linux系统后,用fdisk -l查看分区,显示文件为/dev/sda1。
磁盘分区表操作工具
格式:fdisk[参数]
挂载文件系统,使用权威超级用户或者‘/etc/fstab’中允许的使用者:
格式:mount [--参数][设备名称][挂载点]
-a:安装在/etc/fstab文件列出的所有文件系统;
-l:列出当前已挂载的设备,文件系统名称和挂载点;
-o:指定挂载选项,如“-o nolock”表示禁用锁定,ro表示只读方式,loop表示把挂载的设备当成是一个磁盘分区;
-t:<文件系统类型>指定设备的文件系统类型;
ext2 Linux目前常用的文件系统
Msdos:MS-DOS的fat16;
Vfat:windows98常用的fat32;
Nfs:网络文件系统;
iso9660: CD-ROM光盘标准文件系统;
Auto:windows NT/2000/XP的文件系统;
Ntfs:自动检测文件系统。

进入设备dev目录:cd /dev
查看设备情况:ls -l




编写一个Shell程序,呈现一个菜单,有0-5共6个命令选项,
1为挂载U盘;
2为卸载U盘;
3为显示U盘的信息;
4把硬盘中的文件拷贝到U盘;
5把U盘中的文件拷贝到硬盘中;
选0为退出。
代码实现
- #!/bin/bash
-
- mountusb(){
- clear
- mkdir -p /mnt/usb
- fdisk -l | grep /dev/sd
- echo -e "Please Enter the device name of usb as shown above:\c"
- read PARAMETER
- mount /dev/$PARAMETER /mnt/usb
- echo "successfully mount!"
- }
提示:fdisk -l | grep /dev/sd:表示查看分区,并将结果通过管道“|”的方式作为grep的输入,使用grep查看/dev/目录以sd开头的文件。
- umountusb(){
- clear
- umount /mnt/usb
- echo "successfully umount!"
- }
- display(){
- clear
- ls -la /mnt/usb
- }
-
- cpdisktousb(){
- clear
- echo -e"Please Enter filename to be Copide(number Current director):\c"
- read FILE
- echo "Copying please wait..."
- cp $FILE /mnt/usb
- }
提示:这里的 cp $FILE /mnt/usb:表示将文件从硬盘复制到U盘中。
- cpusbtodisk(){
- clear
- echo -e "Please Enter the filename to be Copide in USB:\c"
- read FILE
- echo "Copying ,Please wait..."
- cp /mnt/usb/$FILE .
- }
提示:注意这里的cp /mnt/usb/$FILE .(注意这里的点)表示从U盘中复制文件到当前目录下。
- quit(){
- clear
- echo "************************8"
- echo"*** thank you to use ,Good bye! ***"
- exit 0
- }
- clear
- while true
- do
- echo "============================="
- echo "*** LINUX USB MANAGE PROGRAM ***"
- echo " 1-MOUNT USB"
- echo " 2-UNMOUNT USB"
- echo " 3-DISPLEAY USB INFORMATION"
- echo " 4-COPYFILE IN DISK TO USB"
- echo " 5-COPY FILE IN USB TO DISK"
- echo " 0-EXIT"
- echo "============================"
- echo -e "Please Enter a Choice (0-5):\c"
-
- read CHOICE
-
- case $CHOICE in
- 1)
- mountusb
- ;;
- 2)
- umountusb
- ;;
- 3)
- display
- ;;
- 4)
- cpdisktousb
- ;;
- 5)
- cpusbtodisk
- ;;
- 0)
- quit
- ;;
- *)
- echo "Invalid Choice Corrent Choice is(0-5)"
- sleep 4
- clear
- continue
- ;;
-
- esac
- done
第一步:挂载U盘


第二步:查看U盘文件

第三步:从硬盘复制文件到U盘


查看文件是否复制成功到U盘:

第四步:从U盘复制文件到硬盘



