linux - 为什么Linux中有些文件名以数字开头?

标签 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

最佳答案

了解path_resolution(7)了解一般文件路径的情况。内核只关心 /NUL .... 并特别理解 ... 条目。 文件路径甚至可以包含单个控制字符(如换行符),但这很恶心。

实际上,许多脚本和程序都采用一些约定(FHS 记录了其中一些约定)。

(现在,文件路径采用 UTF-8,但内核不知道该约定,您最好仅使用可打印的非空格 ASCII 字符;我建议仅使用字母、数字和一些其他标点符号 - 但避免 *\? 或许还有 $~,因为它们对 shell 有特殊含义)

自 shell globbing (参见 glob(7) )按字母数字顺序对文件名进行排序,假设读取该目录的程序(例如某些 shell)按字母数字顺序对条目进行排序,则具有数字前缀对它们进行“排序”是有意义的。然后,您希望所有这些数字前缀具有相同的位数(在您的示例中为两个)。

请注意,当读取底层目录时(使用 opendir(3) + readdir(3) 等...),目录条目是无序的并以某种任意顺序呈现。正是读取该目录(您的 shell 或 ls(1) 等)的程序对条目进行排序。有时您可以禁用该排序(例如使用 ls -f)或进行另一种排序(例如使用 ls -t 按时间顺序排列)

关于linux - 为什么Linux中有些文件名以数字开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47407783/

相关文章:

linux - 我需要在 shell 中用双引号括起一个替代变量

linux - 如何在 *nix 上查找/grep 目录名称匹配 "x"但不匹配 "y"的所有路径?

unix - sed - 如何覆盖可选空间?

python - 如何从 python 更改 Linux 用户密码

algorithm - control+M 字符和 '\r' 字符有什么区别。我们怎么写呢?

linux - 我可以在 Linux 2.6 中使用多少个 pthread_rwlock

linux - 如何链接到特定的 glibc 版本?

linux - 如何在linux shell脚本中使用变量遍历路径

linux - 如何使用 _FILE_OFFSET_BITS 64 编译的应用程序创建一个小文件(大小 <= 2GB)文件?

c++ - Linux 开发人员了解 C++?