IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Exécuter un programme C sous Unix


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut Exécuter un programme C sous Unix
    Bonjour à tous,

    j'aurais aimé savoir pourquoi il faut écrire ./ avant le nom du programme pour le lancer ? Est-ce la même chose que ../rep/programme ? Dans ce cas là pourquoi saisir simplement le nom du programme dans le répertoire courant ne marche pas ?

    Merci d'avance pour vos réponses.
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Bonjour,

    Unix ne cherche pas d'exécutable dans le répertoire courant par défaut, comme le fait D.O.S. par exemple. Par conséquent, les exécutables appelés sont soit ceux dont on passe explicitement le chemin, comme /usr/bin/find, soit ceux qui se trouvent à un des emplacements spécifiés dans la variable $PATH. Or, le point « . » a toujours désigné le répertoire courant, de la même façon que « .. » désigne le répertoire parent.

    Appeler « ./executable » est donc une manière de dire au Shell que le chemin vers l'exécutable est simplement le répertoire courant.

    Ce comportement est volontaire. Sous Unix, la hiérarchie des fichiers est suffisamment bien en place pour que les exécutables n'aient pas à se balader partout. À part pour les pogrammeurs, un exécutable dans un répertoire autre que ceux précisés par PATH est une situation anormale. Il est même possible de passer certains flags dans la fstab pour interdire le lancement d'exécutables depuis certaines partitions, réservées aux données, donc.

    Il vaut donc mieux prendre l'habitude de taper « ./ » en début de nom de fichier plutôt que coller le point directement dans PATH.

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    En plus, mettre le "." dans le PATH est une mauvaise pratique en termes de sécurité.

    Si un petit rigolo (virus ?) dépose un binaire appelé "ls" dans /tmp, que tu vas dans /tmp et que tu tapes "ls" tu risque d'exécuter le binaire du petit rigolo et pas le "ls" officiel dans /usr/bin.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Membre chevronné
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Merci pour ces réponses complètes.
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/11/2008, 12h12
  2. Exécuter des programmes Windows sous Debian
    Par ElOmbre495 dans le forum Debian
    Réponses: 1
    Dernier message: 19/02/2008, 14h56
  3. modification de programme .pc sous unix
    Par gege87270 dans le forum Shell et commandes GNU
    Réponses: 33
    Dernier message: 01/10/2007, 08h50
  4. Programmation systeme sous Unix
    Par Premium dans le forum Linux
    Réponses: 9
    Dernier message: 11/03/2006, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo