« Linux » : différence entre les versions

De Justine's wiki
Aller à la navigation Aller à la recherche
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 "<"&nbsp; (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>
&nbsp;
&nbsp;
&nbsp;
&nbsp;

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.