为什么Linux中的一些文件名以数字开头?

为什么Linux中的一些文件名以数字开头?,linux,unix,Linux,Unix,命名一些以数字开头的文件有什么原因吗? 我知道命名约定,但我想知道为什么不把它命名为haproxy?为什么30 haproxy.conf而不是29.5_haproxy.conf [@happiness ~]$ ls /etc/rsyslog.d/ 00-iptables.conf 21-cloudinit.conf 30-haproxy.conf haproxy.conf listen.conf 了解常规文件路径的定义。内核只关心/和NUL。。。。并特别了解和。条目。 文件路径甚至可以

命名一些以数字开头的文件有什么原因吗? 我知道命名约定,但我想知道为什么不把它命名为haproxy?为什么
30 haproxy.conf
而不是
29.5_haproxy.conf

[@happiness ~]$ ls /etc/rsyslog.d/
00-iptables.conf  21-cloudinit.conf  30-haproxy.conf  haproxy.conf  listen.conf
了解常规文件路径的定义。内核只关心
/
和NUL。。。。并特别了解
条目。 文件路径甚至可以包含一个控制字符(如换行符),但这很恶心

实际上,许多脚本和程序采用一些约定(并记录其中的一些约定)

(现在,文件路径使用UTF-8,但内核不知道这种约定,最好只使用可打印的、无空格的ASCII字符;我建议只使用字母、数字和一些其他标点符号,但要避免使用
*
\
以及
$
~
,因为它们有特殊的含义(与外壳连接)

由于shell(请参阅)是按字母数字顺序对文件名进行排序的,因此,假设读取该目录的程序(例如某些shell)是按字母数字顺序对条目进行排序,则使用数字前缀对其进行“排序”是有意义的。然后,您希望所有这些数字前缀具有相同的位数(在您的示例中,为两位)

请注意,在读取基础目录(使用+等…)时,目录项是无序的,并以某种任意顺序显示。正在对项进行排序的是读取该目录(您的shell或等…)的程序。有时您可以禁用该排序(例如,使用
ls-f
)或获得另一个排序(例如,按时间顺序排列的
ls-t

阅读了解一般文件路径可以是什么。内核只关心
/
和NUL…,并特别了解
条目。
文件路径甚至可以包含一个控制字符(如换行符),但这很恶心

实际上,许多脚本和程序采用一些约定(并记录其中的一些约定)

(现在,文件路径使用UTF-8,但内核不知道这种约定,最好只使用可打印的、无空格的ASCII字符;我建议只使用字母、数字和一些其他标点符号,但要避免使用
*
\
以及
$
~
,因为它们有特殊的含义(与外壳连接)

由于shell(请参阅)是按字母数字顺序对文件名进行排序的,因此,假设读取该目录的程序(例如某些shell)是按字母数字顺序对条目进行排序,则使用数字前缀对其进行“排序”是有意义的。然后,您希望所有这些数字前缀具有相同的位数(在您的示例中,为两位)


请注意,在读取基础目录(使用+等…)时,目录项是无序的,并以某种任意顺序显示。正在对项进行排序的是读取该目录(您的shell或等…)的程序。有时您可以禁用该排序(例如,使用
ls-f
)或获得另一个排序(例如,按时间顺序与
ls-t

所以你可以自然排序。便于按特定顺序开始。在脚本中,浮点比整数范围更难管理…可能重复的可能重复,所以你可以自然排序。便于按特定顺序开始。在脚本中,浮点比整数更难管理eger范围…可能重复的可能重复的