Réponses:
C'est généralement simple C
. Les commandes ls
et pwd
proviennent du GNU Coreutils
package dans (la plupart?) Des distributions Linux (et peut-être d'autres systèmes). Vous pouvez trouver le code sur leur page d'accueil .
Plus coreutils
précisément, vous les construisez avec les étapes habituelles: après avoir déballé la source, lancez:
./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
Soyez prudent - l'installation d'utilitaires de base comme ceux sur la copie de votre distribution est une mauvaise idée . Utilisez pour cela le gestionnaire de paquets fourni avec votre système. Vous pouvez toutefois installer sur un préfixe différent (l'installation quelque part dans votre répertoire personnel est une bonne idée si vous voulez expérimenter).
Notez que bien qu'il existe un cd
exécutable , celui cd
que vous utiliserez dans la plupart des cas n'est pas un exécutable distinct. Ce doit être un shell intégré (sinon il ne pourrait pas changer le répertoire courant du shell - cela doit être fait par le processus lui-même), donc il est écrit dans le même langage que le shell (ce qui est souvent C
aussi).
Autres exemples:
Vous pouvez en trouver beaucoup plus en ligne.
Juste pour ajouter un peu plus à la réponse de Mat, bien qu'Unix les implémente en tant que programmes autonomes, de nombreuses commandes sont également implémentées dans bash
(pour lui éviter d'avoir à générer un nouveau processus) voir la bash
page de manuel pour plus de détails, ou jetez un œil au shell -tiquette intégrée .
bash
est également écrit en C
Il est intéressant de noter que ces commandes ne doivent être écrits en C - En effet, plusieurs mini - utilisation de la distribution linux lua
implémentations de ces et d' autres.
cd
doivent être un shell intégré pour fonctionner efficacement.