Pourquoi utilisons-nous ./filename
exécuter un fichier sous linux ?
Pourquoi ne pas simplement le saisir comme les autres commandes gcc
, ls
etc…
Réponse acceptée :
Sous Linux, UNIX et les systèmes d'exploitation associés, .
désigne le répertoire courant. Puisque vous voulez exécuter un fichier dans votre répertoire actuel et que ce répertoire n'est pas dans votre $PATH
, vous avez besoin du ./
bit pour indiquer au shell où se trouve l'exécutable. Donc, ./foo
signifie exécuter l'exécutable appelé foo
qui se trouve dans ce répertoire.
Vous pouvez utiliser type
ou which
pour obtenir le chemin complet de toutes les commandes trouvées dans votre $PATH
.