文件系统管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件系统管理相关的知识,希望对你有一定的参考价值。

[TOC]

------
# 挂载

>  将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为称之为挂载

### 挂载方法 mount

```
mount DEVICE MOUNT_POINT
mount:通过查看/etc/mtab文件显示当前系统已挂载的所有设备
mount [-fnrsvw] [-t vfstype] [-o options] device dir
device:指明要挂载的设备;
(1) 设备文件:例如/dev/sda5
(2) 卷标:-L ‘LABEL‘, 例如 -L ‘MYDATA‘
(3) UUID, -U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
(4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
dir:挂载点
事先存在;建议使用空目录;
进程正在使用中的设备无法被卸载;

常用命令选项:
-t vsftype:指定要挂载的设备上的文件系统类型;可以不指定,会调用blkid调用
-r: readonly,只读挂载;
-w: read and write, 读写挂载;
-n: 不更新/etc/mtab;  文件挂载、卸载默认会更新该文件 . mount命令,调用该文件显示。但是内核可通过/proc/mounts查看到该挂载。所以mount显示不一定会最准确的。
-a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
-L ‘LABEL‘: 以卷标指定挂载设备;
-U ‘UUID‘: 以UUID指定要挂载的设备;
-B, --bind: 绑定目录到另一个目录上;

注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts

-o options:(挂载文件系统的选项)  前面是命令选项,后面是文件系统启用或禁用的特性选项。
async:异步模式;
sync:同步模式;
atime/noatime:包含目录和文件的时间戳
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载
exec/noexec:是否支持将文件系统上应用程序运行为进程
dev/nodev:是否支持在此文件系统上使用设备文件;
suid/nosuid:
remount:重新挂载,mount -o remount,ro /mydata,重新挂载,设置为RO
ro:只读
rw: 读写
user/nouser:是否允许普通用户挂载此设备
acl:启用此文件系统上的acl功能,(访问控制列表,centos6默认关闭,centos默认开启)

注意:上述选项可多个同时使用,彼此使用逗号分隔;
 默认挂载选项:defaults
  rw, suid, dev, exec, auto, nouser, and async
```

------
# 卸载

> 解除此关联关系的过程称之为卸载

### 卸载命令 umount

```
卸载命令:
# umount DEVICE
# umount MOUNT_POINT

查看正在访问指定文件系统的进程:
# fuser -v MOUNT_POINT

[[email protected] ~]# mount /dev/sdb9 /tmp
[[email protected] ~]# umount /tmp
umount: /tmp: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[[email protected] ~]# fuser -v /tmp
                     USER        PID ACCESS COMMAND
/tmp:                root       5797 ..c.. bash

终止所有在正访问指定的文件系统的进程:
# fuser -km MOUNT_POINT
管理员才有此权限

[[email protected] ~]# fuser -km /tmp
/tmp:                 5797c
[[email protected] ~]# umount /tmp

```
------
# 挂载交换分区

### swapon/swapoff

```
启用:swapon
swapon [OPTION]... [DEVICE]
-a:激活所有的交换分区;
-p PRIORITY:指定优先级;
#如果有性能好的,设为高优先级。 或者位于不同的磁盘,负载均衡,提高性能。同一个磁盘是伪均衡
禁用:swapoff [OPTION]... [DEVICE]
使用free查看空间。 正式尽量不要使用,没有使用必要。
```

-----
# 挂载配置文件
> 文件挂载的配置文件:/etc/fstab
> 每行定义一个要挂载的文件系统;根以外的文件系统,辅助系统。
```
要挂载的设备或伪文件系统 挂载点 文件系统类型   挂载选项 转储频率   自检次序

要挂载的设备或伪文件系统:
设备文件、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称(proc, sysfs)

挂载选项:
defaults

转储频率:(很少用,用其它工具,或计划任务)
0:不做备份
1:每天转储
2:每隔一天转储

自检次序:
0:不自检
1:首先自检;一般只有rootfs才用1;
...
额外挂载的数据不建议开户自检,可能损坏。也不转储

```
> 在fstab文件中添加记录,可实现开机自动挂载。

```
[[email protected] ~]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Wed May 18 10:02:32 2016
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=a8c981b4-f953-430e-b4b4-769f98f89f40 /                       ext4    defaults        1 1
UUID=76ed89c0-305c-45e9-aec2-7734ed87b1e3 /boot                   ext4    defaults        1 2
UUID=348efd32-74c9-444e-892b-b65dc0758efc swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
#/dev/sdb1 /mydata ext4 defaults 0 0
#/dev/sdb6 swap swap defaults 0 0
#/dev/sdb2 /mysdb2 ext4 defaults 0 0

```






以上是关于文件系统管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux文件系统的文件系统

常见的文件系统都有哪些?

Linux里面文件系统都有哪些?

Android 文件系统中添加文件及添加系统属性

docker联合文件系统

操作系统-文件系统文件系统