Respuestas:
Suele ser sencillo C
. Los comandos ls
y pwd
provienen del GNU Coreutils
paquete en (¿la mayoría?) Distribuciones de Linux (y tal vez algunos otros sistemas). Puede encontrar el código en su página de inicio .
Para coreutils
concretamente, que los construyen con los pasos habituales: después de desempaquetar la fuente, ejecuta:
./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
Tenga cuidado: instalar utilidades básicas como las que se encuentran sobre la copia de su distribución es una mala idea . Utilice cualquier administrador de paquetes que su sistema venga para eso. Sin embargo, puede instalar en un prefijo diferente (instalar en algún lugar de su directorio de inicio es una buena idea si desea experimentar).
Tenga en cuenta que aunque hay un cd
ejecutable , el cd
que usará en la mayoría de los casos no es un ejecutable separado. Tiene que ser un shell incorporado (de lo contrario, no podría cambiar el directorio actual del shell; esto lo debe hacer el propio proceso), por lo que está escrito en el mismo idioma que el shell (que a menudo C
también lo es ).
Otros ejemplos:
Puede encontrar muchos más de estos en línea.
Solo para agregar un poco más a la respuesta de Mat, aunque Unix implementa estos como programas independientes, también se implementan muchos comandos dentro bash
(para evitar que tenga que generar un nuevo proceso), consulte la bash
página del manual para obtener más detalles, o eche un vistazo al shell etiqueta incorporada .
bash
también está escrito en C
Vale la pena señalar que estos comandos no tienen que escribirse en C; de hecho, varias distribuciones de mini linux usan lua
implementaciones de estos y otros.
cd
debe ser un shell incorporado para funcionar de manera efectiva.