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

Shell et commandes GNU Discussion :

Redirection de l'entrée standard


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Par défaut Redirection de l'entrée standard
    ma question porte sur la redirection de l'entree standard avec le shell.

    en effet chaque commande prend donc une entree standard (par defaut le clavier) et une entreer sortie (par defaut l'ecran).

    donc si je fait
    more < fichier il va lire le contenu d'un fichier
    (equivalent à: more fichier)
    pour la commande more j'ai bien compris la rediredtion mais pour une commande comme


    ls ou cd :
    quelqu'un peut me donner un exemple de rediretion d'entree (pas de sortie)

    merci d'avance pour vos reponses je pense que certaines choses vont pouvoir se debloquer.

  2. #2
    Membre chevronné Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Par défaut
    Beaucoup de commandes lisent par défaut l'entrée standard (mais pas toutes, exemples : cd, pwd, date...).

    C'est le cas (au hasard) de grep, sed, tail, sort ... La plupart peuvent prendre un fichier comme argument. Par exemple grep bash file et grep bash < file sont équivalent; ou sed 's/sh/bash/' file et sed 's/sh/bash/' < file.

    La redirection d'entrée prend tout son sens avec les pipes (tuyaux): la sortie standard d'une commande est raccordée à l'entrée standart de la suivante. Quelques exemples en vrac.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ps aux | grep ^root	#liste tous les processus de root
    ls -1 | sed 's/htm$/html/'	# liste les fichiers avec html à la place de htm 
    ps aux | grep "$(who am i | awk '{print $1}')"	# liste tous les processus de l'utilisateur courant
    Il est aussi possible de transformer l'entrée standard en arguments de ligne de commande avec xargs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ls *.sh | xargs chmod a+x	# rend tous les fichiers sh du répertoire courant exécutables

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 65
    Par défaut
    donc si j'ai bien compris cd et ls ne lisent pas par defaut l'entree standard c'est sa ?

    car c'est ls qui me posait probleme. comment donc savoir si une commande lit l'entree standard par defaut?

    est ce peut etre quand une commande demande a lire quelque chose ou un fichier?

    merci pour ta reponse iblis

Discussions similaires

  1. [tcsh] Redirection entrée standard
    Par arkham55 dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 26/04/2012, 11h57
  2. Redirection entrée standard avant EXEC
    Par AllyKo dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 14/05/2007, 09h35
  3. Redirection entrée standard entre deux processus
    Par mverhaeghe dans le forum POSIX
    Réponses: 5
    Dernier message: 08/04/2007, 16h55
  4. redirection de la sortie standard
    Par sorari dans le forum C++
    Réponses: 8
    Dernier message: 19/05/2005, 11h47
  5. Réponses: 2
    Dernier message: 21/12/2004, 15h28

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