关于/etc/fstab

fstab中存放了与分区有关的重要信息,其中每一行为一个分区记录,每一行又可分为六个部份,下面以
/dev/hda7 /ext2 defaults 1 1
为例逐个说明:

1. 第一项是您想要mount的储存装置的实体位置,如hdb或如上例的/dev/hda7。
2. 第二项就是您想要将其加入至哪个目录位置,如/home或如上例的/,这其实就是在安装时提示的挂入点。
3. 第三项就是所谓的local filesystem,其包含了以下格式:如ext、ext2、msdos、iso9660、nfs、swap等,或如上例的ext2,可以参见/prco/filesystems说明。
4. 第四项就是您mount时,所要设定的状态,如ro(只读)或如上例的defaults(包括了其它参数如rw、suid、exec、auto、nouser、async),可以参见「mount nfs」。
5. 第五项是提供DUMP功能,在系统DUMP时是否需要BACKUP的标志位,其内定值是0。
6. 第六项是设定此filesystem是否要在开机时做check的动作,除了root的filesystem其必要的check为1之外,其它皆可视需要设定,内定值是0。

 

http://www.mcublog.com/blog/blog2006/kinghua_q/archives/2007/20895.html

1 fstab文件的作用
文件/etc/fstab存放的是系统中的文件系统信息。当正确的设置了该文件,则可以通过"mount /directoryname"命令来加载一个文件系统,每种文件系统都对应一个独立的行,每行中的字段都有空格或tab键分开。同时fsck、mount、umount的等命令都利用该程序。

2. fstab文件格式
下面是/etc/fatab文件的一个示例行:
fs_spec   fs_file  fs_type   fs_options  fs_dump fs_pass 
/dev/hda1   /        ext2     defaults      1       1 

fs_spec - 该字段定义希望加载的文件系统所在的设备或远程文件系统,对于一般的本地块设备情况来说:IDE设备一般描述为 /dev/hdaXN,X是IDE设备通道(a, b, or c),N代表分区号;SCSI设备一描述为/dev/sdaXN。对于NFS情况,格式一般为:,例如:`knuth.aeb.nl:/'。对于procfs,使用`proc'来定义。

fs_file - 该字段描述希望的文件系统加载的目录点,对于swap设备,该字段为none;对于加载目录名包含空格的情况,用40来表示空格。

fs_type - 定义了该设备上的文件系统,一般常见的文件类型为ext2 (Linux设备的常用文件类型)、vfat(Windows系统的fat32格式)、NTFS、iso9600等。

fs_options - 指定加载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来。对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:
选项              含义
ro      以只读模式加载该文件系统
sync    不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
user    允许普通用户加载该文件系统
quota   强制在该文件系统上进行磁盘定额限制
noauto  不再使用mount -a命令(例如系统启动时)加载该文件系统

fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0

fs_pass - 该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为0

3. 示例文件
# /etc/fstab
/dev/hda9       swap        swap        defaults    0   0
/dev/hda1       /           ext2        defaults    1   1
/dev/hda5       /home       ext2        defaults    1   1
/dev/hda6       /usr        ext2        defaults    1   1
/dev/hda7       /usr/local  ext2        defaults    1   1
/dev/hda8       /var        ext2        defaults    1   1
/dev/hdb        /cdrom      iso9660     noauto,user 0   0
none            /proc       proc        defaults    0   0
none            /dev/pts    devpts  gid=5,mode=620  0   0
### yes 命令与 cp 命令结合使用的含义 `yes` 命令是一个简单的工具,它会持续不断地输出指定的字符串(默认为“y”)到标准输出流。通常情况下,`yes` 命令用于自动响应需要用户输入的交互式命令[^1]。 当将 `yes` 与 `cp` 命令结合使用时,其主要目的是自动回答 `cp` 命令可能提出的交互问题。例如,当目标文件已存在且未指定 `-f`(强制覆盖)选项时,`cp` 命令可能会提示是否覆盖文件。此时,`yes` 可以自动提供“y”作为响应,避免手动干预。 以下是一个示例: ```bash yes | cp /etc/fstab /etc/fstab_bak ``` 上述命令的作用是将 `/etc/fstab` 文件复制到 `/etc/fstab_bak`,并自动确认所有可能的交互提示。如果目标文件已存在,`yes` 会自动提供“y”以完成覆盖操作[^2]。 --- ### `cp /etc/fstab /etc/fstab_bak` 的作用及场景 `/etc/fstab` 是 Linux 系统中用于定义文件系统挂载信息的关键配置文件。通过执行 `cp /etc/fstab /etc/fstab_bak`,可以创建该文件的一个备份副本,命名为 `/etc/fstab_bak`。这种操作通常在以下场景中使用: 1. **修改前的备份**:在对 `/etc/fstab` 进行编辑之前,创建一个备份副本,以便在发生错误时能够快速恢复原始配置。 2. **灾难恢复**:如果系统因 `/etc/fstab` 配置错误而无法启动,可以从备份文件中恢复正确的挂载信息。 3. **版本管理**:通过定期备份 `/etc/fstab`,可以记录不同时间点的文件系统挂载配置,便于审计或回滚。 --- ### 示例代码 以下是结合 `yes` 和 `cp` 的实际操作示例: ```bash # 自动覆盖目标文件 yes | cp /etc/fstab /etc/fstab_bak # 强制覆盖目标文件(无需交互) cp -f /etc/fstab /etc/fstab_bak ``` 如果目标文件不存在,则 `yes` 的作用不会体现,因为 `cp` 不会提出任何交互问题。只有在目标文件已存在且未使用 `-f` 选项时,`yes` 才能发挥作用[^3]。 --- ### 注意事项 1. 使用 `yes` 时需谨慎,因为它会无条件地提供“y”作为响应,可能导致意外的数据覆盖。 2. 在生产环境中,建议优先使用 `-i`(交互模式)或 `-n`(不覆盖模式),以确保数据安全。 3. 如果需要批量处理多个文件,可以结合 `find` 或 `xargs` 工具实现自动化备份。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值