Rust๋ก ์์ฑ๋ GNU Coreutils ํจํค์ง์ ๊ฐ๋ฐ ๋ฒ์ ์ธ uutils coreutils 0.7.0(Rust Coreutils) ํ๋ก์ ํธ๊ฐ ์ถ์๋์์ต๋๋ค. coreutils์๋ sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls ๋ฑ 100๊ฐ ์ด์์ ์ ํธ๋ฆฌํฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด ํ๋ก์ ํธ์ ๋ชฉํ๋ Coreutils๋ฅผ ๋์ฒดํ ์ ์๋ ํฌ๋ก์ค ํ๋ซํผ ๋์์ ๋ง๋ค์ด ๋ค์ํ ํ๋ซํผ์์ ์คํํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. Windows๋ ๋ ์ค์ ํธํฌ์์.
Rust Coreutils๋ ์ด๋ฒ ๋ฆด๋ฆฌ์ค์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค. Ubuntu Coreutils๋ 25.10 ๋ฒ์ ์ด๋ฉฐ AerynOS(Serpent OS) ๋ฐ Apertis(Collabora ๊ฐ๋ฐ) ๋ฐฐํฌํ์์ ์ฌ์ฉ๋ฉ๋๋ค. GNU Coreutils์ ๋ฌ๋ฆฌ Rust ๊ตฌํ์ ์นดํผ๋ ํํธ GPL์ด ์๋ ๊ด๋ํ MIT ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ๋์ผํ ๊ฐ๋ฐํ์ util-linux, diffutils, findutils, procps, acl ์ ํธ๋ฆฌํฐ ๋ชจ์๊ณผ sed ๋ฐ login ํ๋ก๊ทธ๋จ์ Rust ๊ธฐ๋ฐ ๋ฒ์ ๋ ๊ฐ๋ฐํ๊ณ ์์ต๋๋ค.
Rust Coreutils์ ์๋ก์ด ๋ฒ์ ์์๋:
- GNU Coreutils ๋ฒค์น๋งํฌ ์ค์ํธ์์ ํธํ์ฑ์ 94.59%๋ก (์ด์ ๋ฒ์ 96.28%์์ ์ํญ ํ๋ฝ) ๋ํ๋ฌ์ต๋๋ค. ์ด 629๊ฐ์ ํ ์คํธ๋ฅผ ํต๊ณผํ๋๋ฐ, ์ด๋ ์ด์ ๋ฒ์ (622๊ฐ)๋ณด๋ค 7๊ฐ ๋ ๋ง์ ์์น์ ๋๋ค. 23๊ฐ์ ํ ์คํธ๊ฐ ์คํจํ๊ณ (์ด์ ๋ฒ์ 16๊ฐ์์ ๊ฐ์), 13๊ฐ์ ํ ์คํธ๊ฐ ๊ฑด๋๋ฐ์ด์ก์ต๋๋ค (์ด์ ๋ฒ์ 7๊ฐ์์ ๊ฐ์). ํธํ์ฑ ๊ฐ์๋ ๋ฒค์น๋งํฌ ์ค์ํธ๋ฅผ GNU Coreutils 9.10 ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ฉด์ 19๊ฐ์ ์๋ก์ด ํ ์คํธ๊ฐ ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ์ฒด ํ ์คํธ ์๋ก ๋ณด๋ฉด Rust Coreutils๋ ์ด์ ๋ฒ์ ๋ณด๋ค 7๊ฐ ๋ ๋ง์ ํ ์คํธ๋ฅผ ํต๊ณผํ์ต๋๋ค.
- date, fmt, kill, ptx, numfmt ๋ฐ cksum ์ ํธ๋ฆฌํฐ์์ ๊ฐ์ฅ ์ค์ํ ํธํ์ฑ ๊ฐ์ ์ด ํ์ธ๋์์ต๋๋ค. cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor ๋ฐ wc ์ ํธ๋ฆฌํฐ์์๋ ์๋์ ์ผ๋ก ๋ ์ค์ํ ํธํ์ฑ ๊ฐ์ ์ด ํ์ธ๋์์ต๋๋ค.
- factor ์ ํธ๋ฆฌํฐ์์ ํ ์คํธ์ ์ฌ์ฉ๋๋ num-prime Rust ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ls, du, tsort, shuf, mv ํจ์์์ rustc-hash์ ๊ตฌํ ์๋๊ฐ ํฅ์๋์๊ณ , sort ํจ์์์๋ foldhash์ ๊ตฌํ ์๋๊ฐ ํฅ์๋์์ต๋๋ค.
- ํ์ฅ ํด์ ๋ฐ ํ์ฅ ์ ํธ๋ฆฌํฐ์์ ASCII ๋ฌธ์ ์ฒ๋ฆฌ๋ฅผ ์ต์ ํํ์ฌ ๋ฒํผ๋ง๋ ์ฝ๊ธฐ๋ฅผ ์ฌ์ฉํ ๋ ์๋๊ฐ 14% ํฅ์๋์์ต๋๋ค.
- shuf, split, sort ๋ฐ du ์ ํธ๋ฆฌํฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ ์ด ์ต์ ํ๋์ด du๋ 3~6%, shuf๋ 4% ๋ ๋นจ๋ผ์ก์ต๋๋ค.
- nl ์ ํธ๋ฆฌํฐ์์ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ๋ ์๋๊ฐ ํฅ์๋์์ต๋๋ค.
- ์คํ ํ์ผ์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค์๊ณ , ์ฐธ/๊ฑฐ์ง ์ ํธ๋ฆฌํฐ์ ์คํ ์๋๊ฐ ํฅ์๋์์ต๋๋ค.
- echo, date, sort, expr, hostname, id, comm, pr, dircolors ๋ฑ 20๊ฐ ์ด์์ ์ ํธ๋ฆฌํฐ์์ stderr์ ์ธ ์ ์์ ๋( /dev/full๋ก ๋ฆฌ๋๋ ์ ๋ ๋) ์ถฉ๋์ด ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์์ ๋์์ต๋๋ค.
- umask, mkdirat, mknod ๋ฐ ๊ธฐํ ์ ํธ๋ฆฌํฐ์์ ์์ ํ์ง ์์ libc ํธ์ถ์ nix ํฌ๋ ์ดํธ ํจํค์ง์ ์์ ํ ๋ฐ์ธ๋ฉ์ผ๋ก ๋์ฒด๋์์ต๋๋ค.
- "rm" ์ ํธ๋ฆฌํฐ์ "--preserve-root" ์ต์ ์ด ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ง์ ํ ๋ ์ด์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํฉ๋๋ค.
- NetBSD ํ๋ซํผ ์ง์์ด ํฅ์๋์์ต๋๋ค. Windows NixOS์ฉ์ ๋๋ค. PowerPC ์ํคํ ์ฒ์ ๋ง๊ฒ ๋น๋๊ฐ ๊ฐ์ ๋์์ต๋๋ค.
- ๋ค์ ์ ํธ๋ฆฌํฐ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋๊ณ , ๋ฌธ์ ๊ฐ ์์ ๋์์ผ๋ฉฐ, ๋๋ฝ๋ ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค: cat, cksum, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, expand, expr, factor, false, fmt, fold, hostname, id, install, kill, ln, ls, mktemp, mknod, mv, nl, nproc, numfmt, od, paste, pr, printfm, ptx, readlink, rm, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, test, tr, true, tsort, unexpand, uniq, uptime, vdir, wc, whoami.
์ถ์ฒ : opennet.ru
