一.通過給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