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


差不多快實現完了ls -l,但是在測試階段發現一個問題,對於包含[a-ZA-Z]之外的字符,系統的排序方式並不一樣。

很想了會兒,總算發現原來它的排序方式是無視[a-ZA-Z]之外的字符的

至於怎么發現的,只是個偶然。之前測試的文件夾下a.out被排在了address.c之后,百思不得其解。后來偶然換了個文件夾測試,由於之前廢棄的項目或測試目錄被我加了__前綴,這樣一看就一目了然了,ls_l.cpp排在了__ls_long前面,可能是因為忽視了_字符,然后做測試驗證了自己的結論。

ls -l的默認排序方式手冊上只寫了是alphabetically(字典序),但是沒有說無視字母之外的字符。

當然,我也測試了數字和字母的比較

准確的說,默認排序方式是忽視字母大小寫,數字排在字母前面,無視數字和英文字母之外的字符。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM