Avec les redirections de sortie Shell
Ecrire la sortie d'un terminal dans un fichier
La syntaxe :
Code : Tout sélectionner
commande > fichierDeSortie
Code : Tout sélectionner
$ lsmod > output.txt
$ head output.txt
Module Size Used by
hid_generic 16384 0
usbhid 65536 0
hid 147456 2 usbhid,hid_generic
xt_conntrack 16384 1
xt_MASQUERADE 20480 1
nf_conntrack_netlink 53248 0
xfrm_user 45056 1
xfrm_algo 16384 1 xfrm_user
nft_counter 16384 15
A noter si le fichier de sortie existe, il sera effacé.
Incrémenter un fichier de la sortie d'un terminal
Même principe, mais si le fichier existe il ne sera pas effacé mais son contenu sera incrémenté de la sortie.
Il suffit de doubler le caractère de redirection de sortie ( >> à la place de > )
Code : Tout sélectionner
$ echo "Sortie de lsmod" >> output.txt
$ date >> output.txt
$ lsmod >> output.txt
$ head output.txt
sortie de lsmod
lun. 24 août 2020 13:42:55 CEST
Module Size Used by
hid_generic 16384 0
usbhid 65536 0
hid 147456 2 usbhid,hid_generic
xt_conntrack 16384 1
xt_MASQUERADE 20480 1
nf_conntrack_netlink 53248 0
xfrm_user 45056 1
Avec la command tee
Une autre façon de procéder est d'utiliser la commande tee
Code : Tout sélectionner
$ whoami | tee output.txt
ragnarok
$ cat output.txt
ragnarok
On utilise l'attribut -a de la commande tee
Code : Tout sélectionner
$ date | tee -a output.txt
lun. 24 août 2020 13:59:43 CEST
$ whoami | tee -a output.txt
ragnarok
$ pwd | tee -a output.txt
/home/ragnarok
$cat output.txt
lun. 24 août 2020 13:59:43 CEST
ragnarok
/home/ragnarok
A noter : il est possible de gérer les erreurs et des sorties de terminal de façon plus fine. Consulter la documentation.