1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Linux RedHat CentOS 操作系统加载挂载U盘 USB移动硬盘方法

Linux RedHat CentOS 操作系统加载挂载U盘 USB移动硬盘方法

时间:2020-04-29 07:42:53

相关推荐

Linux RedHat CentOS 操作系统加载挂载U盘 USB移动硬盘方法

插上USB存储设备后,先用 fdisk -l 或 parted -l 命令来查询操作系统检测到的磁盘详细列表,

找到插入的设备在系统的代号,如sda1, sda2, sdb1, sd2……然后继续操作如下。

挂载U盘(设定字符集,保证能够正常显示中文)

1、使用命令:fdisk -l,查看系统硬盘和分区情况

2、插入优盘,再次用fdisk -l命令查看 大家可以发现多了一个硬盘/dev/sdb和它的一个分区/dev/sdb13、使用命令:mkdir -p /mnt/usb,在mnt目录下创建目录usb来作挂接点4、进行挂载,使用命令:mount -o iocharset=cp936 /dev/sdb1 /mnt/usb 其中,-o iocharset是设定字符集,保证能够正常显示中文5、已成功挂载,可以使用命令:ls /mnt/usb进行查看。挂载移动硬盘和优盘完全一样6、解除挂载,目的是避免损坏或丢失数据,使用命令:umount /dev/sdb1

关于mount中文显示乱码的问题

当我用命令

mount -t vfat /dev/hda7 /mnt/fat 时候,里面出现乱码,经上网查证,这是因为字符集的问题,解决方法:

mount -t vfat -o iocharset=gb2312 或者

mount -t vfat -o iocharset=cp936 或者

mount -t vfat -o iocharset=utf8

经测试 发现 在前两个(gb2312和cp936)下,中文还是乱码,但utf8则显示正常,

用locale -a 看了一下本地字符集,没有发现gb2312和cp936

挂载U盘(指定U盘文件系统格式fat32格式)

1,以root用户登陆

先加载USB模块 modprobe usb-storage

用fdisk -l 看看U盘的设备

假如U盘是sda1

2,确定在 目录 /mnt 下建立了 文件夹 /usb,如果未建立可键入一下命令:mkdir /mnt/usb_disk,成功后进行下一步。

3,载入 u 盘,需键入以下命令:mount /dev/sda /mnt/usb_disk

针对普通U盘(一般是fat32格式)来讲,挂载方法很简单,将U盘挂载到根目录下的mnt文件夹中命令为:

mount -t vfat /dev/sdb1 /mnt//指定U盘文件系统格式

成功后,即可使用 u 盘了, 文件就在目录 /mnt/usb 下。

4,卸载u盘:在使用完u盘后,在拔出前需要先键入卸载U盘命令

命令如下:umount /mnt/usb

大容量U盘(exfat)

安装fuse-exfat

由于CentOS没有默认支持exfat格式,因此需要添加fuse-exfat。

安装fuse-exfat

可以直接从googlecode上下载安装

yum install subversion scons fuse-devel gccwget /files/fuse-exfat-1.0.1.tar.gzwget /files/exfat-utils-1.0.1.tar.gztar -zxvf fuse-exfat-1.0.1.tar.gz -C /mnt/tar -zxvf exfat-utils-1.0.1.tar.gz -C /mnt/cd /mnt/fuse-exfat-1.0.1/sconsscons installcd /mnt/exfat-utils-1.0.1/sconsscons install

还可以直接下载rpm包进行安装

1. wget /free/el/updates/6/x86_64/exfat-utils-1.0.1-1.el6.x86_64.rpm2. wget /free/el/updates/6/x86_64/exfat-utils-1.0.1-2.el6.x86_64.rpm

这两个里面,“1”是初始包(Initial package),“2”是适合redhat的包(Fix path on RHEL),只用第一个就可以了。

wget /free/el/updates/6/x86_64/fuse-exfat-1.0.1-1.el6.x86_64.rpm

这里与上一个相似,都是两个(一个Initial package,另一个Fix path on RHEL),还是用“1”就可以。

rpm的安装指令常用的几个是

-i 安装 -v 显示信息 -h 显示进度 -u 升级 -e 移除 -q 查看已安装的软件信息 更多详细指令自行--help

一般常用的方法是rpm -ivh xxx.rpm

2. 挂载

有了fuse-exfat后就可以挂载了,挂载命令为

mount.exfat /dev/sdb1 /mnt

或者

mount exfat -t /dev/sdb1 /mnt

(其实都类似)

3. 卸载

卸载的方法是统一的

umount /dev/sdb1

如果要挂载的U盘是NTFS格式呢?首先要安装ntfs-3g

yum install ntfs-3g

之后就可以正常挂载了

mount -t ntfs-3g /dev/sdb1 /mnt

linux系统下如何挂载NTFS移动硬盘

用命令行挂载移动硬盘是Linux的基本操作之一,虽然目前有些Linux系统能自动加载移动硬盘,但有些时候(比如使用Ubuntu Server或其它Linux系统的时候)仍然需要手动操作,下面这篇文章主要介绍了linux系统下如何挂载NTFS移动硬盘,需要的朋友可以参考借鉴。

前言

数据迁移是我们经常会遇到的,有时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,Linux是识别不了NTFS格式移动硬盘的(需要重编译Linux核心才能,加挂NTFS分区),

这时候为了能让Linux服务器能够识别NTFS的移动硬盘,就必须安装ntfs-3g(Third Generation Read/Write NTFS Driver)的包。

一、NTFS-3G介绍

NTFS-3G是一个开源项目,NTFS-3G是为Linux, Android, Mac OS X, FreeBSD, NetBSD, OpenSolaris, QNX, Haiku,和其他操作系统提供的一个稳定的,功能齐全,读写NTFS的驱动程序的。它提供了安全处理Windows XP,Windows Server ,Windows 2000,Windows Vista,Windows Server 和Windows 7操作系统下的NTFS文件系统。NTFS-3g是一个开源软件,它支持在Linux下面读写NTFS格式的分区。它非常的快速,同时也很安全。它支持Windows 2000、XP、和Vista,并且支持所有的符合POSIX标准的磁盘操作。ntfs-3g的目的是为了持续的发展,各硬件平台和操作系统的用户需要可靠的互通与支持ntfs的驱动,ntfs-3g可以提供可信任的、功能丰富的高性能解决方案。经过了多的发展,ntfs-3g已经逐渐稳定;

资料介绍

官方网址:/,文档手册:/community/ntfs-3g-manual/下载地址:/community/ntfs-3g-download/

二、安装与挂载

步骤一:解压安装NTFS-3G。

?

之后系统会提示安装成功,下面就可以用ntfs-3g来实现对NTFS分区的读写了

步骤二:配置挂载NTFS格式的移动硬盘

1. 首先得到NTFS分区的信息

?

2. 设置挂载点,用如下命令实现挂载

?

例如得到的NTFS分区信息为/dev/sdc1,挂载点设置在/mnt/usb下,可以用

?

3. 如果想实现开机自动挂载,可以在/etc/fstab里面添加如下格式语句

?

这样可以实现NTFS分区里中文文件名的显示。

4. 卸载分区可以用umount实现,用

?

总结

以上就是关于linux系统挂载NTFS移动硬盘的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

还有一种修改内核后直接可以操作NTFS格式的方法,由于NTFS这个格式对U盘不好,所以比较适合移动硬盘,如果想要挂载双系统中windows里的硬盘可以参考这个方法,接着介绍:

创建文件夹usb:

命令:mkdir /mnt/usb

命令行挂载U盘: 步骤一:插U盘

命令:cat /proc/partitions

插u盘之前,上述命令cat /proc/partitions,观察现在系统的分区情况;插上u盘后,再次运行上述命令,查看多出来的分区(通常是sda1)。

l步骤二:查看输出结果

命令:fdisk -l /dev/sda

例如:

# fdisk -l /dev/sda

Disk /dev/sda: 131 MB, 131104768 bytes

3 heads, 32 sectors/track, 2667 cylinders

Units = cylinders of 96 * 512 = 49152 bytes

l步骤三:挂载U盘

命令:

mount -t msdos /dev/sdb1 /mnt/usb

fat16:

mount -t msdos /dev/sdb1 /mnt/usb

fat32:

mount -t vfat /dev/sdb1 /mnt/usb

ext2格式:

mount -t ext2 /dev/sda1 /mnt/usb

通过观察上面的输出结果得知U盘所在的设备以及类型(即FAT16),例如我的:/dev/sdb1。

接下来进行挂载操作,假设我们需要将U盘挂载到/mnt/usb目录(PS:没有该目录,使用命令:mkdir /mnt/usb,创建usb文件夹),挂载命令如上

加挂各文件系统详解:

1.FAT32文件系统

自动识别分区的文件系统类型,命令如:mount /dev/hda6 /mnt/d

dev/hda6是笔者Windows的D盘,/mnt/d是目录加挂点。Linux会自动识别到/dev/hda6分区的文件系统类型是什么,然后加挂。

指定分区的文件系统类型,命令如:mount -t vfat /dev/hda6 /mnt/d

PS:在实际操作中,直接加挂一个windows的分区,文件名和目录名如果为中文,则会出现乱码的现象,为了避免这种情况可以指定字符集,命令如下:

mount /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936

mount -t vfat /dev/hda6 /mnt/d -ocodepage=936,iocharset=cp936

注意:cp936是指简体中文,cp950是指繁体中文。

2.NTFS文件系统

在目前多数的Linux版本上,需要重编译Linux核心才能,加挂NTFS分区(编译方法请参阅其它文章)。核心支持NTFS后,可以使用以下命令加挂:

mount -t ntfs /dev/hda2 /mnt/c

PS:对于中文的文件名和目录名仍然会出现乱码的问题,可以指定字符集,不过和加挂vfat分区不同,为了避免这种情况可以指定字符集,命令如下:

mount -t ntfs -o iocharset=cp936 /dev/hda2 /mnt/c –r

mount -t ntfs -o iocharset=cp936,rw /dev/hda2 /mnt/c

3.加挂U盘上的文件系统

Linux对USB设备有很好的支持,插入U盘之后,U盘被识别为一个SCSI盘,通常您用以下命令就能加挂U盘上的文件系统,命令如下:

mount /dev/sda1 /usb

PS:对于乱码现象,解决方式同上,命令类似FAT32的,命令如下:

mount /dev/sda1 /usb -o pagecode=936,iocharset=cp936

4.加挂Linux系统通过samba共享的目录

利用samba共享的目录其实很难分清楚其原来是哪种文件系统,不过这一点并不重要,只要它对用户是透明的就好啦。加挂时,我们指定其类型为smbfs。命令如下:

PS:对于乱码现象,解决方式同上,命令类似FAT32的,命令如下:

mount -t smbfs –o

username=terry,password=terry,codepage=936,iocharset=cp936

//terry-linux/terry /mp3/

mount -t smbfs –o

username=terry,password=terry,codepage=936,iocharset=cp936

//192.168.100.228/terry /mp3/

注意:你可以不直接写password=terry这个参数,系统界时会要你输入密码,这样就可以防止有人直接看到你的密码。视具体情况而定,-o后面的参数可以对应增减。

5.加挂Window系统共享的目录

在局域网中,需要访问其他Windows系统共享的目录,在Linux下,只需要安装samba,就可以使用samba中的命令来访问Windows的共享资源了。

使用smbclient列出Windows的共享资源

smbclient -L 192.168.100.111

根据上面所列出Windows的共享资源,根据需要选择加挂到本地Linux中去的Windows的共享资源,然后使用smbmount或mount来加挂,命令如下:

smbmount //192.168.100.111/public /public/

mount //192.168.100.111/d /mnt/cdrom -o username=terry (在命令行输入密码)

mount //192.168.100.111/d /mnt/cdrom -o username=terry$1234 (

mount //192.168.100.111/d /mnt/cdrom -o username=terry$1234 (

mount //192.168.100.111/d /mnt/cdrom -o username=terry$1234 (

mount //192.168.100.111/d /mnt/cdrom -o username=terry$1234 (不需要在命令行输入密码)

l步骤四:在启动时自动加挂,两种方法:

方法1.

把加挂的命令放在/etc/rc.d/rc.local中。

方法2.

修改分区配置文件/etc/fstab,在启动时加挂文件系统

l步骤五:查看U盘:

命令:

cd /mnt/usb

ls

客户端挂载U盘:
除了上面介绍的采用命令行的方法之外,我们还可以使用其它的客户端,如LinNeighborhood 、networkneighbours、ksmbshare等,这里不做详细介绍,请自行查阅资料。

注意:以上所有命令,必须以root身份才能执行。

linux挂载U盘、移动硬盘后无法更改权限

话说最近在树莓派上搭建了一个owncloud,因为树莓派的存储空间有限,就插了个16G的U盘,然后设置成开机自动挂载。这里稍微注意一下的是U盘的格式最好不要NTFS,因为一般情况下NTFS格式的文件系统linux只具有读的权限。就这样奇怪的事情发生了,U盘挂载之后无法对U盘内的文件更改权限,连超级用户也不行。调了一段时间之后才看到如下文章,转载至此,方便今后查阅。个人建议将外接U盘格式化成ext3,ext4,一了百了。

原文地址:让linux挂载的移动硬盘具有执行权限。

本文试图通过探求达到让linux系统挂载的移动硬盘具有可执行权限之目的的途径来梳理有关linux系统设备挂载、用户和群组、以及文档权限方面的基础知识。

一、提出问题

当插入一个windows分区格式的移动硬盘或者U盘时,linux系统自动挂载该移动硬盘到/media目录下,通过ls -al查看其权限,显示为:drwx------,证明我们可以进入到该盘符目录,但当进一步查看该盘符下的某可执行文件的权限时,发现其为-rw-------,即可以对该文件进行读写操作,但不能执行该文件,通过chmod更改权限也无济于事,此时如何获得执行权限?(再比如在移动硬盘上有一源代码,通过编译产生了目标程序,但是当通过./来执行时,却告知没有权限,同时sudo chmod +x也不起任何作用,在实际工作中遇到这样的情况时,一般可以通过将源码拷贝到linux系统磁盘中进行编译或者将编译好的目标程序拷贝到linux系统的磁盘中再使用chmod更改权限来解决,但有时候这样来回拷贝费时费力,如果能直接让linux系统挂载的移动硬盘具有执行权限就方便多了)

二、linux设备挂载

这一问题涉及到硬盘挂载,首先需要了解linux系统中与磁盘挂载相关的两个系统文件,即/etc/fstab和/etc/mtab,前者是系统分区信息以及系统启动时磁盘的挂载参数,该文件是一个静态文件(系统启动后不再改变,如人为改变,需要重启系统);后者是当前系统中已经挂载的磁盘列表,该文件是一个动态文件,即随系统mount和umount文件系统而随时发生改变,例如当插入U盘时,系统在mtab文件中写入该磁盘的相关信息,当拔下U盘时,系统随之删除mtab文件中有关该磁盘的信息。

fstab文件内容的格式如下:

# /etc/fstab: static file system information.

#

# <file system> <mount point> <type><options><dump> <pass>

……

proc /procproc nodev,noexec,nosuid 0 0

……

mtab文件内容的格式如下:

……

proc /procproc rw,noexec,nosuid,nodev0 0

……

可见fstab和mtab文件中的格式是一样的,都是按照“设备名称—挂载点—分区类型—挂载选项—dump选项—pass选项”的格式组织列表。

1、设备名称是指系统中设备的名称,比如/dev/sda1或/etc/sdb1或/etc/sdc1等,这些设备名称可以通过sudo fdisk -l命令来查看。(上文fstab和mtab文件格式示例中的proc设备是一个虚拟设备,并不在磁盘中真实存在,而仅仅存在于内存中,存储有关进程和系统的信息)

2、挂载点实际上就是为挂载磁盘创建的文件夹,比如./,./usr,和./swap这样的系统默认挂载点,当然我们可以自己使用mkdir创建一个文件夹作为挂载点。

3、分区类型在linux下面有ext2,ext3,ext4,jfs,jfs2,reiserfs,reiser4,swap等,在windows下面有FAT和NTFS等。

4、常用的挂载选项包括:

(1)auto和noauto: auto允许系统自动挂载或使用mount -a就能挂载,fstab默认就是这个选项 ;noauto使系统开机不自动挂载 或使用mount -a时不挂载;(2)rw和ro:rw表示以读写权限挂载该设备,ro表示以只读权限挂载该设备;(3)suid和nosuid:suid表示允许对该设备进行uid和gid的设置操作,nosuid就是不允许设置uid和gid;(4)dev和nodev:dev表示同时挂载文件系统上的特殊设备,nodev表示不挂载这些特殊设备;(5)exc和noexc:exec表示允许执行该文件系统下的二进制文件,noexc当然表示不允许执行二进制文件;(6)user、nouser、users和owner:user允许指定的普通用户挂载该设备,nouser表示禁止普通用户挂载该设备(仅root可以挂载该设备),users表示允许所有普通用户挂载该设备,owner表示仅设备所有者可以挂载。user和users选项同时隐含noexec,nosuid,nodev选项;(7)sync和asnyc:sync表示对该设备的I/O操作同步进行,不进行缓冲处理,而async表示不同步,进行缓冲处理;(8)defaults: 该选项是rw, suid, dev, exec, auto, nouser, and async这些选项的组合。此外,linux系统针对不同的文件系统还可以设定其他特别选项,例如: 对Windows下的NTFS文件系统,可以设置utf8(表示采用UTF-8转换文件名称)、uid=****(挂载设备的指定用户id,可以通过id命令或者查看/etc/passwd文件方式获得)、gid=****(挂载设备的指定用户群组id)和umask=***(挂载设备的权限屏蔽,八进制数值)等, 对Windows下的FAT(包括msdos,umsdos,vfat等)文件系统,可以设置uid=****,gid=****,umask=***,dmask=***(挂载设备时应用于目录的权限屏蔽,八进制数值)和fmask=***(挂载设备时应用于普通文件的权限屏蔽,八进制数值)。更多挂载选项可以参见man mount。

5、dump选项用来设置是否让备份程序dump备份文件系统,0为不备份,1为备份,如果上次用dump备份,将显示备份至今的天数。

6、pass选项,告诉fsck程序在开机时以什么顺序检查文件系统,为0就表示不检查,(./)分区只能是1,其它的分区只能是2,当数字相同就同时检查。

三、linux用户和群组以及权限

了解了上文中所讲的设备挂载,基本已经知道如何在linux下面挂载windows分区格式的移动硬盘了,关键就是设置挂载选项从而获得相应权限。在linux系统中权限设置与用户和群组概念直接相关,比如在上文中使用ls -al命令时,获得的有关权限的信息(10个字符,如drwx------)可以分成四个部分,即目录/文件标识(第1个字符,d表示目录,-表示文件,其他还可以为l,b和c)、所有者权限(第2-4个字符)、所有者所在的用户群组权限(第5-7个字符)以及其他用户权限(最后3个字符)。

权限在linux系统安全性方面具有重要作用,在此不述。权限的表示有两种方式,即字符式和数字式:字符式用如上文中的r、w和x三个字符来分别表示读、写和执行权限,-表示不具有任何权限;而数字式的权限表示方法用4、2、1三个数字分别表示读、写和执行权限,0表示不具有任何权限,用数字式表示文档所有者、群组和其他用户的权限时同一个组的权限需要累加,例如某文档的权限是- rwx rw- ---,则用数字式表示为760。

至此,我们可以回过头去解决问题了,当挂载Windows分区格式的文件系统时,我们可以通过uid=****,gid=****和umask=***/dmask=***/fmask=***来设置权限,uid和gid的设置并不难,直接设置为自己的uid和gid就可以;关于权限mask的设置采用数字式的,同样第一个数字表示所有者的权限mask,第二个数字表示群组的权限mask,第三个数字表示其他用户的权限mask,如果umask=000,就表示不屏蔽任何用户的任何权限,即所有用户具有读、写和执行权限,再例如fmask=033,就表示文档所有者具有读、写和执行权限,而群组和其他用户只具有读取的权限,而屏蔽了权限3(1和2之和)。

四、解决问题

综上,可以在/etc/fstab中添加像下面这样的挂载配置,并重启系统让系统挂载硬盘,从而获得执行权限。

# <file system> <mount point> <type> <options> <dump> <pass>

/dev/sdb1 /media/sdb1ntfs utf8,uid=1000,gid=1000, umask=0000 0

综上所述,关于Linux系统电脑上面装载U盘或USB移动硬盘等设备的问题基本可以解决。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。