Table des matières

Bienvenue dans l'atelier de Jacques !

L'Université d'été

Combinaisons de touches utiles pour les commandes sous Linux

CTRL + ALT + F1 (à F6) = passer en terminal non graphique.

CTRL + ALT + F7 = passer en mode graphique.

CTRL + D = lancer une déconnexion.

CTRL + C = quitter la ligne de commandes.

CTRL + L = effacer dans un terminal.

Lien vers mon site personnel

Quelques ressources...

Séance 1

Définitions, sous environnement Linux

Terminal = interface (connecté au serveur). Console = logiciel qui fait interface (attention, la console désigne un terminal sous Linux). TTY = abréviation pour TéléTYpe. Il s'agit du terminal (qui est en mode caractère). Le TTY permet de dépanner certaines cartes graphiques. Attention, les cartes ATI désactivent le TTY. Autres terminaux virtuels = Konsole, Terminator, Goshi…

Les couches système
Architecture Système Informatique
wiki distribution
Les couches système

1matériel
2noyau
3X Serveur ?
4distribution
5Gnome Display Manager (GDM) où Kde Display Manager (KDM)
6window manager
7console

Le shell

Sous linux, quand nous lançons une console c'est interpréteur de commande (en Anglais prompt) que nous voyons en premier, au départ, apparaît : [user@host:~$]


la syntaxe est similaire comme pour une adresse postale :

[Utilisateur    @ (adresse)   nom de la machine   : à partir de ~   (~ représente le répertoire home)  $  par l'utisateur]


- « user » est le nom de l'utilisateur.
- « @ » pour l'adresse.
- « host »« localhost » est le nom de la machine.
- « : » à partir du chemin.
- « ~ » dans le répertoire (équivalent à /home/user).
- « $ » indique qu'il s'agit d'un utilisateur normal.
- « # » indique qu'il s'agit de l'administrateur, appelé «root».


Bash (= Bourne-again shell) est le plus utilisé. Il en existe d'autres : ksh, tsh, sh, zsh…
Les fichiers intéressants (cachés, d'où la présence du point avant le nom du fichier) : .bash_profile, .bashrc, .bash_history, .bash_aliases, .bash_logout.
« .bash_history » contient l'enregistrement des lignes de commande.
« .bash_logout » contient la commande exécutée à la déconnexion (efface souvent, nettoie la console).
« . bashrc » contient la génération de l'environnement, la définition des variables dans une console.
« .bash_aliases » contient les raccourcis pratiques, de sécurité, etc (pour rendre les alias permanents, il suffit de les rajouter dans « .bashrc »).
Exemples :
alias rm ='rm -i' (rm est la commande de l'alias qui permet de supprimer un fichier, rm -i est la commande à exécuter qui demande confirmation avent de supprimer le fichier).
alias cp='cp -i' (copier un fichier).
alias mv='mv -i' (déplacer un fichier).
alias apgi='apt-get install'
alias apgu='apt-get update'
alias netw='/etc/init.d/network '\_ alias apache='/etc/init.d/apache '
alias sys='tail -n100/var/log/syslog'
alias mess='/var/log/messages'
alias l='ls -ailh'
Exercice : enlever les # devant les « if … then … » du .bash_aliases…

Quelques commandes

env donne les variables : user, home, shell, term… Remarque : le PS1 (prompt) est une variable d'environnement. pwd donne le chemin (/…).
sudo su (switch user).
sudo su -.
sudo -user (=user).
export thebest=manu
echo $thebest ($variable, sans espace)
unset $thebest : unset (utilisé en PHP) détruit les variables spécifiées
exp: Destruction d'une seule variable

unset($thebest);

texte entre guillemets « ».
top ou htop htop est un moniteur système pour Linux très similaire à top, mais qui propose une interface dans un terminal plus conviviale que ce dernier.

Séance 2

Définitions, sous environnement Linux

Tout est fichier sous Linux. /dev/zero répond zéro. /dev/null constitue un trou noir (poubelle); /dev/random est l'aléatoire.

La commande « man »

man constitue l'aide des commandes. (man man existe !). Le paquet manpage.fr permet d'installer l'aide en français man -l fr Q permet de quitter.

Organisation des commandes

commande -argument1 -argument2 (etc) … [fichier]. Exemples : ls -l -a -i = ls -lai com -e fichier1 -s fichier2 = com -s fichier2 -e fichier1 – signifie la fin des arguments : ls -toto ne fonctionne pas, mais ls.–.-toto oui.

La commande « cat »

Elle permet la lecture des fichiers. cat /etc/apt/sources.list La tabulation permet de compléter les commandes. cat -n /etc/apt/sources.list -n numérote les lignes. tac lit le fichier à l'envers.

La commande « head » Elle permet la lecture de l'en-tête des fichiers. head -n 4 /var/log/messages

La commande « tail »

Elle permet la lecture de la fin des fichiers. tail -n 10 /var/log/messages tail -n 10 /var/log/messages > /tmp/toto le « > » permet de créer un fichier

echo “coucou” > /tmp/fichier Entre guillemets anglais permet d'insérer du texte.

permet d'écraser, » permet de rajouter.

cat /proc/cpuinfo (sortie normale). cat /root/.bashrc > /tmp/toto (message d'erreur). 2>&1 cat /etc/shadow 2 > /dev/null

cat /var/log/messages | grep “kernel” (seulement lignes contenant le mot kernel). head -n 5 /etc/apt/sources.list | tail -n 1

grep motif (ne garde que motif). grep -v motif (inverse : ne garde que pas motif). grep -i

cat fichier | less (vers le haut) cat fichier | more (en fin de ligne : monter et descendre) entrée : ligne à ligne espace page à page écran.

mv (move) fichier origine fichier destination Exemple : mv /tmp/toto /tmp/titi (renommer fichier). cp (copier fichier ou répertoire). cp -r (récursif).

Séance 3

LSB = Linux Standard Base
HFS = Hierarchy File System

/ (racine)
/home/utilisateur (documents)
/tmp (perdu à l'arrêt)
/proc/cpuinfo (processeur ; emplacement virtuel n'occupant aucun espace ; fichiers dynamiques)
/var/log (données variables au lancement des programmes)
/usr/bin (espace utilisateur ; programmes utilisés par l'utilisateur)
/usr/sbin
/bin (programmes utilisés par le root)
/sbin
/etc (extended text configuration)
/opt (programmes optionnels ; plus utilisé)

Créer une arborescence

Chemin absolu et relatif : attention à l'emplacement où l'on se trouve !
Exemple : cp toto.doc /tmp/ et cp /home/utilisateur/documents/toto.doc /tmp/
Toujours penser au dernier / pour un répertoire ! cp /home/utilisateur/documents/toto.doc tmp/ (pas de / si je me trouve dans / !
~ équivaut au home
. équivaut là où je suis
.. équivaut au répertoire parent
./dossier/ équivaut de là où je suis vers le dossier

Liens : symboliques ou durs
ln -s (symbolique)
ln (dur)
exemple :
ln -s /home/manu/bureau/toto.doc / /home/toto/bureau/toto.doc
ln /home/manu/bureau/toto.doc / /home/toto/bureau/toto.doc
Le premier chemin est la source, le deuxième chemin est la destination.

Révision des redirections.

Exercices :

  1. Grâce à /proc/cpuinfo, retrouver la fréquence en chiffres du processeur en utilisant cat, grep, cut… en valeur numérique.
  2. Grâce à /var/log/auth.log, donner la date et l'heure de la dernière connexion en utilisant cat, grep, cut et en créant sur le bureau le fichier lastlog.txt.
  3. Grâce à /var/log/syslog, donner la date et l'heure du dernier redémarrage en utilisant reboot et en créant sur le bureau le fichier lastreboot.txt.
  4. Retrouver le contenu de /var/log, en particulier syslog et messages (toto.log, toto.log.0).
  5. Dans un terminal, taper tail -f /var/log/syslog et observer les changements.
  6. Utiliser rgrep, dmesg, lastlog, who, beep, top, lsb_release et dpkg -L.
  7. Comprendre cet exemple : cat fichier | grep « manu » équivaut à rgrep « manu » fichier.
  8. Retrouver le contenu de /etc (sans toucher : utiliser des cat) ; s'intéresser à network, apt, adduser.conf et cron.
  9. Pour info : cp -r copie le répertoire. Taper ls -ailh dans /.