Odpowiedzi:
Zwykle jest to jasne C. Polecenia lsi pwdpochodzą z GNU Coreutilspakietu w (większości?) Dystrybucjach Linuksa (i może w niektórych innych systemach). Możesz znaleźć kod na ich stronie głównej .
W coreutilsszczególności budujesz je zgodnie ze zwykłymi krokami: po rozpakowaniu źródła wydaj:
./configure --prefix=/some/path
# type ./configure --help to get the available options
make
make install # could require root access depending on the path you used
Bądź ostrożny - instalowanie podstawowych narzędzi, takich jak te nad kopią ich dystrybucji, jest złym pomysłem . Użyj do tego dowolnego menedżera pakietów. Możesz jednak zainstalować na innym prefiksie (instalacja gdzieś w katalogu domowym jest dobrym pomysłem, jeśli chcesz eksperymentować).
Pamiętaj, że chociaż istnieje cdplik wykonywalny , cdw większości przypadków będziesz go używać, ale nie jest to osobny plik wykonywalny. Musi być wbudowany w powłokę (w przeciwnym razie nie mógłby zmienić bieżącego katalogu powłoki - musi to zrobić sam proces), więc jest napisany w tym samym języku co powłoka (co często Cteż jest).
Inne przykłady:
Możesz znaleźć wiele innych z nich online.
Aby dodać trochę więcej do odpowiedzi Mat, chociaż Unix implementuje je jako samodzielne programy, wiele poleceń jest również implementowanych w bash(aby zaoszczędzić na konieczności odrodzenia nowego procesu), zobacz bashstronę podręcznika, aby uzyskać więcej szczegółów, lub spójrz na powłokę -budowany tag.
bash jest również napisane w C
Warto zauważyć, że polecenia te nie muszą być napisane w języku C - w rzeczywistości kilka dystrybucji mini-linux używa luaimplementacji tych i innych.
cdwbudowana powłoka, muszą działać poprawnie.