Linux里的配置文件

  我用了Linux也有一些时间了,Linux里使用许多风格迥异的配置文件,而且与相关的应用程序紧密配合,有的如fstab的文件,这是文件分区挂载的配置文件,我的如下: 

  1. #device         mountpoint               filesystem        options            dump checkpassno
  2. /dev/hda6       /                        ext3              defaults           1    1
  3. none            /dev/pts                 devpts            gid=5,mode=620     0    0
  4. none            /dev/shm                 tmpfs             defaults           0    0
  5. none            /proc                    proc              defaults           0    0
  6. none            /sys                     sysfs             defaults           0    0
  7. /dev/hda5       swap                     swap              defaults           0    0
  8. /dev/hda1   /mnt/ubuntu   ext3   defaults   0 0
  9. /dev/hda2   /mnt/winC   ntfs locale=zh_CN.GB18030,umask=0  0 0
  10. /dev/hda7   /mnt/winD   vfat iocharset=cp936,umask=0,exec,rw  0 0
  11. /dev/hda8   /mnt/winH   ntfs locale=zh_CN.GB18030,umask=0  0 0
  12. /dev/hdc   /mnt/cdrom-hdc   udf,iso9660  iocharset=cp936,user,noauto  0 0

  主要是通过一些制表符和空格分开的组成,每个字段按一定的顺序排列,每列都有相应的意义,特别适合用awk来分析。有的如Grub的配置文件:

  1. # grub.conf generated by MagicInstaller.
  2.  
  3. # Note that you do not have to rerun grub after making changes to this file.
  4. default=1
  5. timeout=11
  6. gfxmenu=(hd0,5)/boot/grub/message
  7. title Ubuntu
  8.         root (hd0,0)
  9.         kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=61e2d63b-07fa-4a31-9309-4323d19a8641 ro quiet splash locale=zh_CN
  10.         initrd /boot/initrd.img-2.6.22-14-generic
  11. title Microsoft Windows XP
  12.         rootnoverify (hd0,1)
  13.         chainloader +1
  14. title MagicLinux
  15.         root (hd0,5)
  16.         kernel /boot/vmlinuz-2.6.22.12-smp  ro root=/dev/hda6 vga=791 splash quiet
  17.         initrd /boot/initrd-2.6.22.12-smp.img
  18. title MagicLinux (Single Mode)
  19.         root (hd0,5)
  20.         kernel /boot/vmlinuz-2.6.22.12-smp single ro root=/dev/hda6 vga=791 splash quiet
  21.         initrd /boot/initrd-2.6.22.12-smp.img

 

  各个启动操作系统的都有相应的启动参数,这些参数按行分开,而不是像fstab那样放在一列,各操作系统以title XXX分开,其它的如默认选择则以等式在最前面。还有的如X Window的xorg.conf,因此太长,我只帖了部分:  

  1. Section "Monitor"
  2.  
  3.   # 1440x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 106.47 MHz
  4.         Identifier   "Monitor0"
  5.         VendorName   "Monitor Vendor"
  6.         ModelName    "LAW982"
  7.         HorizSync    30.0 - 82.0
  8.         VertRefresh  56.0 - 76.0
  9.         ModeLine     "1440x900_60.00" 106.5 1440 1520 1672 1904 900 901 904 932 -hsync +vsync
  10. EndSection
  11.  
  12. Section "Device"
  13.         Identifier  "Videocard0"
  14.         Driver      "sis"
  15.         VendorName  "Videocard vendor"
  16.         BoardName   "Silicon Integrated Systems [SiS] 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter"
  17.         VideoRam    32768
  18. EndSection

  这个则将各类的设备配置有相关的Section XXX与EndSection相分开,里面则由相关的配置项与配置参数成对写在一行。这三个文件都是Linux相当重要的文件,它们之间的不同,我觉得完全是历史的原因,而事实上都完全可以使用统一的形式,POSIX标准可能主要为了兼容的原因,没有将它们统一。这些风格迥异的配置文件,也表现了Unix的自由和风格多样性吧,当然从坏的方面来讲,也说明了Unix的混乱。

Linux Comments(0) 2008年4月12日 07:55