Odpowiedzi:
Zwykle jest to jasne C
. Polecenia ls
i pwd
pochodzą z GNU Coreutils
pakietu w (większości?) Dystrybucjach Linuksa (i może w niektórych innych systemach). Możesz znaleźć kod na ich stronie głównej .
W coreutils
szczegó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 cd
plik wykonywalny , cd
w 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 C
też 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 bash
stronę 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 lua
implementacji tych i innych.
cd
wbudowana powłoka, muszą działać poprawnie.