1. ATELIER 1 : Affichage et identification

Objectifs

Prendre en main un poste de travail,
Se renseigner sur les utilisateurs connectés.

1.1. Exercice 1.1 : Identification

  • Se connecter sur la console 1.

  • Afficher les informations concernant le login courant.

[stagiaire]$ id
uid=1000(stagiaire) gid=100(users) groupes=100(users) …
  • Se connecter sur la console 2 avec le même utilisateur.

  • Afficher les informations concernant le login courant.

[stagiaire]$ id
uid=1000(stagiaire) gid=100(users) groupes=100(users) …
  • Afficher les informations concernant l’utilisateur patrick.

[stagiaire]$ id patrick
uid=503(patrick) gid=501(GroupeP) groupes=501(GroupeP)
  • D’autres utilisateurs sont-ils connectés sur le serveur ?

[stagiaire]$ who
stagiaire tty1 2016-01-04 13:05
stagiaire tty2 2016-01-04 13:10

Il n’y a que l’utilisateur stagiaire de connecté sur le serveur. Il est connecté sur le terminal 1 (tty1) Les terminaux physiques sont nommés ttyX, les terminaux virtuels (ceux de l’interface graphique) sont nommés (pts/X).

  • Depuis quelle console êtes-vous connecté ?

[stagiaire]$ who am i
stagiaire tty2 2016-01-04 13:10
[stagiaire]$ whoami
stagiaire

2. ATELIER 2 : A l’aide !

Objectifs

Rechercher dans la documentation,
Se renseigner sur les utilisateurs connectés.

2.1. Exercices 2.1 : Utiliser le manuel

  • Rechercher de l’aide sur la commande passwd

[stagiaire]$ whatis passwd
passwd (1) – Mettre à jour les marques d’authentification d’un utilisateur
passwd (5) – Fichier des mots de passe
[stagiaire]$ man passwd
  • Rechercher des informations sur le formatage du fichier passwd

[stagiaire]$ man 5 passwd
  • Quel est l’emplacement de l’UID dans le fichier passwd à l’aide du man.

[stagiaire]$ man 5 passwd
/UID
  • Vérifier la date du jour.

[stagiaire]$ date
jeu. mars 14 15:15:25 CET 2015
  • Effacer la console.

[stagiaire]$ clear

3. ATELIER 3 : Arborescence et fichiers

Objectifs

créer, supprimer, déplacer des fichiers ou des répertoires ;
se déplacer dans l’arborescence.

3.1. Exercice 3.1 : Création de répertoires

  • Afficher le répertoire courant.

[stagiaire]$ pwd
/home/stagiaire
  • Se déplacer de deux façons différentes sous le répertoire /home.

chemin absolu :

[stagiaire]$ cd /home/

chemin relatif :

[stagiaire]$ cd ..
  • Vérifier que /home soit bien le nouveau répertoire courant.

[stagiaire]$ pwd
/home
  • Retourner dans le répertoire de connexion, et vérifier.

[stagiaire]$ cd
[stagiaire]$ pwd
/home/stagiaire
  • Créer les répertoires suivants : /home/stagiaire/tickets/ /home/stagiaire/tickets/pierre/ /home/stagiaire/tickets/jacques/

[stagiaire]$ mkdir -p tickets/pierre tickets/jacques
[stagiaire]$ ls tickets/
jacques pierre

3.2. Exercice 3.2 : Gestion des fichiers

  • Créer le fichier /home/stagiaire/tickets/listing_en_cours.

[stagiaire]$ touch tickets/listing_en_cours
  • Copier ce fichier dans les répertoires /home/stagiaire/tickets/pierre et /home/stagiaire/tickets/jacques. Vérifier la taille de ces fichiers.

[stagiaire]$ cp tickets/listing_en_cours tickets/pierre/
[stagiaire]$ cp tickets/listing_en_cours tickets/jacques/

Vérifier la copie en comparant les tailles :

[stagiaire]$ ls -lh tickets/listing_en_cours tickets/pierre/listing_en_cours tickets/jacques/listing_en_cours
-rw-r--r-- 1 stagiaire users 0 […] tickets/listing_en_cours
-rw-r--r-- 1 stagiaire users 0 […] tickets/pierre/listing_en_cours
-rw-r--r-- 1 stagiaire users 0 […] tickets/jacques/listing_en_cours

La taille des fichiers est identique, 0 octet (ils sont vides).

  • Renommer le fichier /home/stagiaire/tickets/jacques/listing_en_cours en listing_fini.

[stagiaire]$ mv tickets/jacques/listing_en_cours tickets/jacques/listing_fini
  • Déplacer et renommer le fichier /home/stagiaire/listing_en_cours en /STAGE/commandes/archive_listing.

Pour déplacer le fichier listing_en_cours du répertoire /home/stagiaire/tickets vers /STAGE/commandes, il faut d’abord créer ce dernier dossier :

[stagiaire]$ mkdir –p /STAGE/commandes

puis le déplacer :

[stagiaire]$ mv tickets/listing_en_cours /STAGE/commandes/archive_listing

3.3. Exercice 3.3 : Gestion des répertoires

  • Copier le répertoire /home/stagiaire/tickets/pierre/ et son contenu en le renommant /home/stagiaire/tickets/sauvegarde.

[stagiaire]$ cp –r tickets/pierre/ tickets/sauvegarde
  • Renommer le répertoire /home/stagiaire/tickets/sauvegarde/ en /home/stagiaire/tickets/archives.

[stagiaire]$ mv tickets/sauvegarde/ tickets/archives
  • Copier le répertoire /home/stagiaire/tickets/ dans le répertoire /STAGE/commandes/.

[stagiaire]$ cp –r tickets/ /STAGE/commandes/

3.4. Exercice 3.4 : Suppression de fichiers et répertoires

  • Afficher le contenu des répertoires /home/stagiaire/tickets/jacques/ et /home/stagiaire/tickets/pierre/.

[stagiaire]$ ls tickets/jacques/ tickets/pierre/
tickets/jacques/:
listing_fini

tickets/pierre/:
listing_en_cours
  • Supprimer le répertoire /home/stagiaire/tickets/jacques/ avec la commande rmdir.

[stagiaire]$ rmdir tickets/jacques/
rmdir : échec de suppression de « tickets/jacques/ » : Le dossier n’est pas vide
[root]# rm –f tickets/jacques/listing_fini
[root]# rmdir tickets/jacques/
  • Supprimer le répertoire /home/stagiaire/pierre/ en une seule commande.

[stagiaire]$ rm -rf tickets/pierre/

Vérifier les suppressions :

[stagiaire]$ ls –R tickets/
tickets/:
archives

tickets/archives:
listing_en_cours

4. ATELIER 4 : Recherches et filtres

Objectifs

rechercher un fichier ;
rechercher du texte dans un fichier ;
afficher un fichier, trier son contenu.

4.1. Exercice 4.1 : Affichage et filtres

  • Copier dans le répertoire de connexion /home/stagiaire le fichier /etc/passwd.

Dorénavant, travailler sur cette copie.

[stagiaire]$ cp /etc/passwd ./
  • Afficher les 7 premières lignes puis les 3 dernières.

[stagiaire]$ head -n 7 /home/stagiaire/passwd
[stagiaire]$ tail -n 3 /home/stagiaire/passwd
  • Retrouvez la ligne contenant alain.

[stagiaire]$ grep "^alain" /home/stagiaire/passwd
alain:x:500:500::/home/GroupeA/alain:/bin/bash

Ou

[stagiaire]$ less /home/stagiaire/passwd

Puis

/alain
  • Trier ce fichier par ordre d'`UID` croissant.

[stagiaire]$ sort -k3 -t: -n /home/stagiaire/passwd
  • Combien y a-t-il d’utilisateurs créés sur le serveur ?

[stagiaire]$ wc -l /home/stagiaire/passwd
39 /home/stagiaire/passwd

Le fichier passwd contient 39 lignes, il y a donc 39 utilisateurs créés sur le serveur.

  • Déplacer ce fichier dans le répertoire /STAGE/commandes.

[stagiaire]$ mv /home/stagiaire/passwd /STAGE/commandes
  • Afficher les fichiers passwd présents dans le dossier /STAGE en précisant leur type.

[stagiaire]$ find /STAGE -name "passwd" –exec file {} \;
/STAGE/commandes/passwd: ASCII text

5. ATELIER 5 : tubes et redirections

Objectifs

utiliser un tube ;
utiliser une redirection.

5.1. Exercices

  • Créer un fichier /home/stagiaire/suivi_admin.

[stagiaire]$ touch /home/stagiaire/suivi_admin
  • Se connecter sur le terminal 2 et suivre les modifications du fichier en direct.

Se connecter sur le terminal 2 avec CTRL+SHIFT+ALT+F2 et afficher le fichier en temps réel :

[stagiaire]$ tail -f /home/stagiaire/suivi_admin

La suite de ce TP se fait sans éditeur de texte !

Retourner sous le terminal 1 et ajouter au fichier suivi_admin le texte Voici les répertoires de /STAGE/commandes/gestion/ :.

  • Retourner sur l’interface graphique avec ALT+F1 et modifier le fichier :

[stagiaire]$ echo "Voici les répertoires de /STAGE/commandes/gestion/ :" > /home/stagiaire/suivi_admin
  • Toujours dans suivi_admin, ajouter la liste des répertoires de /STAGE/commandes/gestion/ en faisant apparaître les tailles avec l’indication Ko, Mo, Go ou To.

[stagiaire]$ find /STAGE/commandes/gestion/ –type d –exec ls –sdh ‘{}’ \; >> /home/stagiaire/suivi_admin
  • Vérifier le contenu du fichier en basculant sur le terminal 2.

Se connecter sur le terminal 2 avec CTRL+SHIFT+ALT+F2

  • Retourner sous terminal 1 et ajouter au fichier suivi_admin le texte Voici les personnes ayant un fichier listing_en_cours sous /STAGE/commandes/gestion/ :.

Retourner sur l’interface graphique avec ALT+F1.

[stagiaire]$ echo "Voici les personnes ayant un fichier listing_en_cours sous /STAGE/commandes/gestion/:" >> /home/stagiaire/suivi_admin
  • Tapez la commande :

[stagiaire]$ find /STAGE/commandes/tickets –listing_en_cours >> /home/stagiaire/suivi_admin 2>/home/stagiaire/erreur
  • Basculer sur le terminal 2 et vérifier que la commande se soit bien exécutée.

Sur le terminal 2, rien n’a été modifié. En fait, la commande saisie comporte une erreur. Son affichage a donc été redirigé sur le canal d’erreur, le fichier erreur, et non suivi_admin.

  • Corriger la commande pour remplir le fichier suivi_admin.

Il faut donc corriger la commande :

[stagiaire]$ find /STAGE/commandes/tickets -name listing_en_cours >> /home/stagiaire/suivi_admin 2> /home/stagiaire/erreur
  • Afficher parmi les 3 dernières lignes du fichier suivi_admin celles qui contiennent pierre.

[stagiaire]$ tail –n3 /home/stagiaire/suivi_admin | grep "pierre" /STAGE/commandes/tickets/pierre/listing_en_cours
  • Retourner sous le terminal 2 et se déconnecter.

taper Ctrl+d puis :

[stagiaire]$ exit