Des exemples de commandes dont je parle sont ls
, pwd
et cd
. De plus, comment sont-ils construits? Avez-vous un exemple?
command-line
source
coreutils
fronthem
la source
la source
Réponses:
C'est généralement simple
C
. Les commandesls
etpwd
proviennent duGNU 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: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 , celuicd
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 souventC
aussi).Autres exemples:
pwd
Source OpenSolaris .ls
Vous pouvez en trouver beaucoup plus en ligne.
la source
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 labash
page de manuel pour plus de détails, ou jetez un œil au shell -tiquette intégrée .bash
est également écrit en CIl 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.la source
cd
doivent être un shell intégré pour fonctionner efficacement.