Evo izveštaja za core utils u ubuntu-u 26.04:
Ova skripta koju je napisao gospodin ChatGPT
Code (bash):
dpkg -L coreutils-from-uutils \
| grep -E '^/usr/bin/[^/]+$' \
| sort \
| while read -r p
do
name=$(basename "$p")
real=$(readlink -f "$p")
ver=$("$p" --version 2>&1 | head -n 1)
if echo "$ver" | grep -qi 'uutils'; then
impl='Rust/uutils'
elif echo "$ver" | grep -qi 'GNU coreutils'; then
impl='GNU/C'
elif echo "$real" | grep -q '^/usr/lib/cargo/bin/coreutils/'; then
impl='Rust/uutils'
elif echo "$real" | grep -q '^/usr/bin/gnu'; then
impl='GNU/C'
else
impl='unknown'
fi
printf '%-12s %-12s %-45s %s\n' "$name" "$impl" "$real" "$ver"
done
daje ovo:
Code:
[ Rust/uutils /usr/lib/cargo/bin/coreutils/[ [ (uutils coreutils) 0.8.0
arch Rust/uutils /usr/lib/cargo/bin/coreutils/arch arch (uutils coreutils) 0.8.0
b2sum Rust/uutils /usr/lib/cargo/bin/coreutils/b2sum b2sum (uutils coreutils) 0.8.0
base32 Rust/uutils /usr/lib/cargo/bin/coreutils/base32 base32 (uutils coreutils) 0.8.0
base64 Rust/uutils /usr/lib/cargo/bin/coreutils/base64 base64 (uutils coreutils) 0.8.0
basename Rust/uutils /usr/lib/cargo/bin/coreutils/basename basename (uutils coreutils) 0.8.0
basenc Rust/uutils /usr/lib/cargo/bin/coreutils/basenc basenc (uutils coreutils) 0.8.0
cat Rust/uutils /usr/lib/cargo/bin/coreutils/cat cat (uutils coreutils) 0.8.0
chcon Rust/uutils /usr/lib/cargo/bin/coreutils/chcon chcon (uutils coreutils) 0.8.0
chgrp Rust/uutils /usr/lib/cargo/bin/coreutils/chgrp chgrp (uutils coreutils) 0.8.0
chmod Rust/uutils /usr/lib/cargo/bin/coreutils/chmod chmod (uutils coreutils) 0.8.0
chown Rust/uutils /usr/lib/cargo/bin/coreutils/chown chown (uutils coreutils) 0.8.0
chroot Rust/uutils /usr/lib/cargo/bin/coreutils/chroot chroot (uutils coreutils) 0.8.0
cksum Rust/uutils /usr/lib/cargo/bin/coreutils/cksum cksum (uutils coreutils) 0.8.0
comm Rust/uutils /usr/lib/cargo/bin/coreutils/comm comm (uutils coreutils) 0.8.0
cp GNU/C /usr/bin/gnucp cp (GNU coreutils) 9.7
csplit Rust/uutils /usr/lib/cargo/bin/coreutils/csplit csplit (uutils coreutils) 0.8.0
cut Rust/uutils /usr/lib/cargo/bin/coreutils/cut cut (uutils coreutils) 0.8.0
date Rust/uutils /usr/lib/cargo/bin/coreutils/date date (uutils coreutils) 0.8.0
dd Rust/uutils /usr/lib/cargo/bin/coreutils/dd dd (uutils coreutils) 0.8.0
df GNU/C /usr/bin/gnudf df (GNU coreutils) 9.7
dir Rust/uutils /usr/lib/cargo/bin/coreutils/dir dir (uutils coreutils) 0.8.0
dircolors Rust/uutils /usr/lib/cargo/bin/coreutils/dircolors dircolors (uutils coreutils) 0.8.0
dirname Rust/uutils /usr/lib/cargo/bin/coreutils/dirname dirname (uutils coreutils) 0.8.0
du Rust/uutils /usr/lib/cargo/bin/coreutils/du du (uutils coreutils) 0.8.0
echo Rust/uutils /usr/lib/cargo/bin/coreutils/echo echo (uutils coreutils) 0.8.0
env Rust/uutils /usr/lib/cargo/bin/coreutils/env env (uutils coreutils) 0.8.0
expand Rust/uutils /usr/lib/cargo/bin/coreutils/expand expand (uutils coreutils) 0.8.0
expr Rust/uutils /usr/lib/cargo/bin/coreutils/expr expr (uutils coreutils) 0.8.0
factor Rust/uutils /usr/lib/cargo/bin/coreutils/factor factor (uutils coreutils) 0.8.0
false Rust/uutils /usr/lib/cargo/bin/coreutils/false false (uutils coreutils) 0.8.0
fmt Rust/uutils /usr/lib/cargo/bin/coreutils/fmt fmt (uutils coreutils) 0.8.0
fold Rust/uutils /usr/lib/cargo/bin/coreutils/fold fold (uutils coreutils) 0.8.0
groups Rust/uutils /usr/lib/cargo/bin/coreutils/groups groups (uutils coreutils) 0.8.0
hashsum Rust/uutils /usr/lib/cargo/bin/coreutils/hashsum sum (uutils coreutils) 0.8.0
head Rust/uutils /usr/lib/cargo/bin/coreutils/head head (uutils coreutils) 0.8.0
hostid Rust/uutils /usr/lib/cargo/bin/coreutils/hostid hostid (uutils coreutils) 0.8.0
id Rust/uutils /usr/lib/cargo/bin/coreutils/id id (uutils coreutils) 0.8.0
install Rust/uutils /usr/lib/cargo/bin/coreutils/install install (uutils coreutils) 0.8.0
join Rust/uutils /usr/lib/cargo/bin/coreutils/join join (uutils coreutils) 0.8.0
link Rust/uutils /usr/lib/cargo/bin/coreutils/link link (uutils coreutils) 0.8.0
ln Rust/uutils /usr/lib/cargo/bin/coreutils/ln ln (uutils coreutils) 0.8.0
logname Rust/uutils /usr/lib/cargo/bin/coreutils/logname logname (uutils coreutils) 0.8.0
ls Rust/uutils /usr/lib/cargo/bin/coreutils/ls ls (uutils coreutils) 0.8.0
md5sum Rust/uutils /usr/lib/cargo/bin/coreutils/md5sum md5sum (uutils coreutils) 0.8.0
mkdir Rust/uutils /usr/lib/cargo/bin/coreutils/mkdir mkdir (uutils coreutils) 0.8.0
mkfifo Rust/uutils /usr/lib/cargo/bin/coreutils/mkfifo mkfifo (uutils coreutils) 0.8.0
mknod Rust/uutils /usr/lib/cargo/bin/coreutils/mknod mknod (uutils coreutils) 0.8.0
mktemp Rust/uutils /usr/lib/cargo/bin/coreutils/mktemp mktemp (uutils coreutils) 0.8.0
mv GNU/C /usr/bin/gnumv mv (GNU coreutils) 9.7
nice Rust/uutils /usr/lib/cargo/bin/coreutils/nice nice (uutils coreutils) 0.8.0
nl Rust/uutils /usr/lib/cargo/bin/coreutils/nl nl (uutils coreutils) 0.8.0
nohup Rust/uutils /usr/lib/cargo/bin/coreutils/nohup nohup (uutils coreutils) 0.8.0
nproc Rust/uutils /usr/lib/cargo/bin/coreutils/nproc nproc (uutils coreutils) 0.8.0
numfmt Rust/uutils /usr/lib/cargo/bin/coreutils/numfmt numfmt (uutils coreutils) 0.8.0
od Rust/uutils /usr/lib/cargo/bin/coreutils/od od (uutils coreutils) 0.8.0
paste Rust/uutils /usr/lib/cargo/bin/coreutils/paste paste (uutils coreutils) 0.8.0
pathchk Rust/uutils /usr/lib/cargo/bin/coreutils/pathchk paste (uutils coreutils) 0.8.0
pinky Rust/uutils /usr/lib/cargo/bin/coreutils/pinky pinky (uutils coreutils) 0.8.0
pr Rust/uutils /usr/lib/cargo/bin/coreutils/pr pr (uutils coreutils) 0.8.0
printenv Rust/uutils /usr/lib/cargo/bin/coreutils/printenv printenv (uutils coreutils) 0.8.0
printf Rust/uutils /usr/lib/cargo/bin/coreutils/printf printf (uutils coreutils) 0.8.0
ptx Rust/uutils /usr/lib/cargo/bin/coreutils/ptx ptx (uutils coreutils) 0.8.0
pwd Rust/uutils /usr/lib/cargo/bin/coreutils/pwd pwd (uutils coreutils) 0.8.0
readlink Rust/uutils /usr/lib/cargo/bin/coreutils/readlink readlink (uutils coreutils) 0.8.0
realpath Rust/uutils /usr/lib/cargo/bin/coreutils/realpath realpath (uutils coreutils) 0.8.0
rm GNU/C /usr/bin/gnurm rm (GNU coreutils) 9.7
rmdir Rust/uutils /usr/lib/cargo/bin/coreutils/rmdir rmdir (uutils coreutils) 0.8.0
runcon Rust/uutils /usr/lib/cargo/bin/coreutils/runcon runcon (uutils coreutils) 0.8.0
seq Rust/uutils /usr/lib/cargo/bin/coreutils/seq seq (uutils coreutils) 0.8.0
sha1sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha1sum sha1sum (uutils coreutils) 0.8.0
sha224sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha224sum sha224sum (uutils coreutils) 0.8.0
sha256sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha256sum sha256sum (uutils coreutils) 0.8.0
sha3-224sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha3-224sum sum (uutils coreutils) 0.8.0
sha3-256sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha3-256sum sum (uutils coreutils) 0.8.0
sha3-384sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha3-384sum sum (uutils coreutils) 0.8.0
sha3-512sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha3-512sum sum (uutils coreutils) 0.8.0
sha384sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha384sum sha384sum (uutils coreutils) 0.8.0
sha3sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha3sum sum (uutils coreutils) 0.8.0
sha512sum Rust/uutils /usr/lib/cargo/bin/coreutils/sha512sum sha512sum (uutils coreutils) 0.8.0
shake128sum Rust/uutils /usr/lib/cargo/bin/coreutils/shake128sum sum (uutils coreutils) 0.8.0
shake256sum Rust/uutils /usr/lib/cargo/bin/coreutils/shake256sum sum (uutils coreutils) 0.8.0
shred Rust/uutils /usr/lib/cargo/bin/coreutils/shred shred (uutils coreutils) 0.8.0
shuf Rust/uutils /usr/lib/cargo/bin/coreutils/shuf shuf (uutils coreutils) 0.8.0
sleep Rust/uutils /usr/lib/cargo/bin/coreutils/sleep sleep (uutils coreutils) 0.8.0
sort Rust/uutils /usr/lib/cargo/bin/coreutils/sort sort (uutils coreutils) 0.8.0
split Rust/uutils /usr/lib/cargo/bin/coreutils/split split (uutils coreutils) 0.8.0
stat Rust/uutils /usr/lib/cargo/bin/coreutils/stat stat (uutils coreutils) 0.8.0
stdbuf Rust/uutils /usr/lib/cargo/bin/coreutils/stdbuf stdbuf (uutils coreutils) 0.8.0
stty Rust/uutils /usr/lib/cargo/bin/coreutils/stty stty (uutils coreutils) 0.8.0
sum Rust/uutils /usr/lib/cargo/bin/coreutils/sum sum (uutils coreutils) 0.8.0
sync Rust/uutils /usr/lib/cargo/bin/coreutils/sync sync (uutils coreutils) 0.8.0
tac Rust/uutils /usr/lib/cargo/bin/coreutils/tac tac (uutils coreutils) 0.8.0
tail Rust/uutils /usr/lib/cargo/bin/coreutils/tail tail (uutils coreutils) 0.8.0
tee Rust/uutils /usr/lib/cargo/bin/coreutils/tee tee (uutils coreutils) 0.8.0
test Rust/uutils /usr/lib/cargo/bin/coreutils/test
timeout Rust/uutils /usr/lib/cargo/bin/coreutils/timeout timeout (uutils coreutils) 0.8.0
touch Rust/uutils /usr/lib/cargo/bin/coreutils/touch touch (uutils coreutils) 0.8.0
tr Rust/uutils /usr/lib/cargo/bin/coreutils/tr tr (uutils coreutils) 0.8.0
true GNU/C /usr/bin/gnutrue true (GNU coreutils) 9.7
truncate Rust/uutils /usr/lib/cargo/bin/coreutils/truncate truncate (uutils coreutils) 0.8.0
tsort Rust/uutils /usr/lib/cargo/bin/coreutils/tsort tsort (uutils coreutils) 0.8.0
tty Rust/uutils /usr/lib/cargo/bin/coreutils/tty tty (uutils coreutils) 0.8.0
uname Rust/uutils /usr/lib/cargo/bin/coreutils/uname uname (uutils coreutils) 0.8.0
unexpand Rust/uutils /usr/lib/cargo/bin/coreutils/unexpand unexpand (uutils coreutils) 0.8.0
uniq Rust/uutils /usr/lib/cargo/bin/coreutils/uniq uniq (uutils coreutils) 0.8.0
unlink Rust/uutils /usr/lib/cargo/bin/coreutils/unlink unlink (uutils coreutils) 0.8.0
users Rust/uutils /usr/lib/cargo/bin/coreutils/users users (uutils coreutils) 0.8.0
vdir Rust/uutils /usr/lib/cargo/bin/coreutils/vdir vdir (uutils coreutils) 0.8.0
wc Rust/uutils /usr/lib/cargo/bin/coreutils/wc wc (uutils coreutils) 0.8.0
who Rust/uutils /usr/lib/cargo/bin/coreutils/who who (uutils coreutils) 0.8.0
whoami Rust/uutils /usr/lib/cargo/bin/coreutils/whoami whoami (uutils coreutils) 0.8.0
yes Rust/uutils /usr/lib/cargo/bin/coreutils/yes yes (uutils coreutils) 0.8.0
Dakle, od svega ovoga
[, arch, b2sum, base32, base64, basename, basenc, cat, chcon, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, hashsum, head, hostid, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm, rmdir, runcon, seq, sha1sum, sha224sum, sha256sum, sha3-224sum, sha3-256sum, sha3-384sum, sha3-512sum, sha384sum, sha3sum, sha512sum, shake128sum, shake256sum, shred, shuf, sleep, sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami, yes
što čini core utils, C implementacije su zadržane za
cp, df, mv, rm i true.
Zanimljivo je da je true zadržan u C-u, dok je false reimplementiran u Rust-u.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.