一.通过给linux下的设备管理服务udev添加规则配置文件,可以实现命令行下USB存储设备自动挂载
输入命令:
sudo nano /etc/udev/rules.d/10-usbstorage.rules
复制粘贴这个脚本到编辑窗口
KERNEL!="sd*", GOTO="media_by_label_auto_mount_end" SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end" IMPORT{program}="/sbin/blkid -o udev -p %N" ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end" ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k" ACTION=="add", ENV{mount_options}="relatime,sync" ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umask=000" ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E {dir_name}" ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" LABEL="media_by_label_auto_mount_end"
保存退出,再次插入usb存储设备 会自动挂载到/media目录下面的目录 并且支持utf8格式的中文文件名。
说明:
命令格式:mount [-t vfstype] [-o options] device dir 其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
2.-o options 主要用来描述设备或档案的挂载方式。常用的参数有:
loop:用来把一个文件当成硬盘分区挂载上系统
ro:采用只读方式挂载设备
rw:采用读写方式挂载设备
iocharset:指定访问文件系统所用字符集
3.device 要挂载(mount)的设备。
4.dir设备在系统上的挂载点(mount point)。
umask=0000 0 0
前面四个0就是对所有人,可读可写可执行,
后面两个0,第一个代表dump,0是不备份
第二个代表fsck检查的顺序,0表示不检查
二.通过/etc/fstab 自动挂载SD卡的第三个分区
sudo mkdir /media/usb sudo nano /etc/fstab
添加
/dev/mmcblk0p3 /media/usb ext4 defaults 0 0
说明:
第一项是您想要mount的储存装置的实体位置,如hdb或/dev/sda1。
第二项就是您想要将其加入至哪个目录位置,如/home或/,这其实就是在安装时提示的挂入点。
第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如ext2,可以参见/prco/filesystems说明。
第四项就是您mount时,所要设定的状态,如ro(只读)或defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。
第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。
第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。
三.手动挂载U盘 (FAT32)
插入U盘之前,应先用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
sudo fdisk -l
插入U盘后,再用fdisk –l 或 more /proc/partitions查看系统的硬盘和硬盘分区情况。
sudo fdisk -l
系统多了一个SCSI硬盘/dev/sda和一个磁盘分区/dev/sda1,/dev/sda1就是我们要挂载的U盘。
sudo mkdir -p /mnt/usb
注:建立一个目录用来作挂载点(mount point)
sudo mount -t vfat /dev/sda1 /mnt/usb
注:现在可以通过/mnt/usb来访问U盘了, 若汉字文件名显示为乱码或不显示,可以使用下面的命令。
sudo mount -t vfat -o iocharset=cp936 /dev/sda1 /mnt/usb
注:对ntfs格式的磁盘分区应使用-t ntfs 参数,对fat32格式的磁盘分区应使用-t vfat参数
对于ext2、ext3、ext4格式,使用下面的命令直接挂载即可:
sudo mount /dev/sda1 /mnt/usb
四.光盘镜像文件的挂载(mount)
sudo mkdir /mnt/vcdrom
注:建立一个目录用来作挂载点(mount point)
sudo mount -o loop -t iso9660 ~/mydisk.iso /mnt/vcdrom
注:使用/mnt/vcdrom就可以访问盘镜像文件mydisk.iso里的所有文件了。
五.挂载Windows文件共享
Windows网络共享的核心是SMB/CIFS,在linux下要挂载(mount)windows的磁盘共享,就必须安装cifs-utils软件包。
sudo apt-get install cifs-utils
当windows系统共享设置好以后,就可以在linux客户端挂载(mount)了,具体操作如下:
sudo mkdir –p /mnt/samba
注:建立一个目录用来作挂载点(mount point)
mount -t cifs -o codepage=cp936 //ip地址或计算机名/共享文件夹名 挂载点
sudo mount -t cifs -o username=administrator,password=xxx //192.168.1.100/gongxiang /mnt/samba
注:administrator 和 xxx 是ip地址为192.168.1.100 windows计算机的一个用户名和密码,//192.168.1.100/gongxiang是这台计算机的一个共享文件夹的全路径,如此就可以在linux系统上通过/mnt/samba来访问windows系统磁盘上的文件了。
注:查看windows共享文件夹
打开命令提示符:开始→搜索框(运行)键入cmd,然后键入:net share
出现如下的提示,里面的第一列 gongxiang 或者 C$ 等就是共享文件夹的路径
注:fatab挂载samba网络共享文件夹 ,在/etc/fstab中添加:
//192.168.1.100/gongxiang /mnt/samba cifs username=administrator,password=xxx 0 0
六.挂载UNIX系统NFS文件共享
类似于windows的网络共享,UNIX(Linux)系统也有自己的网络共享,那就是NFS(网络文件系统)。在linux客户端挂载(mount)NFS磁盘共享之前,必须先配置好NFS服务端。
1、Ubuntu 12.04 系统NFS服务端配置方法如下:
sudo apt-get install nfs-kernel-server
打开/etc/exports文件,在末尾加入:
/home/knat/nfs *(rw,sync,no_root_squash)
注:nfs允许挂载的目录及权限,在文件/etc/exports中进行定义,各字段含义如下:
/home/knat/nfs:要共享的目录
* :允许挂载此共享linux客户机的IP地址或主机名。*表示允许所有的网段访问
rw :读写权限
sync:资料同步写入内在和硬盘
no_root_squash:nfs客户端共享目录使用者权限
重启服务:
sudo /etc/init.d/portmap restart <---重启portmap, sudo /etc/init.d/nfs-kernel-server restart <---重启nfs服务 showmount -e <---显示共享出的目录。
2、linux客户端树莓派上挂载(mount)其他linux系统或UNIX系统的NFS共享
sudo mkdir –p /mnt/nfs
注:建立一个目录用来作挂载点(mount point)
sudo mount -t nfs -o nolock 192.168.1.166:/home/knat/nfs /mnt/nfs
注:这里192.168.1.166是NFS服务端(Ubuntu 12.04 )的主机IP地址(用ifconfig命令查看),当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/home/knat/nfs为服务端共享的目录。
注:fatab挂载NFS网络共享文件夹 ,在/etc/fstab中添加:
192.168.1.166:/home/knat/nfs /mnt/nfs nfs nolock 0 0