Linux下访问U盘
(last-edit-by: lgfang 09/08/2006 11:54:28>)
在(Red Hat)linux下使用U盘相关的操作:
用命令fdisk(一般在/sbin下)确定U盘对应于哪个文件(需root权限).
在我机器上运行结果如下(U盘对应于/dev/sda1):
[root@localhost lgfang]# /sbin/fdisk -l /dev/sda
Disk /dev/sda: 131 MB, 131072000 bytes
9 heads, 32 sectors/track, 888 cylinders
Units = cylinders of 288 * 512 = 147456 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 889 127983 b Win95 FAT32
Partition 1 has different physical/logical endings:
phys=(1000, 8, 32) logical=(888, 7, 30)
[root@localhost lgfang]#
mount U盘(需root权限)
如果没有,先在/mnt路径下创建一个空目录.我把它命名为/mnt/usb.
然后再把U盘对应的文件mount到系统中:
[root@localhost lgfang]# mount /dev/sda1 /mnt/usb
关于NTFS
系统可能不支持NTFS格式.一开始,我的U盘是NTFS,
mount时总是报"不支持NTFS格式",最后是切换到windows下把U盘格式化成FAT32的就好了.安装ntfs包(我的机器装的是kernel-ntfs-2.4.20-8.i686.rpm)应该也可以。
关于中文
mount -o iocharset=gb232 /dev/sda1 /mnt/usb
简化操作
sudo
因为U盘(以及光驱)的经常使用,如果每次都要su到root挺烦的,使用sudo可以简化操作.在/etc/sudoers中加入下面两行:
Cmnd_Alias MNT_OUTER_STORAGE=/bin/mount /cdrom,/bin/umount /cdrom,/sbin/fdisk -l
/dev/*,/bin/mount /dev/* /mnt/*,/bin/umount /mnt/*
(上面实际为一行,因排版的缘故分为两行)
ALL ALL=NOPASSWD:MNT_OUTER_STORAGE
这样,任何用户不用su也不用输入root密码就可以mount并读取U盘了,使用时输入命令:sudo
/bin/mount /dev/sda1 /mnt/usb
/etc/fstab
用sudo虽然方便一些,但还是比较费事。如果每次插入,U盘都对应同一个设备文件,可以通过修改/etc/fstab来进一步简化操作。我平常只有U盘会用到USB接口,所以我就是这么做的:在/etc/fstab中加入
/dev/sda1 /mnt/usb auto noauto,user,rw,iocharset=cp936 0 0
这样,每个用户直接
mount /mnt/usb
umount /mnt/usb
就可以了。
如果是工作在gnome桌面上,设置fstab后就更简单了:在桌面上单击右键然后在弹出菜单的驱动器中选定想要的驱动器就自动mount了。用完之后在驱动器图标上再右击选择umount即可。
说明
关于mount,sudo,fstab的具体说明可以看man
page或是到网上搜索。