ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° uutils coreutils (Rust Coreutils) Π²Π΅ΡΡΠΈΠΈ 0.4.0, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ Π°Π½Π°Π»ΠΎΠ³ ΠΏΠ°ΠΊΠ΅ΡΠ° GNU Coreutils, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π ΡΠΎΡΡΠ°Π² coreutils Π²Ρ
ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ° ΡΡΠΈΠ»ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln ΠΈ ls. Π¦Π΅Π»ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠΉ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Coreutils, ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
Windows, Redox ΠΈ Fuchsia.
Rust Coreutils Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² Π²ΡΠΏΡΡΠΊΠ΅ Ubuntu 25.10 ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ
AerynOS (Serpent OS) ΠΈ Apertis (ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Collabora). Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ GNU Coreutils ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Rust ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ ΠΏΠ΅ΡΠΌΠΈΡΡΠΈΠ²Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΏΠΈΠ»Π΅ΡΡ-Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ GPL. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π½Π° Rust Π°Π½Π°Π»ΠΎΠ³ΠΈ Π½Π°Π±ΠΎΡΠΎΠ² ΡΡΠΈΠ»ΠΈΡ util-linux, diffutils, findutils ΠΈ procps, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ sed ΠΈ login.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Rust Coreutils:
-
Π£Π»ΡΡΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΌ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ GNU Coreutils, ΠΏΡΠΈ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ 544 ΡΠ΅ΡΡΠ°, ΡΡΠΎ Π½Π° 12 Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Π² ΠΏΡΠΎΡΠ»ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ (532). 56 (68) ΡΠ΅ΡΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠΈΠ»ΠΎΡΡ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ, Π° 33 (33) ΡΠ΅ΡΡΠ° Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ. ΠΠ°ΡΠ²Π»Π΅Π½ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ 85.80% (Π±ΡΠ»ΠΎ 83.91%).
-
Π ΡΡΠΈΠ»ΠΈΡΠ΅ date ΡΠ»ΡΡΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ GNU date ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°ΡΠΎΠ²ΡΡ
ΠΏΠΎΡΡΠΎΠ² (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΠΊΡΠ°ΡΡΠ½Π½ΡΡ
Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ°ΡΠΎΠ²ΡΡ
ΠΏΠΎΡΡΠΎΠ² Π² ΠΎΠΏΡΠΈΠΈ βset).
*Π ΡΡΠΈΠ»ΠΈΡΠ΅ factor Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΏΠ°ΠΊΠ΅Ρ num_prime Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΏΠΎΠ² u64/u128.
*Π ΡΡΠΈΠ»ΠΈΡΠ΅ tsort ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠ±Ρ
ΠΎΠ΄Π° DFS ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π½Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ°Π±ΠΎΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°.
-
Π ΡΡΠΈΠ»ΠΈΡΠ΅ cksum ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Ρ
ΡΡΠ΅ΠΉ sha2 ΠΈ sha3. ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ cksum. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ hashsum ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Π° Π² cksum.
-
Π ΡΡΠΈΠ»ΠΈΡΠ΅ mkdir ΡΡΡΡΠ°Π½Π΅Π½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ΅Π΅ ΠΊ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ (200+) ΡΠΈΡΠ»Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
-
Π ΡΡΠΈΠ»ΠΈΡΠ°Ρ
stdbuf ΠΈ uptime ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ OpenBSD.
-
Π£Π»ΡΡΡΠ΅Π½Π° ΡΠ±ΠΎΡΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ FreeBSD.
-
ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΎΠ±ΡΠΈΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΠΎΡΡΠΈ.
Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΡΡΡΠ°Π½Π΅Π½Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΡ base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠ°ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΡΠΈΠ»ΠΈΡΡ du ΠΈΠ· Π½Π°Π±ΠΎΡΠΎΠ² uutils ΠΈ GNU Coreutils, Π²ΡΠΏΠ»ΡΠ²ΡΠ΅Π΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Ubuntu 25.10 Π½Π° uutils. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΅ΡΡ Π½Π΅ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡ Π»ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ°ΡΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ uutils Π΅ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΈ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ GNU Coreutils Π½Π΅ Π²ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ GNU Coreutils ΠΏΡΠ΅Π΄ΠΏΠΈΡΠ°Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Busybox ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ GNU Coreutils.
Π Π°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ Π² ΡΠΈΡΠ»Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΈΠ»ΠΈΡΡ du Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π² ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, /var ΠΈ /var/log). Uutils ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π° Π² ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΠΌΠΌΠ°ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΡΠ΅Ρ
ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ². GNU Coreutils ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π² ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅, Π½ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ Π²ΡΡΠ΅ΡΠΎΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΈΠ·-Π·Π° ΡΠ΅Π³ΠΎ ΠΈΡ
ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΠ΅ Π² GNU Coreutils ΠΈ Busybox, ΠΌΠ΅Π½ΡΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² /var/log ΠΈ /var, ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠΎΡΠΎΡΡΡ
1540 ΠΈ 35495 Π±Π»ΠΎΠΊΠΎΠ² (ΠΠ).
Π GNU Coreutils Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ:
du -smc /var/log /var
1540 /var/log
33955 /var # ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ
35495 total
du -smc /var /var/log
35495 /var # ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ /var ΠΈ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ /var/log
35495 total
Π uutils:
du -smc /var/log /var
1540 /var/log
35495 /var
37034 total # Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ, Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠΌΠΌΠ΅ /var ΠΈ /var/log
du -smc /var /var/log
35495 /var
1540 /var/log
37034 total # Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ, Π½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠΌΠΌΠ΅ /var ΠΈ /var/log
Π Busybox:
du -smc /var/log /var
1540 /var/log
33955 /var # ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ
35495 total
du -smc /var /var/log
35495 /var # ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΎΠ»ΡΠΊΠΎ /var ΠΈ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ /var/log
35495 total
coreutils, gnu, rust, ubuntu, uutils