Un canal Unix relie les descripteurs de fichiers de deux processus. Un tube est créé avec la fonction POSIX pipe () déclarée dans <unistd.h>. Les shells permettent la création de canaux entre les processus en utilisant "|".
J'ai une application qui produira une grande quantité de données que je ne souhaite pas stocker sur le disque. L'application génère principalement des données que je ne souhaite pas utiliser, mais un ensemble d'informations utiles qui doivent être divisées en fichiers séparés. Par exemple, étant donné la sortie suivante: JUNK …
L'exemple ci-dessous m'a surpris. Cela semble être contre-intuitif ... à part le fait qu'il y a un temps d'utilisation plus important pour le echo | sedcombo. Pourquoi echoutilise-t-on autant de temps système lorsqu'il fonctionne seul, ou la question devrait-elle être: comment sedchange-t-on l'état des lieux? Il semble qu'il echofaudrait faire …
Désolé si c'est une question idiote mais j'essaie d'accomplir quelque chose comme ça mais sur une seule ligne: $ prog1 | prog2 $ prog1 | prog3 Donc, je veux essentiellement exécuter prog1 et diriger la sortie vers prog2 et prog3 séparément (pas un canal chaîné). Au début, j'essayais d'utiliser tee, …
J'essaie d' cdaccepter un nom de répertoire redirigé vers lui à partir d'une autre commande. Aucune de ces méthodes ne fonctionne: $ echo $HOME | cd $ echo $HOME | xargs cd Cela fonctionne: $ cd $(echo $HOME) Pourquoi le premier ensemble de commandes ne fonctionne-t-il pas et y en …
Si je veux tcpdump les requêtes DNS par les clients (sur un routeur OpenWrt 10.04), alors je root@ROUTER:/etc# tcpdump -n -i br-lan dst port 53 2>&1 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on br-lan, link-type EN10MB (Ethernet), capture size 96 bytes 22:29:38.989412 IP …
Je veux timeune commande qui se compose de deux commandes distinctes avec une sortie de tuyauterie à l'autre. Par exemple, considérez les deux scripts ci-dessous: $ cat foo.sh #!/bin/sh sleep 4 $ cat bar.sh #!/bin/sh sleep 2 Maintenant, comment puis-je timesignaler le temps pris par foo.sh | bar.sh(et oui, je …
J'essaie de trouver le moyen le plus efficace d'itérer à travers certaines valeurs qui sont un nombre cohérent de valeurs éloignées les unes des autres dans une liste de mots séparés par des espaces (je ne veux pas utiliser un tableau). Par exemple, list="1 ant bat 5 cat dingo 6 …
Certains shells, comme bash, prennent en charge la substitution de processus qui est un moyen de présenter la sortie du processus sous forme de fichier, comme ceci: $ diff <(sort file1) <(sort file2) Cependant, cette construction n'est pas POSIX et, par conséquent, n'est pas portable. Comment peut-on réaliser la substitution …
Cette question a été migrée depuis Server Fault car il est possible d'y répondre sur Unix & Linux Stack Exchange. Migré il y a 3 ans . J'ai créé un fichier de test nommé 'test' qui contient les éléments suivants: xxx yyy zzz J'ai exécuté la commande: (sed '/y/ q'; …
J'ai lu comment les canaux sont implémentés dans le noyau Linux et je voulais valider ma compréhension. Si je me trompe, la réponse avec l'explication correcte sera sélectionnée. Linux a un VFS appelé pipefs qui est monté dans le noyau (pas dans l'espace utilisateur) pipefs a un seul super bloc …
Sur la ligne de commande, je peux rediriger ou diriger la sortie d'une commande vers un fichier ou une autre commande à l'aide de l' opérateur >ou |après la commande. J'ai rencontré une situation moins standard que je voudrais rediriger la sortie vers un fichier, mais je ne semble pas …
Peut-il moins suivre (en appuyant sur F) une entrée canalisée (de manière similaire à un fichier)? Pour un fichier en cours d'écriture, la commande less <file> suivra le fichier en appuyant sur F. Mais si j'ai une commande qui envoie directement les tuyaux en moins, comme ceci command | less …
Auparavant, j'utilisais une sourcecommande comme celle-ci: source file_name Mais ce que j'essaie de faire, c'est ceci: echo something | source Ce qui ne marche pas.
Pourquoi est-ce que j'obtiens des valeurs différentes pour $xles extraits ci-dessous? #!/bin/bash x=1 echo fred > junk ; while read var ; do x=55 ; done < junk echo x=$x # x=55 .. I'd expect this result x=1 cat junk | while read var ; do x=55 ; done echo …
J'ai exploré presque toutes les questions similaires disponibles , en vain. Permettez-moi de décrire le problème en détail: J'exécute quelques scripts sans assistance et ceux-ci peuvent produire une sortie standard et des lignes d'erreur standard, je veux les capturer dans leur ordre précis affiché par un émulateur de terminal , …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.