ls没有--zero或-0选项是有原因的吗
这个问题是由有关ls' -1选项' 和人们反复提出问题的倾向的问题引起的,包括处理...的输出ls。 对输出的这种重用ls似乎是可以理解的,例如:如果您知道如何对文件列表进行排序,则ls可能希望以这种方式将输出用作其他输入。 如果这些问与答不包括对由良好表现的文件名组成的文件名列表的引用(没有空格和换行符之类的特殊字符),则通常会有人指出它们,指出存在该命令序列不起作用的危险是带有换行符,空格等的文件。 find,sort和其他实用程序解决通信“困难”的文件名如问题xargs通过选项的文件名与NUL字符/字节这是不是在文件名中的合法字符分隔(唯一一个除/?)上Unix / Linux文件系统。 我查看了手册页,ls并找到的输出ls --help(列出了更多选项),但找不到ls(来自coreutils)有一个选项来指定NUL分隔的输出。它确实有一个-1选项,可以解释为“用换行符分隔的输出文件名”) 问:是否有技术或哲学上的原因,为什么ls没有一个“ --zero或” -0选项会“输出以NUL分隔的文件名”? 如果您执行的操作仅输出文件名(而不使用eg -l),那么可能会有意义: ls -rt -0 | xargs -r0 … 我可能会遗漏一些为什么它不起作用的原因,或者这个示例是否有我忽略的替代方法,它没有那么复杂和/或晦涩难懂。 附录: 这样做ls -lrt -0可能没有多大意义,但在以同样的方式find . -ls -print0不对,所以这不是一个理由不提供-0/ -z/ --zero选项。