首先将U盘插入树莓派
1. lsusb 查看连接的USB设备
image.png
移除后是这样的:
image.png
2. dir /dev/ 可以看到我们的U盘 sda1
image.png
dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。
常见设备文件说明:
/dev/sd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
/dev/loop[0-7]:本地回环设备
/dev/ram[0-15]:内存
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/dev/tty[0-63]:虚拟终端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:并口
/dev/console:控制台
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random:随机数设备
/dev/urandom:随机数设备
/dev目录下的节点是怎么创建的?
devf或者udev会自动帮你创建得。
kobject是sysfs文件系统的基础,udev通过监测、检测sysfs来获取新创建的设备的。
3. 你必须创建一个目录作为挂在点,这里我们用 /home/pi/NAS/nas0
使用命令 mkdir /home/pi/NAS/nas0
image.png
4. ls -l /home/pi/NAS 产看目录权限
image.png
drwxr-xr-x 一共有十位数
image.png
5. 修改权限用 chmod +rwx /home/pi/NAS/nas0
chmod +rwx /home/pi/NAS/nas0
给/home/pi/NAS/nas0的所有用户增加读写执行权限
6.使用mount命令挂载U盘
pi@pi:~ $ sudo mount -o uid=pi,gid=pi /dev/sda1 /home/pi/NAS/nas0
pi@pi:~ $ df -l
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 14628568 3773772 10211496 27% /
devtmpfs 469540 0 469540 0% /dev
tmpfs 474148 0 474148 0% /dev/shm
tmpfs 474148 48960 425188 11% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474148 0 474148 0% /sys/fs/cgroup
/dev/mmcblk0p1 258095 53464 204631 21% /boot
tmpfs 94828 0 94828 0% /run/user/1000
/dev/sda1 30720064 96 30719968 1% /home/pi/NAS/nas0
pi@pi:~ $
7. 使用umount命令即可弹出
pi@pi:~ $ sudo umount /home/pi/NAS/nas0
pi@pi:~ $
pi@pi:~ $ df -l
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 14628568 3773776 10211492 27% /
devtmpfs 469540 0 469540 0% /dev
tmpfs 474148 0 474148 0% /dev/shm
tmpfs 474148 48960 425188 11% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 474148 0 474148 0% /sys/fs/cgroup
/dev/mmcblk0p1 258095 53464 204631 21% /boot
tmpfs 94828 0 94828 0% /run/user/1000
- 以上都是手动挂载非常不方便,下面我们让系统自动挂载,下面是网上找的,这个玩意不能用。不信你试试!!!
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 /home/pi/NAS/%E{dir_name}"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /home/pi/NAS/%E{dir_name}", RUN+="/bin/rmdir /home/pi/NAS/%E{dir_name}"
LABEL="media_by_label_auto_mount_end"
- 这个才是特别的。
sudo nano /etc/rc.local
#一般这样,但是当你拔出换个USB口有时就不能工做了
sudo mount /dev/sda1 /home/pi/NAS
#我们用这个,注意你的先给你的硬盘每个分区弄个独立的名称(Label)例如NAS
sudo mount -L NAS /home/pi/NAS
- 问题来了如何找到硬盘分区的卷标( Label)
pi@pi:~ $ blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="6341-C9E5" TYPE="vfat" PARTUUID="ea7d04d6-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="80571af6-21c9-48a0-9df5-cffb60cf79af" TYPE="ext4" PARTUUID="ea7d04d6-02"
/dev/sda1: LABEL="NAS0" UUID="5C9CBD229CBCF79A" TYPE="ntfs" PARTUUID="fbc98ae3-01"
- 其他有用的命令
ls -l /dev/disk/by-uuid
ls -l /dev/disk
blkid
e2label device [newlabel] 创建设备的标签命令
reiserfs
ls -l /dev/disk/by-uuid
pi@pi:~/Scripts $ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 15 Oct 23 20:44 80571af6-21c9-48a0-9df5-cffb60cf79af -> ../../mmcblk0p2
lrwxrwxrwx 1 root root 10 Oct 24 11:13 BC687CBB687C764C -> ../../sdb1
pi@pi:~/Scripts $ ls -l /dev/disk
total 0
drwxr-xr-x 2 root root 280 Oct 24 11:13 by-id
drwxr-xr-x 2 root root 200 Oct 24 11:13 by-label
drwxr-xr-x 2 root root 220 Oct 24 11:13 by-partuuid
drwxr-xr-x 2 root root 280 Oct 24 11:13 by-path
drwxr-xr-x 2 root root 200 Oct 24 11:13 by-uuid