挂载与卸载

一、Linux中的硬件设备号
     设 备          设 备 号
    IDE硬盘         /dev/hd[a-d]   (并行硬盘)
    SCSI硬盘        /dev/sd[a-p]   (串行硬盘)
    U盘             /dev/sd[a-p]
    光驱            /dev/cdrom
    软驱            /dev/fd[0-1]
    打印机          /dev/lp[0-2]
    鼠标            /dev/mouse
    LCD             /dev/fb0
    系统终端        /dev/tty0
 
 例如:
 <1>当插入第一个U盘时,它的设备号为sda1
    当插入第二个U盘时,它的设备号为sdb1
 <2>当插入第一个硬盘时,它的设备号为hda1
    当插入第二个硬盘时,它的设备号为hdb1

   
二、设备的挂载
    例程:将U盘插入ARM开发板
    在Linux系统中,设备在上层都被映射为设备文件,比如IDE硬盘被映射为设备文件/dev/hda1,U盘被映射为设备文件/dev/sda1.如果用户直接访问这些设备文件,则得到的一堆二进制代码.所以,为了方便用户的使用,Linux规定,必须将该设备文件挂载到某一目录下(常用的是/mnt目录),用户对该目录(比如/mnt目录)的操作(读/写)就是对设备文件的操作,也就是对设备的操作.当然,在实际应用中,常在/mnt目录下新建一子目录,比如hdisk(IDE硬盘)、udisk(U盘),然后将设备文件挂载到该子目录下.
    步骤1:将相应的文件系统烧入ARM开发板,以支持USB设备等.
    步骤2:插入U盘,此时在ARM开发板的终端(putty软件或超级终端)上会显示该U盘的相应信息,最重要的是U盘的设备文件名.
          当插入第一个U盘时,该U盘的设备文件名为/dev/sda1.
          当插入第二个U盘时,该U盘的设备文件名为/dev/sdb1.
    步骤3:在putty软件(或超级终端)下输入命令:
          [root@localhost /]#cd /mnt
          [root@localhost mnt]#mkdir udisk
          这样,就在/mnt目录下新建一子目录udisk.
          注意,在putty软件(或超级终端)下输入命令是对ARM开发板进行操作,也就是操作ARM开发板内的文件系统.切记不要再Linux虚拟机下操作.因为现在是将U盘挂载到ARM开发板上,而不是Linux虚拟机,所以,必须对ARM开发板进行操作.
    步骤4:在putty软件(或超级终端)下输入命令:
          [root@localhost /]#mount -t -vfat /dev/sda1 /mnt/udisk
          这样,就成功的将U盘的设备文件/dev/sda1挂载到了ARM开发板的/mnt/udisk目录下,且以fat格式进行挂载.当用户需要访问U盘时,可以通过对文件/mnt/udisk而实现.
    注意,U盘多采用fat格式的文件系统.
    步骤5:在putty软件(或超级终端)下输入命令:
          [root@localhost udisk]#cd ..
          这样就退出了udisk目录.
          [root@localhost udisk]#umount /mnt/udisk
    这样就成功的卸载了U盘(卸载U盘前,需要先退出/mnt/udisk目录).
   
三、文件的挂载
    例程:将Linux虚拟机的/home/lishuai目录挂载到ARM系统的/mnt/arm_linux文件下
    步骤1:将相应的文件系统烧入ARM开发板.
    步骤2:在Linux虚拟机上建立NFS服务器,并将/home/lishuai目录作为共享目录,且设置的主机IP地址为192.168.0.*.
    步骤3:<1>在Linux虚拟机终端上通过ifconfig命令设置IP地址为:192.168.0.20,并通过ifconfig命令查询IP地址.
          <2>在Windows的网上邻居设置IP地址为:192.168.0.40,并通过"运行>cmd>ipconfig"命令查询IP地址.
          <3>在putty软件或超级终端上通过ifconfig命令设置ARM开发板IP地址为:192.168.0.60,子网掩码为255.255.255.0(#ifconfig eth0 192.168.0.60 netmask 255.255.255.0)并通过ifconfig eth0命令查询IP地址.
    这样,Windows、Linux虚拟机、ARM开发板就在同一网段上了.
    步骤4:在putty软件或超级终端上输入命令:
          #ping 192.168.0.20      //查看ARM开发板能否ping通Linux主机
          #ping 192.168.0.40      //查看ARM开发板能否ping通Windows
    步骤5:在putty软件或超级终端上输入命令:
         [root@localhost /]#cd /mnt
         [root@localhost mnt]#mkdir arm_linux
         这样,就在ARM开发板的文件系统中/mnt下新建了一子目录arm_linux.
    步骤6:在putty软件或超级终端上输入命令:
         #mount -o nolock,wsize=1024,rsize=1024 192.168.0.20:/home/lishuai /mnt/arm_linux

          这样就将IP地址为192.168.0.20(Linux虚拟机)下的/home/lishuai挂载到(ARM系统)的/mnt/arm_linux目录下.
    注释:
        <1>若在putty软件或超级终端上输入上面的挂载命令,表示用户对ARM系统进行操作.由于ARM内已烧入了文件系统,故/mnt/arm_linux是ARM内文件系统的一个目录.因此,当用户执行该命令时,表示是将IP地址为192.168.0.20的/home/lishuai挂载到(ARM系统)的/mnt/arm_linux目录下.因此,当用户需要在ARM系统下对Linux虚拟机的/home/lishuai目录进行操作时,直接对/mnt/arm_linux目录操作便可以了.
          此时,在putty软件或超级终端上输入命令:#cd /home,但却找不到lishuai这个目录,这是因为在在putty软件或超级终端上执行cd命令时,是对ARM系统的访问.而不是对Linux主机进行访问,虽然ARM系统已烧入了文件系统,但/home目录下未必有lishuai这个目录.
        <2>若在Linux虚拟机的终端上输入上面的挂载命令,表示用户对Linux主机进行操作.当然在Linux主机内已有相应的文件系统.故/mnt/arm_linux是Linux主机的一个目录.因此,当用户执行该命令时,表示将IP地址为192.168.0.20的/home/lishuai挂载到Linux主机的/mnt/arm_linux目录下.因此,当用户需要在Linux主机下对IP地址为192.168.0.20的设备的/home/lishuai目录进行操作时,直接对/mnt/arm_linux目录操作便可以了.
    从上面的描述可以看出,执行的对象不同,实现的挂载目的也不同.
   
四、对设备挂载、文件挂载的综合实现
    例程:将Windows下的某个文件通过ARM开发板放入U盘
    步骤1:通过Samba服务器将Windows下的文件hehe.txt放入(linux与Windows的)共享目录/home/lishuai内.
    步骤2:通过NFS服务器将Linux主机的/home/lishuai目录挂载到ARM开发板的/mnt/arm_linux目录下.
          在putty软件或超级终端上输入命令:
          #mount -o nolock,wsize=1024,rsize=1024 192.168.0.20:/home/lishuai /mnt/arm_linux
    步骤3:将U盘挂载到ARM开发板的/mnt/udisk目录下.
          在putty软件或超级终端上输入命令:
          #mount -t -vfat /dev/sda1 /mnt/udisk
    步骤4:在putty软件或超级终端上输入命令:
          #cd /mnt/udisk
          #cp ../arm_linux/hehe.txt ./
    这样就实现了将Windows下的某个文件通过ARM开发板放入U盘的目的.
 步骤5:卸载U盘和Linux虚拟机的/home/lishuai目录.
       在putty软件或超级终端上输入命令:
       [root@localhost udisk]#cd ..
       [root@localhost mnt]#umount /mnt/arm_linux
       [root@localhost mnt]#umount /mnt/udisk
 
五、设备号的另类应用
 1.配置linux主机IP地址:192.168.220.54
 2.配置ARM开发板IP地址:192.168.220.1
 3.配置Windows的IP地址:192.168.220.55
 4.在putty软件或超级终端下:#ping 192.168.220.54
 5.将linux主机的/home/lishuai目录挂载到ARM开发板的/mnt/arm_linux目录下:
   #mount -o nolock,wsize=1024,rsize=1024192.168.220.54:/home/lishuai /mnt/arm_linux
 6.在linux主机的/home/lishuai目录下创建hehe.c源码.
   #vim hehe.c
   #include <stdio.h>
   int main(void)
   {
      printf("hello embeded!/n");
      return 0;
   }
 7.在linux主机的/home/lishuai目录下使用arm-linux-gcc编译hehe.c(为了在ARM平台上运行,必须使用arm-linux-gcc编译器).
   #arm-linux-gcc hehe.c -o hehe.arm
   编译成功后,在putty软件或超级终端下的/mnt/arm_linux目录下会新产生一个hehe.arm的可执行文件.由此看出,linux主机的/home/lishuai与ARM开发板的/mnt/arm_linux目录是同步更新的.
 8.在putty软件或超级终端下:
   #./hehe.arm > /dev/tty0      //将hehe.arm执行结果打印到LCD上
   #clear      > /dev/tty0      //清屏
   #ls         > /dev/tty0      //将显示出当前路径(/mnt/arm_linux)下的文件和目录
 
Attention!!!
(1)通常向LCD上写这些重定向,是写到tty0,而不是fb0.
(2)使用NFS实现文件挂载时,必须保证下面几点.
   <1>linux主机的NFS服务器正常使用.
      若有问题,可通过指令重启服务器:#service nfs restart
      或查询服务器状态:#service nfs status
   <2>Windows、linux主机和ARM开发板的IP地址在同一网段内,且通过ARM开发板可以ping通另外两个设备.因为文件挂载是通过网络实现的.
(3)在实际的嵌入式开发中,常常无法将Linux主机的某个目录挂载到ARM开发板上,此时可以从以下三个方面着手:
   <1>由于这种挂载依赖于NFS服务器,因此可以查询NFS服务器的状态,或者重启NFS服务器.
      #service nfs restart
      #service nfs status
   <2>重新配置Linux虚拟机的IP地址.这种挂载基于ARM开发板、Linux主机和Windows网卡在同一网段上,有时相互之间ping通但却无法挂载.
   <3>在Linux主机内输入命令来查看Linux主机是否能挂载自己.
      #ifconfig eth0 192.168.0.50
      #mount -o nolock 192.168.0.50:/home/lishuai /mnt
      //将Linux主机的/home/lishuai目录挂载到本机的/mnt目录下
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux中,要挂载U盘,可以按照以下步骤操作: 1. 插入U盘,等待系统自动检测并识别。 2. 打开终端,输入命令“sudo fdisk -l”,查看U盘的设备名,通常为/dev/sdb1。 3. 创建一个挂载点,例如在/home/user目录下创建一个名为usb的文件夹,命令为“sudo mkdir /home/user/usb”。 4. 使用命令“sudo mount /dev/sdb1 /home/user/usb”将U盘挂载到刚才创建的挂载点上。 5. 挂载完成后,可以使用命令“df -h”查看挂载情况。 要卸载U盘,可以按照以下步骤操作: 1. 在终端中输入命令“sudo umount /dev/sdb1”,将U盘从挂载点上卸载。 2. 拔出U盘。 ### 回答2: Linux作为一款开放源代码的操作系统,具有很强的可定制性与易使用性。在Linux系统中,我们经常需要使用U盘来进行文件传输或者系统安装等操作。下面,以Ubuntu系统为例,详细介绍如何挂载卸载U盘。 一、U盘挂载 当你连接U盘时,Linux系统会自动检测到U盘设备并自动挂载到特定的挂载点上,一般为/mnt或/media目录下的一个以U盘名称为命名的子目录。如果系统未自动挂载U盘,可以通过手动挂载的方式实现。 手动挂载U盘的命令格式为:mount [option] [device_name] [mount_point] 其中,option为挂载选项,device_name为U盘设备名称,mount_point为挂载点。下面举例说明: 1. 查找U盘设备名称: 可以通过以下命令查看可用设备信息:sudo fdisk -l U盘设备名称一般为/dev/sd*格式,*为字母,如/dev/sdb1 2. 创建挂载点 可以在目录/mnt或/media下创建一个以U盘名称为命名的子目录,作为挂载点。如:sudo mkdir /mnt/usb 3. 挂载U盘 执行以下命令进行挂载:sudo mount /dev/sdb1 /mnt/usb 此时,U盘就已经挂载到了/mnt/usb目录下,可以在该目录下进行文件操作。 二、U盘卸载 在使用U盘后,需要将其卸载掉,以保证文件操作安全。卸载命令为:umount [mount_point] 其中,mount_point为挂载点。以下是具体操作: 1. 首先需要退出U盘中所有文件及相关程序,确保U盘不被系统占用。 2. 终端中输入umount /dev/sdb1(或被挂载的目录),卸载u盘。此时U盘中的文件已经保存在U盘中,可以拔出U盘。 总结: 通过上述操作,可以轻松地实现在Linux系统中对U盘的挂载卸载,通过命令行进行操作,更加便于控制和管理。值得注意的是,在操作时需要格外小心,特别是在卸载操作之前一定要确保U盘中所有程序都已关闭,否则可能会造成文件丢失的风险。 ### 回答3: Linux系统是一个开放的操作系统,常用于服务器和桌面电脑。在使用Linux系统时,经常需要对U盘进行挂载卸载,因为U盘是一个便携式存储设备,可以方便的传输文件和数据。下面我们来介绍一下Linux中U盘挂载卸载的方法。 U盘挂载 Linux系统中的每个设备都有一个设备名,U盘通常显示为/dev/sdX,其中X是一个字母,通常是a、b、c等等,表示每个设备的编号。当你插入U盘时,系统会自动检测并分配一个设备名。如果需要将U盘挂载到系统上,可以按以下步骤操作: 1. 确定U盘的设备名 在终端中输入命令: fdisk -l 这个命令会列出系统中所有的设备,也包括U盘。 2. 创建一个挂载点 在Linux的文件系统中,所有的设备都需要挂载到一个文件夹中,这个文件夹就是挂载点。可以使用mkdir命令在/root目录下创建一个文件夹,命名为usb: mkdir /root/usb 3. 挂载U盘到挂载点 使用以下命令将U盘挂载到usb文件夹: mount /dev/sdX /root/usb 如果U盘已经有文件系统,系统会自动识别并挂载。如果U盘没有文件系统,需要使用mkfs命令创建文件系统,再进行挂载。 4. 测试挂载 挂载完成后,可以在/usb目录下查看并修改文件,如果文件的变化可以同步到U盘中,就说明挂载成功了。 U盘卸载 在使用U盘后,需要将它卸载掉,卸载的目的是为了保证文件的完整性和安全性,并确保数据已经被写入U盘。卸载U盘的方法如下: 1. 先退出/usb目录 2. 输入以下命令: umount /dev/sdX 系统会自动卸载U盘,并在终端提示U盘已被卸载。 总结 Linux中可以通过挂载卸载U盘进行文件传输和数据存储,该过程需要注意设备名和挂载点的设置,以及挂载状态的检查,正确操作可以保证数据的完整性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值