为什么 /etc 中的某些文件带有数字前缀?

为什么 /etc 中的某些文件带有数字前缀?

例如,查看 /etc/apt/apt.conf.d/所有文件是否都有数字前缀。原因是什么?我见过很多次这种情况,总是感到疑惑。这只是为了排序吗?

答案1

是的,它是为了排序,通常任何不以数字开头的内容都会被忽略。

然后按顺序读取并执行文件。

例如/etc/grub.d/

$ ls /etc/grub.d/
00_header    10_linux      20_memtest86+  30_uefi-firmware  41_custom
05_debian_theme  20_linux_xen  30_os-prober   40_custom     README

grub创建启动项的脚本(如,update-grub默认情况下将它们写入/boot/grub/grub.cfg)将首先读取00_header并创建标头,然后查找 Linux 系统,然后是memtest,然后是 UEFI,等等。

当你查看输出时

cat /boot/grub/grub.cfg

您将会看到条目正是按照该顺序排列的。

$ cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
[...]
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
[...]
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
[...]    
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'Memory test (memtest86+)' {
[...]
### END /etc/grub.d/20_memtest86+ ###


[...]

相关内容