红联Linux门户
Linux帮助

linux命令ls -l的默认排序方式

发布时间:2017-09-01 16:02:59来源:linux网站作者:Harley_Quinn
差不多快实现完了ls -l,但是在测试阶段发现一个问题,对于包含[a-ZA-Z]之外的字符,系统的排序方式并不一样。
linux命令ls -l的默认排序方式
 
很想了会儿,总算发现原来它的排序方式是无视[a-ZA-Z]之外的字符的。
linux命令ls -l的默认排序方式
 
至于怎么发现的,只是个偶然。之前测试的文件夹下a.out被排在了address.c之后,百思不得其解。后来偶然换了个文件夹测试,由于之前废弃的项目或测试目录被我加了__前缀,这样一看就一目了然了,ls_l.cpp排在了__ls_long前面,可能是因为忽视了_字符,然后做测试验证了自己的结论。
 
ls -l的默认排序方式手册上只写了是alphabetically(字典序),但是没有说无视字母之外的字符。当然,我也测试了数字和字母的比较。
linux命令ls -l的默认排序方式
 
准确的说,默认排序方式是忽视字母大小写,数字排在字母前面,无视数字和英文字母之外的字符。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/32482.html