Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/01/2018, à 13:41

moko138

Redirection de commandes

#1 (initialement écrit en ./viewtopic.php?pid=21520529#p21520529).

moko138 a écrit :
gastonbreton a écrit :

ça va être long, je tape tout à la main, il y a moyen de copier depuis mon autre ordinateur (..) ?

Oui, ça s'appelle "rediriger" et la commande est " >".
Nota : le retour de commande étant redirigée hors du terminal, on ne voit rien dans le terminal. Par exemple:

moi@mon-pc:~$ sudo parted -l > parted-l-2016-05-18.txt
[sudo] password for moi: 
moi@mon-pc:~$

  - -

N.B. :
>   crée le fichier de sortie, ou l'écrase s'il existe déjà !
>> crée le fichier de sortie, ou lui fait un ajout s'il existe déjà !

                    - - -

CAS 1, la session graphique marche

cd && ta-commande >> nom-de-ton-choix.txt

va produire le retour de ta commande dans ton home, sous le nom "nom-de-ton-choix.txt".

Ensuite tu n'as plus qu'à copier ce fichier sur clef usb et à le transférer vers le pc pleinement fonctionnel.
                    - - -

CAS 2, la session graphique ne marche pas
Brancher une clef usb et repérer son point de montage:
2.a) Dans Trusty et versions postérieures

ls -l /media/$USER

va te donner le point de montage de ta clef,
- sous son nom propre, si tu lui as donné une étiquette/label,
- sous son UUID (une site de chiffres et de lettres qui ressemblera à 1234-ABCD) sinon.

Rediriger la commande vers la clef (sans transiter par le home) :

ta-commande >> /media/$USER/1234-ABCD/nom-de-ton-choix.txt

Démonter la clef :

sudo umount /media/$USER/1234-ABCD

Il n'y a plus qu'à brancher la clef au pc pleinement fonctionnel.  smile
     - - -


2.b) Dans Precise   [pour mémoire]

ls -l /media

Rediriger la commande vers la clef (sans transiter par le home) :

ta-commande >> /media/1234-ABCD/nom-de-ton-choix.txt

Démonter la clef :

sudo umount /media/1234-ABCD

AJOUT (2/7/2018)
Merci à jpberroir pour l'astuce suivante :

Pour rester lisible après redirection,
top doit être lancé avec les options -b -n1

top -b -n1 | head -25 >> toto.txt

ou (vers la clef usb 1234-ABCD) :

top -b -n1 | head -25 >> /media/$USER/1234-ABCD/toto.txt

Dernière modification par moko138 (Le 02/07/2018, à 04:48)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#2 Le 25/01/2018, à 13:58

moko138

Re : Redirection de commandes

#2 Variante avec la commande "script"

Merci à grandtoubab et à MicP ! (cf. ./viewtopic.php?pid=21860000#p21860000

grandtoubab a écrit :

Une commande simple qui permets de sauvegarder le texte du terminal dans un fichier: script

Si on est dans une phase de dépannage, on peut demander à l'interlocuteur de préalablement écrire la commande

 script depannage.txt

et le fichier depannage.txt se rempli automatiquement avec les commandes et leur compte-rendu

pour le fermer complètement exit

$ exit
exit
Script terminé, le fichier est depannage.txt

On peut alors relire le fichier et avoir  la trace de toutes les erreurs de frappes ou le partager sur un serveur

C'est une technique que j'utilise aussi lorsque j'installe des logiciels sous forme de fichier archive ou un logiciel Windows dans Wine


Pour mettre directement le fichier sur la clef usb 1234-ABCD :

script /media/$USER/1234-ABCD/depannage.txt

  - -


Cette méthode a une limite :
il vaut mieux éviter, sous peine d'artefacts qui nuisent à la lisibilité, d'y employer les commandes comme "top" - sauf options ci-dessous et à la fin du premier message - et "ncdu" qui ne rendent pas la main à l'utilisateur (tant qu'on n'a pas tapé "q").

Pour top :

top -b -n1 | head -25

Et à la place de ncdu, employer du :

sudo du -xm -d1 / 2>/dev/null | sort -nr | head -8

Et si -d1 ne passe pas sur votre distribution, utilisez sa formule développée --max-depth=1 :

sudo du -xm --max-depth=1 / 2>/dev/null | sort -nr | head -8

Dernière modification par moko138 (Le 02/07/2018, à 05:20)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#3 Le 02/07/2018, à 05:21

moko138

Re : Redirection de commandes

Édité les deux messages ci-dessus, merci à jpberroir !


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#4 Le 23/11/2018, à 06:18

moko138

Re : Redirection de commandes

Astuce pour les aidants,

Dans le cas où la personne aidée a du mal à identifier le point de montage de sa clef usb en "/media/$USER/quelque chose/", ce point est généralement :
"/media/$USER/$(ls -rt /media/$USER | tail -1)" 
smile

Donc on peut :
  - lui demander de vérifier d'abord si

ls -lrt /media/$USER

retourne bien une ligne unique (explication à la fin de ce message) ;

  - si oui, lui faire copier-coller ce contournement :
     Cas de "script" :

script "/media/$USER/$(ls -rt /media/$USER | tail -1)/depannage.txt" 

     Cas de "ta-commande >>" :

ta-commande >> "/media/$USER/$(ls -rt /media/$USER | tail -1)/toto.txt"

  - -
Variante :
On peut aussi commencer par faire faire :

cd "/media/$USER/$(ls -rt /media/$USER | tail -1)"

Après quoi, chaque

ta-commande >> toto.txt ; echo >> toto.txt

ira ajouter son retour dans toto.txt, sur la clef.


= =

  Les guillemets sont destinés à tolérer les espaces dans l'étiquette éventuelle de la clef (ou d'une partition interne "Mes Documents", par exemple).

  tail -1 suppose que la clef porte la date la plus récente parmi les périphériques montés sous /media/$USER/.
Si c'est l'avant-dernier, on remplacera "tail -1" par "tail -2|head -1".
(Oui, il y a des clefs datées du 1er janvier 1970, et un dvd du commerce resté dans le tiroir peut fort bien être daté de 2036, ça m'est arrivé aujourd'hui...).
L'idéal  est donc d'avoir
  - un seul périphérique de stockage externe branché ;
  - Et aucun volume interne, comme le prévoit la hiérarchie standard Linux, monté sous /media/$USER/. Mais le moment de diagnostiquer une défaillance, n'est pas le plus approprié pour rectifier un écart par rapport au standard.
  D'où l'intérêt de la vérification initiale, et de se tenir prêt à remplacer tail -1
par tail -2|head -1, voire par tail -3|head -1.

Dernière modification par moko138 (Le 04/08/2019, à 10:32)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne