« Linux » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 101 : | Ligne 101 : | ||
<code>systemd-resolve –status</code> | <code>systemd-resolve –status</code> | ||
</div> | </div> | ||
== Les redirections == | |||
Lorsque je lance une commande, celle-ci lance un processus qui lui même possède un flux de données avec plusieurs entrées/sorties: | |||
*La sortie standard (stdout) : redirige par défaut vers l'écran, c'est ce qui se passe quand tout va bien | |||
*La sortie d'erreur (stderr) : ce sont tous les messages d'erreur, par défaut elle redirige aussi vers l'écran | |||
*L'entrée standard (stdin) : Le processus lit les données entrées par l'utilisateur (par le clavier) | |||
Le but d'une redirection est de rediriger ces flux. | |||
=== En pratique === | |||
*Rediriger stdout vers un fichier avec ">": Si par exemple je veux faire la liste des fichiers de log de mon système et en faire une copie dans un fichier texte, je peux utiliser <code>ls -l /var/log > liste-log.txt. </code>Rien ne s'affiche à l'écran et un fichier est bel et bien créé à l'endroit où j'ai rentré la commande. Attention, si un autre fichier liste-log.txt existait déjà, il aurait été écrasé! | |||
*Rediriger une commande (stdout) à la fin d'un fichier avec ">>" : Le principe est le même, sauf que le texte est redirigé par concaténation à la fin d'un fichier. Ainsi si le fichier existe déjà, il ne sera pas supprimé mais recevra simplement les nouvelles informations à la fin de celui-ci. | |||
*Rediriger les erreurs (stderr) avec "2>" ou "2>>" : le principe est le même que le simple/double chevron sauf que cette fois on ne redirige le flux d'erreurs, au lieu de la sortie standard. | |||
*Rediriger les données venant d'un fichier vers une commande avec "<" (on redirige vers stdin): Au lieu d'utiliser le clavier comme entrée, on va utiliser un fichier. Par exemple, si je l'utilise avec cat pour lire un fichier, je peux faire un <code>cat < fichier.txt. Le résultat est le même qu'un cat fichier.txt, mais le processus est différent.</code> | |||
| |||
| |||
| |
Version du 31 octobre 2018 à 14:57
Console/Shell :
Une commande rentrée passe par Console >; Shell >; kernel.
On a différents shells: Bourne shell sh, Bourne Again shell bash, C shell csh, Korn shell ksh…
La console est une IHM, le shell un interpréteur de commandes qui parle au kernel.
halt now est devenu halt -p. halt, poweroff sont des raccourcis de la commande shutdown. Exemple de reboot : shutdown -r now
mkdir -p #permet de créer des dossiers récursifs. mkdir -p /var/coucou/salut #En chemin absolu mkdir -p coucou/salut/ #Chemin relatif cp /var/log/syslog . #Va copier syslog dans mon répertoire courant, vive le point cp -r /var/log /home/justine/ #Copie le dossier log vers mon home (le dossier complet, pas juste le #contenu)
mv fichier /dossier/ #Déplace fichier dans dossier ; pas besoin de mv fichier /dossier/fichier
Commande cat:
cat fichier1 fichier2 #Affiche le contenu des deux fichiers à la suite.
Commande find:
Les arguments d’action : -print (affiche le NOM) -delete -exec -name (faire une recherche dans le nom du fichier)
find / coucou -print #Cherche le fichier coucou dans / et l’affiche find / -name password* -print #rechercher les fichiers dont le nom commence par password dans / #et afficher leur chemin find / -size 15M #Rechercher des fichiers de de 15 mégaoctets ; k pour kilo M pour méga G #pour giga find / -type f -exec cat {}\ ; #Exécute cat sur le résultat #Ici je cherche dans / un fichier (‘-type f’, je peux faire ‘-type d’ pour un dossier) puis j’éxecute (-exec) la commande cat sur la trouvaille {} et je finis ma liste de commande avec \ ;
{} signifie « ce que j’ai trouvé », apparement un find -exec finit toujours par \ ;
Je peux y rajouter du -name , du -print, etc
Configuration d'interfaces
Les noms d'interfaces sont désormais déterminés en fonction de la configuration matérielle:
<type d'interface><numéro du bus><numéro du slot> <en>p(pour la carte PCI)<0><3> soit enp0s3
Sur Ubuntu
Sur Ubuntu Desktop, ce n’est pas /etc/network/interfaces qui est utilisé mais /etc/netplan: le fichier à modifier a l'extension .yaml
!!! Dans ce fichier, il ne faut pas utiliser de tabulations et bien positionner ses espaces !
Exemple en ip fixe :
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.10.10.2/24 gateway4: 10.10.10.1 nameservers: search: [mydomain, otherdomain] addresses: [10.10.10.1, 1.1.1.1]
Et pour appliquer les changements:
sudo netplan apply #(on peut ajouter un –debug en cas de problèmes)
!!! Même resolv.conf n’est plus utilisé : c’est systemd-resolve qui s’occupe de resolver les adresses. Plus d'informations sur les serveurs DNS avec la commande :
systemd-resolve –status
Les redirections
Lorsque je lance une commande, celle-ci lance un processus qui lui même possède un flux de données avec plusieurs entrées/sorties:
- La sortie standard (stdout) : redirige par défaut vers l'écran, c'est ce qui se passe quand tout va bien
- La sortie d'erreur (stderr) : ce sont tous les messages d'erreur, par défaut elle redirige aussi vers l'écran
- L'entrée standard (stdin) : Le processus lit les données entrées par l'utilisateur (par le clavier)
Le but d'une redirection est de rediriger ces flux.
En pratique
- Rediriger stdout vers un fichier avec ">": Si par exemple je veux faire la liste des fichiers de log de mon système et en faire une copie dans un fichier texte, je peux utiliser
ls -l /var/log > liste-log.txt.
Rien ne s'affiche à l'écran et un fichier est bel et bien créé à l'endroit où j'ai rentré la commande. Attention, si un autre fichier liste-log.txt existait déjà, il aurait été écrasé! - Rediriger une commande (stdout) à la fin d'un fichier avec ">>" : Le principe est le même, sauf que le texte est redirigé par concaténation à la fin d'un fichier. Ainsi si le fichier existe déjà, il ne sera pas supprimé mais recevra simplement les nouvelles informations à la fin de celui-ci.
- Rediriger les erreurs (stderr) avec "2>" ou "2>>" : le principe est le même que le simple/double chevron sauf que cette fois on ne redirige le flux d'erreurs, au lieu de la sortie standard.
- Rediriger les données venant d'un fichier vers une commande avec "<" (on redirige vers stdin): Au lieu d'utiliser le clavier comme entrée, on va utiliser un fichier. Par exemple, si je l'utilise avec cat pour lire un fichier, je peux faire un
cat < fichier.txt. Le résultat est le même qu'un cat fichier.txt, mais le processus est différent.