Linux
find 命令預設排序順序
linux find 命令返回的條目的預設排序順序是什麼?
例如,如果我發出
find . -type f -name '*mp3'
並且輸出由多個子文件夾中的多個文件組成,列出目錄的預設順序是什麼?同時,列出單個目錄中的文件的排序順序是什麼?
有時它會返回:
./B/01.mp3 ./A/01.mp3 ./A/04.mp3 ./A/02.mp3
看看如何首先列出目錄 B 的內容,然後列出目錄 A 的內容。同時在目錄 A 中,文件以有趣的順序列出。
find
將遍歷目錄樹中的順序項儲存在目錄條目中。這將(大部分)在同一台機器上從執行到執行是一致的,並且如果沒有刪除,則本質上將是“文件/目錄創建順序”。然而,一些文件系統將重新排序目錄條目作為壓縮操作的一部分,或者當條目的大小需要擴展時,因此“原始”順序總是有很小的機會隨著時間的推移而改變。如果您想要一致的順序,請通過額外的排序階段提供輸出。