code des commandes de base de linux

Le
olivier
bonjour!

Pourriez vous me dire où trouver les codes sources des commandes de base de
linux ( echo , cd , exit)

Merci par avance

PS: La distribution m'importe pas
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
shal
Le #1066002
olivier wrote:
bonjour!


salut,

Pourriez vous me dire où trouver les codes sources des commandes de base de
linux ( echo , cd , exit...)

Merci par avance

PS: La distribution m'importe pas



Une partie sont la :

http://ftp.gnu.org/pub/gnu/coreutils/

Basile Starynkevitch [news]
Le #1516076
Le 08-05-2004, olivier
bonjour!

Pourriez vous me dire où trouver les codes sources des commandes de base de
linux ( echo , cd , exit...)


Il faut savoir que cd et exit doivent nécessairement être implantés
(builtin) dans l'interprete de commandes (bash, zsh etc...), puisqu'il
interfacent les appels systèmes chdir(2) et _exit(2) qui doivent être
executés par le processus shell lui-même.

En pratique, echo, time, printf sont aussi souvent dans l'interprete
de commande, mais il peut exister des binaires /bin/echo etc... aussi


Je conseille donc la lecture d'un bon livre sur les appels systèmes
Unix et la programmation système Unix.


--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France

no_spam
Le #1066745
On Sun, 09 May 2004 07:31:42 +0000, Basile Starynkevitch [news] wrote:

Le 08-05-2004, olivier
bonjour!

Pourriez vous me dire où trouver les codes sources des commandes de base de
linux ( echo , cd , exit...)


Il faut savoir que cd et exit doivent nécessairement être implantés
(builtin) dans l'interprete de commandes (bash, zsh etc...), puisqu'il
interfacent les appels systèmes chdir(2) et _exit(2) qui doivent être
executés par le processus shell lui-même.

En pratique, echo, time, printf sont aussi souvent dans l'interprete
de commande, mais il peut exister des binaires /bin/echo etc... aussi


POSIX dit exactement l'inverse:
ces outils doivent impérativement exister en tant que binaires séparés
(sinon, on ne peut pas les appeler en C) et peuvent éventuellement
être implémentés en tant que builtin, généralement pour des raisons
de performances: ça évite des multitudes d'appels systèmes
fork();execve(); et d'accès aux disques lors de l'execution de scripts.

Les builtins minimums sont:
alias, bg, cd, command, false, fc, fg, getopts, jobs, kill, newgrp, pwd,
read, true, umask, unalias, wait.
Mais ils doivent impérativement être également implémentés en tant
qu'utilitaires à part:
"all the standard utilities, including the regular built-ins in the table,
but not the special built-ins described in Special Builltins Utilities,
shall be implemented so that they can be accessed via the exec family of
functions...".
Les special builtins sont des fonctions qui n'ont un sens que dans
un script shell:
break, colon, continue, dot, eval, exec, exit, export, readonly, return,
set, shift, times, trap, unset.


Publicité
Poster une réponse
Anonyme