jeudi 22 décembre 2011

Les commandes Unix de base à connaître

Avant de commencer

Où sommes-nous ?

L'utilisation de la console présente certains avantages mais également des inconvénients comme par exemple l'absence d’icônes qui permettent de se situer et se déplacer plus rapidement et simplement.

Cependant Debian propose des raccourcis et des indications qu'il faut connaitre car elles permettent de mieux se repérer et se déplacer.


Notez que le symbole ~ correspond à votre dossier personnel (/home/paul/ dans notre cas)

Pour vous familiariser avec la console et les lignes de commande, je vous conseil de regarder cette vidéo : Découverte de la console et quelques généralités.




Exercice 1


Afficher le manuel du programme man

Correction de l'exercice 1


Pour afficher le manuel d'un programme il suffit d'exécuter la commande man suivi du nom d'un programme, d'un utilitaire, d'une fonction ou d'un fichier spécial :

# man man

Tapez q pour quitter.



Exercice 2


Affichez le contenu du dossier racine de l'ensemble du système de fichiers, affichez la taille des fichiers contenu dans les dossiers /var/ et /var/www/, affichez les fichiers et dossiers cachés du dossier /var/ puis affichez le dossier /var/ en triant son contenu par ordre décroissante.

Correction de l'exercice 2


Pour pouvoir afficher le contenu d'un dossier il faut utiliser la commande ls (pour list segment)

# ls /
Affiche le contenu du dossier / (c'est à dire la racine de votre ordinateur)
# ls
Affiche le contenu du dossier actuel (~, votre dossier personnel)
Les options

Utiliser plusieurs options en même temps

Cette notion est valable pour tous les programmes (notamment ceux que nous allons voir au cours de cette série d'exercice).


Nous allons voir dans un instant que chaque programme possède un certain nombre d'options. Les options s'ajoutent à la suite de la commande.

L'une après l'autre : # ls / -l -h
ou de manière concaténée : # ls / -lh

Ces 2 commandes retourneront le même résultat.

Affichage détaillé du répertoire

Pour afficher un répertoire de manière détaillée il faut utiliser l'option -l (L minuscule)

# ls / -l

Affichage de la taille des fichiers

Pour afficher la taille des dossiers et des fichiers contenus dans un répertoire, il faut utiliser l'option -h associé avec l'option -l

# ls /var -l -h
# ls /var/www -l -h

/var/www/ ou var/www/ ?

var/www/ correspond au dossier www/ qui se trouve dans le dossier var/ qui lui se trouve dans le dossier actuel (dossier dans lequel vous vous situez).

/var/www/ correspond au dossier www/ qui se trouve dans le dossier var/ qui lui se trouve à la racine de votre système.

Afficher les fichiers et dossiers cachés

L'option -a permet d'afficher les éléments cachés d'un répertoire

# ls /var -l -a

Trier les fichiers et répertoire par date de modification décroissante

# ls /var -lct
Les couleurs

Vous avez surement remarqué que les dossiers s'affichaient de couleurs différentes, mais à quoi correspondent t'elles ?

Couleur par défaut du shell : Fichier standard
Vert : Exécutable
Bleu : Répertoire
Cyan : lien symbolique
Jaune : FIFO
Magenta : Socket
Rouge : Archive (.tar, .zip, .deb, .rpm)
Cyan : Images (.jpg, .gif, .png, .tiff)
Cyan : Audio (.mp3, .ogg, .wav)

Pour plus d'informations sur ls n'hésitez pas à afficher le manuel :

# man ls



Exercice 3


Déplacez vous de répertoire en répertoire en suivant le chemin suivant :
  • Remontez à la racine de l'ensemble du système de fichiers.
  • Placez-vous dans le répertoire /usr/bin/
  • Remontez au répertoire parent en utilisant la commande dédiée.
  • Retournez au répertoire précédent la encore en utilisant la commande dédiée.
  • Retournez au répertoire de l'utilisateur.

Correction de l'exercice 3


La commande cd (pour change directory) vous permet de vous déplacer de répertoire en répertoire.
# cd /
permet de remonter à la racine de l'ensemble du système de fichiers.
# cd /usr/bin/
se place dans le répertoire /usr/bin/
# cd ..
permet de remonter au répertoire parent
# cd -
permet de remonter au répertoire précédent
# cd
permet de revenir au répertoire /home/utilisateur (identique à cd ~)



Exercice 4


Placez vous dans votre répertoire personnel et créez le dossier un_dossier.

Correction de l'exercice 4


La commande mkdir (pour make directory) permet de créer des dossiers.

On se place dans notre dossier personnel

# cd

puis on créé notre nouveau dossier un_dossier

# mkdir un_dossier

puis on peut vérifier que notre dossier a bien été créé en listant le contenu du dossier dans lequel nous nous trouvons.

# ls
Notre nouveau dossier est bien là :)



Exercice 5


Placez vous dans votre répertoire personnel et créez le fichier un_fichier.txt en utilisant le programme nano.

Correction de l'exercice 5


nano est un programme permettant de créer et de modifier des fichiers texte.

# cd

Nous nous trouvons maintenant dans notre répertoire personnel.

# nano un_fichier.txt



On sauvegarde le fichier en utilisant la combinaison ctrl+o puis en validant par entrée. Une fois terminé nous pouvons quitter nano en faisant ctrl+x

Vérifions que notre fichier a été correctement enregistré en affichant le contenu du dossier dans lequel nous nous situons en utilisant la commande ls comme vu dans un des exercice précédent.

# ls
Notre nouveau fichier et notre dossier sont bien là :)




Exercice 6


Déplacez le fichier un_fichier.txt dans le dossier un_dossier

Correction de l'exercice 6


La commande mv (pour move) permet de déplacer ou renommer des fichiers et des répertoires.


# cd

Nous nous plaçons dans notre répertoire personnel si ce n'est pas déjà le cas.

# ls

On affiche le contenu du dossier dans lequel nous nous trouvons.

# mv un_fichier.txt un_dossier/

Déplaçons un_fichiers.txt dans le dossier un_dossier

# ls

Nous affichons de nouveau le contenu et nous pouvons voir que un_fichier.txt n'est plus là.

# ls un_dossier/

Vérifions que notre fichier est bien dans le dossier un_dossier.





Exercice 7


Copiez le fichier un_fichier.txt qui se trouve dans le dossier un_dossier à la racine de votre dossier personnel.

Correction de l'exercice 7


La commande cp (pour copy) permet de copier des fichiers ou des répertoires.


Raccourcis pratiques

Les caractères spéciaux ~, . et .. correspondent respectivement au répertoire personnel de l'utilisateur, au répertoire courant et au répertoire parent. Ils permettent tous les trois de simplifier l'expression de références absolues. Ainsi pour déplacer le fichier /UnRep/MonFichier respectivement dans le répertoire de l'utilisateur (/home/user), le répertoire courant (/rep1/sousrep2) ou le sous-répertoire toto du répertoire parent (/rep1/toto), on pourra utiliser les commandes ci-dessous :

$ mv /UnRep/MonFichier ~

$ mv /UnRep/MonFichier .

$ mv /UnRep/MonFichier ../toto/



# cd

Nous nous plaçons dans notre répertoire personnel si ce n'est pas déjà le cas.

# ls

Nous affichons le contenu du dossier dans lequel nous nous situons.

# ls un_dossier/

Nous affichons le contenu du dossier un_dossier et nous pouvons apercevoir le fichier un_fichier.txt.

# cp un_dossier/un_fichier.txt ~

Maintenant il ne nous reste plus qu'à copier un_fichier.txt qui se trouve dans le dossier un_dossier à la racine de notre dossier personnel (symbolisé par le ~) (Syntaxe du cp : # cp monFichierOuDossierACopier RepertoireDeDestination/).

# ls

On ré-affiche notre dossier et nous pouvons apercevoir que le fichier un_fichier.txt est maintenant disponible.

# ls un_dossier/

En affichant le contenu du dossier un_dossier nous pouvons voir l'original du fichier que nous venons de copier.





Exercice 8


Supprimez le fichier un_fichier.txt qui se trouve dans le dossier un_dossier de votre répertoire personnel (~/un_dossier/un_fichier.txt).

Correction de l'exercice 8


La commande rm (pour remove) permet d'effacer des fichiers et des répertoires.


$ cd

Nous nous plaçons dans notre répertoire personnel si ce n'est pas déjà le cas.


$ ls

Nous affichons le contenu du dossier dans lequel nous nous situons.

$ rm un_dossier/un_fichier.txt

On supprime le fichier (attention, cette commande est très dangereuse, ne l´exécutez uniquement si vous savez ce que vous faites.

$ ls un_dossier/

On affiche le contenu de notre dossier et nous pouvons nous apercevoir que celui-ci est désormais vide.

NB : Pour supprimer un dossier vous devez utiliser l'option r (r : Efface récursivement les fichiers ainsi que les répertoires).

$ rm un_dossier/ -r





Exercice 9


1) Listez tous les utilisateurs enregistrés.
2) Affichez le(s) groupe(s) de l'utilisateur Paul.
3) Ajoutez Paul au groupe www-data.
4) Retirez Paul du groupe www-data.


Correction de l'exercice 9


Pour lister l'ensemble des utilisateurs présents sur le serveur, on exécute la commande suivante :

# cat /etc/passwd | cut -d":" -f1
Cette commande liste le contenu du fichier "/etc/passwd" et récupère le contenu de chaque ligne qui précède le premier ":" (la liste des utilisateurs).

En exécutant la commande "# cat /etc/passwd" nous pouvons donc afficher plus d'informations sur les utilisateurs tels que le dossier personnel de l'utilisateur.

Pour connaitre le(s) groupe(s) auquel appartient un utilisateur, la commande suivante doit être utilisée :

# groups Paul
Nous apprenons donc que l'utilisateur Paul appartient au groupe Paul

Nous souhaitons maintenant ajouter Paul au groupe www-data

# adduser Paul www-data
On vérifie que Paul fait bien parti des 2 groupes maintenant :

# groups Paul
Si nous souhaitons revenir en arrière et supprimer Paul du groupe www-data :

# deluser Paul www-data
On vérifie que Paul ne fait plus parti du groupe www-data :

# groups Paul

Aucun commentaire:

Enregistrer un commentaire