文件系统管理
挂载
挂载 相当于分配盘符,把硬件与文件夹联系起来,这样就可以去挂载点(挂载路径文件夹)访问硬件(光盘、硬盘、U盘等)里面的数据了。
和Windows是一样的原理,只不过Windows是自动分配盘符,Linux要自己手动分配而已。
挂载点:一个空的目录就可以(系统在根目录下给了两个默认的挂载点目录)
挂载命令格式
[root@localhost ~]# mount [-t文件系统][-L卷标名]l[-o特殊选项]设备文件名挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统
-L 卷标名:挂载指定卷标的分区,而不是安装设备文件名挂载
-О 特殊选项:可以指定挂载的额外选项
参数 | 说明 |
---|---|
atime/noatime | 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新 |
async/sync | 异步/同步,默认为异步 |
auto/noauto | 自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动 |
defaults | 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项 |
exec/noexec | 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许 |
remount | 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限 |
rw/ro | 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw |
suid/nosuid | 具有不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有 |
user/nouser | 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区 |
usrquota | 写入代表文件系统支持用户磁盘配额,默认不支持 |
grpquota | 写入代表文件系统支持组磁盘配额,默认不支持 |
挂载光盘
[root@ localhost ~-]# mkdir /mnt/cdrom
#建立挂载点
[root@ localhost ~-]# mount -t iso9660 /dev/cdrom /mntcdrom
#挂载光盘
[root@ localhost ~-]# mount /dev/sr0 /mntcdrom/
光盘硬件文件名固定:/dev/sr0或者/dev/cdrom(cdrom即sr0,只不过是软连接而已)
文件系统:iso9660
挂载U盘
#查看U盘设备文件名
[root@ localhost ~-]# fdisk -l
[rootalocalhost ~]# mount -t vfat /devlsdbl /mnt/usb/
注意:Linux默认是不支持NTFS文件系统的
- U盘硬件文件名不固定:先用fdisk –l 命令查询硬件文件名
- 文件系统:fat 、fat16分区识别为fat,fat32分区识别为vfat
卸载挂载点
Linux中的卸载挂载点相当于Windows中把硬件(光盘、硬盘、U盘等)拔出。
注意:卸载挂载点时,当前目录不要为挂载目录,否则相当于当前正在使用硬件,正在使用肯定就卸载不了啦
卸载命令
[root@localhost~]# umount 设备文件名或挂载点
[root@localhost ~]# umount /mnt/cdrom
如何使Linux支持NTFS文件系统
- 1、加载驱动重新编译Linux内核
- 2、使用第三方软件(如通过NTFS—3G)
1、下载NTFS-3G插件
http://www.tuxera.com/community/ntfs-3g-download/
2、安装NTFS-3G
#解压
[root@ localhost~-]# tar -zxvf ntfs-3g_ntfsprogs-2013.1.13.tgz
#进入解压目录
[root@ localhost ~-]# cd ntfs-3g_ntfsprogs-2013.1.13
#编i译器准备。没有指定安装目录,安装到默认位置中
[root@ localhost ntfs-3g_ntfsprogs-2013.1.13]# ./configure
#编译
[root@localhost ntfs-3g_ntfsprogs-2013.1.13]# make
#编译安装
[root@ localhost ntfs-3g_ntfsprogs-2013.1.13]# make install
3、使用
[root@localhost --]# mount -t ntfs-3g 分区设备文件名挂载点
Fdisk手工分区
1、fdisk命令分区过程
- 查看分区:fdisk -l
- 手工分区:fdisk 硬件目录
# 分区命令,输入命令回车进入分区操作
fdish /dev/sdb
查看帮助:m
新建分区:n
p:主分区
e:扩展分区
l:逻辑分区
注意:想要建立逻辑分区必须先建立扩展分区,必须保存退出才能生效
保存退出:w
有时候会说分区表被占用必须重启才可以继续,这时可用partprobe重新强制读取一下分区表信息
# 重新读取分区表信息
[root@localhost~]# partprobe
格式化分区
- 1、格式化:把数据块大小定义生成的大小(分区相当于做柜子时的图纸,格式化
- 2、相当于把柜子做出来并分成相应的隔层)
- 扩展分区不能被格式化
# 格式化分|区
[root@localhost ~]# mkfs -t ext4 /dev/sdb1
建立挂载点并挂载分区
- 1、完成后硬盘就可以用了
- 2、想知道是否已经挂载可用mount和df命令查看
- 3、此时的挂载为本次有效而已,每重启需要重新挂载,要解决这问题可以用分区自动挂载。
2、分区自动挂载与fstab文件修复
1、要自动挂载归根结底是要写入/etc/fstab文件,写入时要注意写正确,不然容易导致系统崩溃。
letc/fstab文件
位置 | 说明 |
---|---|
第一字段 | 分区设备文件名或UUID(硬盘通用唯一识别码) |
第二字段 | 挂载点 |
第三字段 | 文件系统名称第四字段:挂载参数 |
第五字段 | 指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份 |
第六字段 | 指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,那么当然1的优先级比2高 |
例子:/etc/fstab文件内容,对应六个字段。
UUID=d239f2fs-d23e-be97-23e23232add3 / et4 defaults 1 2
例子:把挂载的分区写入/etc/fstab文件
# 分区自动挂载
[root@localhost ~]# vi/etc/fstab
...省略部分输出...
/dev/sdb1 /disk1 ext4 defaults 1 2
2、写入后最好把/etc/fstab文件中写入的分区通过mount -a都自动挂载一遍,不报错说明修改正确,以防万一修改时输错了,重启的时候,系统找不到文件或者硬件导致系统崩溃。
#依据配置文件/etclfstab的内容,自动挂载
[root@localhost ~]# mount -a
3、/etc/fstab文件确实不小心写错了,造成系统崩溃时就需要fstab文件修复了。重启时可以看到该文件会报错,此时还可以通过root密码登录,但是无法对该文件进行修改写入,这时可以通过重挂载命令修改根目录的读写权限,然后再去把/etc/fstab文件内容修改正确就可以修复
# /etc/fstab文件修复
[root@localhost ~]# mount -o remount,rw /
注意:该方式修复不是万能的,只用在该文件报错的情况下可用,如果把根分区的写错了,重启时连报错都不给你。