Linux系统中 /etc/fstab 文件的深入解读

前言

[root@localhost ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sat Nov 3 12:03:31 2018
#
# 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=64fc4e32-9cc9-4af9-8846-dc13865f770e /   ext4 defaults 1 1
UUID=14c3958d-b0a9-41bd-a046-06e148013349 /boot   ext4 defaults 1 2
UUID=15399f4c-8788-4348-b066-34179fe887cb 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

Linux系统下的/etc/fstab 文件 包含了需要开机后自动挂载的文件系统记录,Linux系统启动时将读取这个文件来自动挂载文件系统。我们可以通过修改这个文件将文件系统设置为开机自动挂载。

下面我们解读一下这个文件内容的具体含义。

第一列:Device:磁盘设备文件或者该设备的Label或者UUID

可以使用 dumpe2label命令查看设备标签、UUID。或者 使用简单命令 blkid 命令查看UUId

注意:使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。

不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号,使用uuid挂载的话就不用担心会发生错乱的问题了。

第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下

第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等

第四列:parameters:文件系统的参数,一般设置为默认 :defaults

parameters下可以设置的参数:

  • Async/sync 设置是否为同步方式运行,默认为async
  • auto/noauto 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
  • rw/ro 是否以以只读或者读写模式挂载
  • exec/noexec 限制此文件系统内是否能够进行"执行"的操作
  • user/nouser 是否允许用户使用mount命令挂载
  • suid/nosuid 是否允许SUID的存在
  • Usrquota 启动文件系统支持磁盘配额模式
  • Grpquota 启动文件系统对群组磁盘配额模式的支持
  • Defaults 同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1

  • 0 代表不做dump备份
  • 1 代表要每天进行dump备份
  • 2 代表不定期进行dump操作

第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

  • 0 不要检验
  • 1 最早检验(一般根目录会选择最早检验)
  • 2 1级别检验完成后进行检验

这就是/etc/fstab 文件的中所有字段的含义了,我们要将文件系统设置成开机自动挂载时,就可以通过修改这个文件来完成了。

特别注意的是,在修改了 /etc/fstab 文件的情况下,当我们不需要再挂载这个文件系统并将它卸载后,一定要及时修改 /etc/fstab 文件。否则,当开机时读取 /etc/fstab 挂载已经卸载了的文件系统会因为找不到那个文件系统出现错误,导致不能正常开机。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Linux下制作给ARM开发板使用的文件系统

    1.Busybox源码请网上自行下载,编译方法请参考百度. 2.交叉编译工具链的设置也请先设置好. 如果以上1.2没有问题,那么可以使用以下脚本,制作一个给ARM开发板使用的文件系统. 可以自行定制使用,加入自己的Test demo. #!/bin/bash #yuanxin.yang develop 2015-07-05 #文件系统和Busybox的路径====>可自己定制 FILESYSTEM=/Softwave/filesystem #定义自己制作的文件系统存放的位置 BUSYBOX=/S

  • Linux shell查找文件显示行号和对应区间的内容

    概述 有时候我们需要在一个文件大小不断变化的日志文件里,找寻一些错误信息.这个时候我们可以用如下的小技巧,找出错误日志的内容. CAT的时候显示行号 cat -n cart.log | grep "支付失败" SED找到错误日志的内容 sed -n '1000,2000p' cart.log 由于我们通过CAT命令已经知道行号了,只需要使用SED,输入一个行号的大概范围,就可以详细的展示上下文的日志内容了. 小技巧 如果公司里没有完善的查看日志的工具,例如ELK.那么借助上面的小工具,

  • Linux内核设备驱动之proc文件系统笔记整理

    /***************** * proc文件系统 *****************/ (1)/proc文件系统的特点和/proc文件的说明 /proc文件系统是一种特殊的.由软件创建的文件系统,内核使用它向外界导出信息,/proc系统只存在内存当中,而不占用外存空间. /proc下面的每个文件都绑定于一个内核函数,用户读取文件时,该函数动态地生成文件的内容.也可以通过写/proc文件修改内核参数 /proc目录下的文件分析  /proc/$pid 关于进程$pid的信息目录.每个进程

  • Linux awk将文件某列按照逗号分隔的例子

    概述 当我们在处理线上故障的时候,经常会从数据库表查询出某个列. select product_id from order where user_id = 111; 查询出来的结果形式如下: 1 2 3 4 5 这个时候,我们通常会以 product_id in (1,2,3,4,5) 的形式去查找商品表,找出商品的详细信息.那么如何得到这个(1,2,3,4,5)呢.一种简单的做法就是利用awk. cat temp.txt | awk 'BEGIN{ORS=","} {print $0

  • Linux命令行快速技巧之定位一个文件的方法

    我们都会有文件存储在电脑里 -- 目录.相片.源代码等等.它们是如此之多.也无疑超出了我的记忆范围.要是毫无目标,找到正确的那一个可能会很费时间.在这篇文章里我们来看一下如何在命令行里找到需要的文件,特别是快速找到你想要的那一个. 好消息是 Linux 命令行专门设计了很多非常有用的命令行工具在你的电脑上查找文件.下面我们看一下它们其中三个:ls.tree 和 find. ls 如果你知道文件在哪里,你只需要列出它们或者查看有关它们的信息,ls 就是为此而生的. 只需运行 ls 就可以列出当下目

  • python 读取Linux服务器上的文件方法

    使用Python语句,读取Linux远端服务器上的文件打印到控制台的代码实现: 下载包:paramiko import paramiko #服务器信息,主机名(IP地址).端口号.用户名及密码 hostname = "" port = 22 username = "" password = "" client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.Au

  • Linux中查看指定文件夹内各个子文件夹内的文件数量

    count脚本 #!/bin/sh numOfArgs=$# if [ $numOfArgs -ne 1 ]; then echo -e "Usage: \nbash $0 dirForCount" exit -1 fi # args ROOTDIR=$1 # core part find $ROOTDIR -maxdepth 1 -type d | sort | while read dir; do count=$(find "$dir" -type f | wc

  • Python通过paramiko远程下载Linux服务器上的文件实例

    如下所示: #!/usr/local/bin/python # encoding:utf-8 import paramiko import os HOST_IP='59.110.12.72' REMOTE_PATH='/proc' REMOTE_FILENAME='meminfo' LOCAL_PATH='./proc' USERNAME='niu' PASSWORD='123456' def remote_scp(host_ip,remote_path,local_path,file_name

  • 你可能不知道的一些linux文件权限管理方法

    为什么需要权限管理? 1.计算机资源有限,我们需要合理的分配计算机资源. 2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重要的 目录的 rwx 权限 当前用户:vagrant:vagrant 创建 testdir 目录,进入 testdir 目录内.创建文件 test. $ mkdir testdir $ cd testdir $ touch test 修改 testdir 权限为 000,尝试执行 ls testdir $ chmod 000 testdir $ ls

  • Linux内核设备驱动之虚拟文件系统笔记整理

    /******************** * 虚拟文件系统VFS ********************/ (1)VFS介绍 虚拟文件系统VFS作为内核的子系统,为用户空间程序提供了文件系统的相关接口. VFS使得用户可以直接使用open()等系统调用而无需考虑具体文件系统和实际物理介质. VFS提供了一个通用的文件系统模型,该模型囊括了我们所能想到的文件系统的常用功能和行为.通过这个抽象层,就可以实现利用通用接口对所有类新的文件系统进行操作. a.调用模型 write(): 用户空间 --

随机推荐