GNU Coreutils 9.1 現已釋出。GNU Core Utilities 是 GNU 作業系統的基本檔案、shell 和文字操作實用程式,這些是預期存在於每個作業系統上的核心實用程式。。
GNU Coreutils 9.1 包含了廣泛的修復、改進和其他改動。一個令人興奮的方面是各種效率改進,如 cat 現在使用 copy_file_range 系統呼叫,對其他命令則使用更優化的 syscalls 以提高效率。
一些亮點更新如下:
- cat 命令現在使用 copy_file_range 系統呼叫,在常規檔案之間進行簡單的拷貝。反過來,在可能的複製解除安裝/重新連結中,這應該是更有效的。copy_file_range 系統呼叫用於從一個檔案拷貝到另一個檔案--在兩個檔案描述符之間拷貝一定範圍的資料,而不需要通過使用者空間。
- cp、mv 和 install 命令在複製到一個目錄時,現在使用類似 openat 的系統呼叫,這將避免一些 race conditions,並且更有效率。
- ls 命令預設情況下不再給檔案著色,因為它們很少被使用,而且每個檔案的處理時間會增加約 30%。
- ls 和 stat 命令預設不再嘗試自動掛載檔案,而是恢復到早期的行為。
- 如果遇到符號連結,使用 chmod -R 的遞迴 chmod'ing 將不再以錯誤狀態退出。
- 修復了 macOS 上的 copy 行為,如果從蘋果 APFS 檔案系統複製到其他檔案系統,可能導致誤複製問題。還有其他的 macOS 修復,當原始檔和目標檔案是 APFS 上的普通檔案時,copy 現在會建立一個 copy-on-write clone。
詳情可檢視: