Debian : Commandes de bases
>>> Débuter avec Debian
Version PDF

Le but de cet article est de vous donner les commandes de bases sur Debian afin que vous puissiez être autonome.


Sommaire :

I) Fichiers, Dossiers et liens
1) Lister les fichiers et les dossiers
2) Manipuler les dossiers
3) Manipuler les fichiers
4) Liens symboliques
5) Gestion des droits
II) Utilisateur et groupes
1) Gestion des utilisateurs
2) Gestion des groupes
III) Recherches
1) Recherche par nom
2) Recherche par taille
3) Recherche par date
4) Recherche par type
5) Recherche par propriétaire ou par groupe
6) Recherche par droits/permissions
IV) Système
1) Éteindre et redémarrer le système
2) Gérer les services
3) Gérer les processus
4) Afficher des informations
5) Monter un périphérique
6) Réseau
V) Installation de paquets
1) Définir les dépôts APT
2) Gestion des paquets
VI) Outils
1) Téléchargements "wget"
2) Compresser et décompresser


I) Fichiers, Dossiers et liens

Haut de page

Je vais commencer cet article par vous expliquer les commandes de base pour gérer les fichiers et les dossiers.

1) Lister les fichiers et les dossiers

 Pour lister les fichiers et les dossiers :

# ls /

 Vous devez obtenir ceci :

bin   dev  home        lib    lost+found  mnt  proc  run   srv  tmp  var
boot  etc  initrd.img  lib64  media       opt  root  sbin  sys  usr  vmlinuz

La commande "ls" a plusieurs options possibles :

 Afficher une liste détaillée :

ls -l

 Vous devez obtenir ceci :

drwxr-xr-x  2 root root  4096 déc.  23 11:28 bin
drwxr-xr-x  3 root root  4096 déc.  23 11:30 boot
drwxr-xr-x 18 root root  3140 déc.  23 11:30 dev
drwxr-xr-x 83 root root  4096 déc.  23 11:33 etc
drwxr-xr-x  4 root root  4096 déc.  23 11:30 home
lrwxrwxrwx  1 root root    31 déc.  23 11:22 initrd.img -> /boot/initrd.img-3.16               .0-4-amd64
drwxr-xr-x 14 root root  4096 déc.  23 11:24 lib
drwxr-xr-x  2 root root  4096 déc.  23 11:21 lib64
drwx------  2 root root 16384 déc.  23 11:20 lost+found
drwxr-xr-x  3 root root  4096 déc.  23 11:20 media
drwxr-xr-x  2 root root  4096 déc.  23 11:21 mnt
drwxr-xr-x  2 root root  4096 déc.  23 11:21 opt
dr-xr-xr-x 87 root root     0 déc.  23 11:30 proc
drwx------  3 root root  4096 déc.  23 11:35 root
drwxr-xr-x 18 root root   700 déc.  23 11:36 run
drwxr-xr-x  2 root root  4096 déc.  23 11:30 sbin
drwxr-xr-x  2 root root  4096 déc.  23 11:21 srv
dr-xr-xr-x 13 root root     0 déc.  23 11:30 sys
drwxrwxrwt  7 root root  4096 déc.  23 11:34 tmp
drwxr-xr-x 10 root root  4096 déc.  23 11:21 usr
drwxr-xr-x 11 root root  4096 déc.  23 11:21 var

Pour plus de détails (exemple pour la première ligne) :

  • drwxr-xr-x : Droits sur le fichier/dossier
  • 2 : Nombre de liens physiques
  • root : Nom du propriétaire du fichier/dossier
  • root : Groupe auquel appartient le fichier/dossier
  • 4096 : Taille du fichier/dossier (en octets)
  • déc. 23 11:28 : Date de dernière modification
  • bin : Nom du fichier/dossier

 Afficher tous les fichiers/dossiers cachés :

ls -a

 Vous devez obtenir ceci :

.   bin   dev  home        lib    lost+found  mnt  proc  run   srv  .test  usr  vmlinuz
..  boot  etc  initrd.img  lib64  media       opt  root  sbin  sys  tmp    var

 Afficher les éléments :

ls -F

 Vous devez obtenir ceci :

bin/   etc/         lib/         media/  proc/  sbin/  tmp/  vmlinuz@
boot/  home/        lib64/       mnt/    root/  srv/   usr/
dev/   initrd.img@  lost+found/  opt/    run/   sys/   var/

 Afficher une liste avec les tailles :

ls -lh

 Vous devez obtenir ceci :

drwxr-xr-x  2 root root 4,0K déc.  23 11:28 bin
drwxr-xr-x  3 root root 4,0K déc.  23 11:30 boot
drwxr-xr-x 18 root root 3,1K déc.  23 11:30 dev
drwxr-xr-x 83 root root 4,0K déc.  23 11:33 etc
drwxr-xr-x  4 root root 4,0K déc.  23 11:30 home
lrwxrwxrwx  1 root root   31 déc.  23 11:22 initrd.img -> /boot/initrd.img-3.16.               0-4-amd64
drwxr-xr-x 14 root root 4,0K déc.  23 11:24 lib
drwxr-xr-x  2 root root 4,0K déc.  23 11:21 lib64
drwx------  2 root root  16K déc.  23 11:20 lost+found
drwxr-xr-x  3 root root 4,0K déc.  23 11:20 media
drwxr-xr-x  2 root root 4,0K déc.  23 11:21 mnt
drwxr-xr-x  2 root root 4,0K déc.  23 11:21 opt
dr-xr-xr-x 87 root root    0 déc.  23 11:30 proc
drwx------  3 root root 4,0K déc.  23 11:35 root
drwxr-xr-x 18 root root  700 déc.  23 11:36 run
drwxr-xr-x  2 root root 4,0K déc.  23 11:30 sbin
drwxr-xr-x  2 root root 4,0K déc.  23 11:21 srv
dr-xr-xr-x 13 root root    0 déc.  23 11:41 sys
drwxrwxrwt  7 root root 4,0K déc.  23 11:34 tmp
drwxr-xr-x 10 root root 4,0K déc.  23 11:21 usr
drwxr-xr-x 11 root root 4,0K déc.  23 11:21 var

 Afficher une liste triée par date de modification :

ls -lt

 Vous devez obtenir ceci :

dr-xr-xr-x 13 root root     0 déc.  23 11:41 sys
drwxr-xr-x 18 root root   700 déc.  23 11:36 run
drwx------  3 root root  4096 déc.  23 11:35 root
drwxrwxrwt  7 root root  4096 déc.  23 11:34 tmp
drwxr-xr-x 83 root root  4096 déc.  23 11:33 etc
drwxr-xr-x 18 root root  3140 déc.  23 11:30 dev
dr-xr-xr-x 87 root root     0 déc.  23 11:30 proc
drwxr-xr-x  2 root root  4096 déc.  23 11:30 sbin
drwxr-xr-x  3 root root  4096 déc.  23 11:30 boot
drwxr-xr-x  4 root root  4096 déc.  23 11:30 home
drwxr-xr-x  2 root root  4096 déc.  23 11:28 bin
drwxr-xr-x 14 root root  4096 déc.  23 11:24 lib
lrwxrwxrwx  1 root root    31 déc.  23 11:22 initrd.img -> /boot/initrd.img-3.16.0-4-amd64
lrwxrwxrwx  1 root root    27 déc.  23 11:22 vmlinuz -> boot/vmlinuz-3.16.0-4-amd64
drwxr-xr-x  2 root root  4096 déc.  23 11:21 lib64
drwxr-xr-x 10 root root  4096 déc.  23 11:21 usr
drwxr-xr-x 11 root root  4096 déc.  23 11:21 var
drwxr-xr-x  2 root root  4096 déc.  23 11:21 opt
drwxr-xr-x  2 root root  4096 déc.  23 11:21 srv
drwxr-xr-x  2 root root  4096 déc.  23 11:21 mnt
drwxr-xr-x  3 root root  4096 déc.  23 11:20 media
drwx------  2 root root 16384 déc.  23 11:20 lost+found

 Afficher une liste triée par date de modification inverse :

ls -ltr

 Vous devez obtenir ceci :

drwx------  2 root root 16384 déc.  23 11:20 lost+found
drwxr-xr-x  3 root root  4096 déc.  23 11:20 media
drwxr-xr-x  2 root root  4096 déc.  23 11:21 mnt
drwxr-xr-x  2 root root  4096 déc.  23 11:21 srv
drwxr-xr-x  2 root root  4096 déc.  23 11:21 opt
drwxr-xr-x 11 root root  4096 déc.  23 11:21 var
drwxr-xr-x 10 root root  4096 déc.  23 11:21 usr
drwxr-xr-x  2 root root  4096 déc.  23 11:21 lib64
lrwxrwxrwx  1 root root    27 déc.  23 11:22 vmlinuz -> boot/vmlinuz-3.16.0-4-amd64
lrwxrwxrwx  1 root root    31 déc.  23 11:22 initrd.img -> /boot/initrd.img-3.16.0-4-amd64
drwxr-xr-x 14 root root  4096 déc.  23 11:24 lib
drwxr-xr-x  2 root root  4096 déc.  23 11:28 bin
drwxr-xr-x  4 root root  4096 déc.  23 11:30 home
drwxr-xr-x  3 root root  4096 déc.  23 11:30 boot
drwxr-xr-x  2 root root  4096 déc.  23 11:30 sbin
dr-xr-xr-x 87 root root     0 déc.  23 11:30 proc
drwxr-xr-x 18 root root  3140 déc.  23 11:30 dev
drwxr-xr-x 83 root root  4096 déc.  23 11:33 etc
drwxrwxrwt  7 root root  4096 déc.  23 11:34 tmp
drwx------  3 root root  4096 déc.  23 11:35 root
drwxr-xr-x 18 root root   700 déc.  23 11:36 run
dr-xr-xr-x 13 root root     0 déc.  23 11:41 sys

2) Manipuler les dossiers

a) Création

 Pour créer un dossier la commande à utiliser :

mkdir Nom_Du_Dossier

 Vous pouvez aussi créer plusieurs dossiers en même temps :

mkdir Nom_Du_Dossier1 Nom_Du_Dossier2 Nom_Du_Dossier3 Nom_Du_Dossier4

 Pour créer une arborescence, vous devez utiliser l’option "-p" :

mkdir -p Nom_Du_Dossier1/Nom_Du_Dossier2/Nom_Du_Dossier3/Nom_Du_Dossier4

b) Copier

 Pour copier un dossier :

cp Nom_Du_Dossier Nom_Du_Dossier1

 Pour copier un dossier et les sous-dossiers :

cp -R Nom_Du_Dossier Nom_Du_Dossier1

c) Déplacer

 Pour déplacer un dossier :

mv Nom_Du_Dossier /var/log/

d) Renommer

 Pour renommer un dossier :

mv Nom_Du_Dossier Nom_Du_Dossier2

e) Supprimer

 Pour supprimer un dossier vide :

rmdir Nom_Du_Dossier1

 Pour supprimer un dossier contenant que des dossiers ou des fichiers :

rm -R Nom_Du_Dossier1

 Vous pouvez aussi forcer la suppression :

rm -Rf Nom_Du_Dossier1

f) Naviguer dans les dossiers

 Pour aller dans le répertoire enfant :

cd Nom_Du_Repertoire

 Pour aller dans le répertoire qui se trouve au chemin indiqué :

cd /CHEMIN_COMPLET/Nom_Du_Repertoire

 Pour remonter vers le répertoire parent :

cd ..

 Reste dans le répertoire dans lequel on se trouve. Utile si l’on souhaite partir du répertoire courant pour effectuer un changement de répertoire. Ce paramètre est en fait tout le temps omis. Si l’on est dans le répertoire /home/nsalmon et que l’on veut se placer dans le répertoire fils document il suffit de faire cd document. C’est équivalent à cd ./document :

cd .	

 Se place sur la racine de l’arborescence de votre Debian :

cd

 Se place sur la racine de votre répertoire personnel. En général on se retrouve dans le répertoire /home/nom_utilisateur :

cd ~

3) Manipuler les fichiers

a) Créer un fichier

 Pour créer un nouveau fichier sans l’éditer, la commande est :

touche Nom_Du_Fichier

 Pour créer un nouveau fichier, vous pouvez aussi l’ouvrir directement dans un éditeur de texte comme Nano, Vim. La commande est :

vim Nom_Du_Fichier

Ou

nano Nom_Du_Fichier

b) Voir un fichier

 Pour afficher le contenu d’un fichier :

cat /etc/network/interfaces

 Vous devez obtenir ceci :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto

 Pour afficher page par page un gros fichier, il faut utiliser "| more" :

cat /etc/services |more

 Pour afficher un gros fichier tout en pouvant scroller le texte, il faut utiliser "| less" :

cat /etc/services |less

 Pour afficher seulement le début (seulement les 10 premières lignes) d’un gros fichier :

head /etc/services

 Pour afficher seulement les X premières lignes d’un gros fichier, il faut utiliser la commande suivante "head -n X" :

head -n 15 /etc/services

 Pour afficher seulement la fin (seulement les 10 dernières lignes) d’un gros fichier :

tail /etc/services

 Pour afficher seulement les X premières lignes d’un gros fichier, il faut utiliser la commande suivante "head -n X" :

tail -n 15 /etc/services

 Pour afficher la fin d’un gros fichier en temps réel, il faut utiliser l’option "-f" :

tail -f /var/log/syslog

c) Copier

 Pour copier un fichier :

cp Nom_Du_Fichier Nom_Du_Fichier1

 Pour copier un fichier dans un autre dossier :

cp Nom_Du_Fichier /var/log/Nom_Du_Fichier

d) Déplacer

 Pour déplacer un fichier :

mv Nom_Du_Fichier /var/log/Nom_Du_Fichier

e) Renommer

 Pour renommer un dossier :

mv Nom_Du_Fichier Nom_Du_Fichier1

f) Supprimer

 Pour supprimer un fichier :

rm Nom_Du_Fichier

 Pour supprimer avec une confirmation, il faut ajouter l’option "-i" :

rm -i Nom_Du_Fichier

 Pour forcer la suppression, il faut ajouter l’option "-f" :

rm -f Nom_Du_Fichier

4) Liens symboliques

 Pour Créer un lien symbolique cible qui pointera vers le fichier ou le répertoire fichier_ou_répertoire. On peut faire l’analogie entre le lien symbolique et le raccourci sous Windows :

ln -s fichier_ou_repertoire cible

5) Gestion des droits

a) Explications

Le système de droits de Linux est basé sur un modèle d’utilisateurs / groupes qui sont devenus la base principale de la sécurité sous Linux, les utilisateurs et les groupes bénéficient de droits à des fichiers et des répertoires.

Sur Linux nous avons trois différents droits de fichier :

  • r : read (lecture) : Quand l’autorisation de lecture sera actif sur un répertoire il signifie qu’on pourra énumérer les fichiers stockés dans ce répertoire, si elle est assignée à des fichiers on pourra lire son contenu.
  • w : write (écriture) : Lorsque l’écriture est activée sur un répertoire, vous pouvez créer et supprimer des fichiers dans le répertoire, s’il est activé pour les fichiers il signifie qu’on pourra modifier son contenu.
  • x : execute (exécution) : Si la permission d’exécution est activé sur un répertoire, signifie que l’utilisateur peut exercer d’autres fonctions dans le répertoire et s’il est actif sur les fichiers, signifie que le fichier pourra être exécute depuis la ligne de commandes.

 Reprenons la commande "ls -l" permettant de lister les fichiers et dossiers avec détail :

ls -l

 Vous devez obtenir ceci :

drwxr-xr-x  2 root root  4096 déc.  23 11:28 bin
drwxr-xr-x  3 root root  4096 déc.  23 11:30 boot
drwxr-xr-x 18 root root  3140 déc.  23 11:30 dev
drwxr-xr-x 83 root root  4096 déc.  23 11:33 etc
drwxr-xr-x  4 root root  4096 déc.  23 11:30 home
lrwxrwxrwx  1 root root    31 déc.  23 11:22 initrd.img -> /boot/initrd.img-3.16               .0-4-amd64
drwxr-xr-x 14 root root  4096 déc.  23 11:24 lib
drwxr-xr-x  2 root root  4096 déc.  23 11:21 lib64
drwx------  2 root root 16384 déc.  23 11:20 lost+found
drwxr-xr-x  3 root root  4096 déc.  23 11:20 media
drwxr-xr-x  2 root root  4096 déc.  23 11:21 mnt
drwxr-xr-x  2 root root  4096 déc.  23 11:21 opt
dr-xr-xr-x 87 root root     0 déc.  23 11:30 proc
drwx------  3 root root  4096 déc.  23 11:35 root
drwxr-xr-x 18 root root   700 déc.  23 11:36 run
drwxr-xr-x  2 root root  4096 déc.  23 11:30 sbin
drwxr-xr-x  2 root root  4096 déc.  23 11:21 srv
dr-xr-xr-x 13 root root     0 déc.  23 11:30 sys
drwxrwxrwt  7 root root  4096 déc.  23 11:34 tmp
drwxr-xr-x 10 root root  4096 déc.  23 11:21 usr
drwxr-xr-x 11 root root  4096 déc.  23 11:21 var

 Regardons la première partie : drwxr-xr-x, les droits sont assignés en groupes de trois et correspondent à :

  • d : indique qu’il s’agit d’un répertoire
  • Propriétaire (owner) : Propriétaire de des fichiers ou répertoires.
  • Groupe (group) : groupe auquel appartient le propriétaire du fichier.
  • Autres (others) : les utilisateurs d’autres groupes.
- rw- r-- r--
d rwx --- ---
d rwx r-x r-x
- rwx --- ---
- rwx --- ---
d rwx rwx rwx
- rwx --- ---
d rwx r-x r-x
  --- --- ---
   |   |   |
   |   |    <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+LS0tJmd0OyBBdXRyZXMKICZuYnNwOyB8PC9jb2RlPg=="></span>-------> Groupe
    `-----------> Propriétaire

b) Commandes

 Linux dispose de 3 commandes pour modifier les autorisations, le propriétaire et le groupe d’un fichier ou un répertoire, respectivement :

 chmod : Permet de changer les permissions du fichier ou du répertoire.

chmod [autorisations] [fichier / répertoire] [options]

 chown : Est utilisée pour changer le propriétaire du fichier ou de répertoire.

chown [nouveau propriétaire] [fichier / répertoire] [options]

 chgrp : Pour changer le groupe de fichiers ou de répertoires.

chgrp [groupe] [fichier / répertoire] [options]

c) Changer les permissions en utilisant des caractères

 Il existe deux méthodes pour changer les permissions, avec des caractères et avec des chiffres.

testSymboleDescription
Identités u C’est le propriétaire du fichier ou le répertoire.
g C’est le groupe du fichier ou du répertoire.
o D’autres utilisateurs, le reste du monde.
a Tout le monde - propriétaire, groupe et autres.
Permis r Accès de lecture.
w Accès en écriture.
x Accès d’exécution.
Actions + Ajouter permis.
- Élimine les permis.
= Le seul permis.

 Voici quelques exemples :

  • chmod u+rwx photo1.png : Ajouter toutes les autorisations pour le propriétaire. Vous devez obtenir : rwx------
  • chmod g+x photo1.png : Ajouter la permission d’exécution pour le groupe. Vous devez obtenir : rwx-x---
  • chmod o+r photo1.png : Ajouter la permission de lecture pour les autres utilisateurs. Vous devez obtenir : rwx-xr—
  • chmod u-rw photo1.png : Supprimer les permissions de lecture et écriture pour le propriétaire. Vous devez obtenir : —x-xr---
  • chmod a=r photo1.png : Nous établissons lecture comme seule autorisation pour les 3 groupes. Vous devez obtenir : r—r—r—
  • chmod u+rx,o+x photo1.png : Nous ajoutons les autorisations lecture et exécution pour le propriétaire et exécution pour les autres. Vous devez obtenir : ---------

d) Changer les permissions en utilisant des chiffres

Chaque autorisation a une valeur assignée, même quand l’autorisation ne sera pas active. Pour pouvoir utiliser les chiffres nous devrons tenir compte le tableau suivant avec leurs valeurs respectives :

Valeur Permis Description
0 --- Zéro signifie que pas de permis ont été attribués
1 —x On a seulement assigné celui d’exécution
2 -w- Seulement autorisation d’écriture
3 -wx Autorisations écriture et exécution
4 r— Seulement autorisation de lecture
5 r-x Autorisations lecture et exécution
6 rw- Autorisations lecture et écriture
7 rwx Autorisations de lecture, écriture et exécution

Les autorisations par chiffres sont assignées dans des groupes de 3 (propriétaire, groupe, autres), il n’est pas possible d’assigner seulement pour un ou deux d’entre eux.

 Voici quelques exemples :

  • chmod 600 photo1.png : Seul le propriétaire a le droit de lire et d’écrire. Vous devez obtenir : rw-------
  • chmod 644 photo1.png : Seul le propriétaire a la permission de lire et d’écrire mais le groupe et les autres ne peuvent que lire. Vous devez obtenir : rw-r—r—
  • chmod 700 photo1.png : Seul le propriétaire a le droit de lire, d’écrire et d’exécuter le fichier. Vous devez obtenir : rwx------
  • chmod 751 photo1.png : Le propriétaire a le droit de lire, d’écrire et d’exécuter, le groupe peut lire et exécuter et les autres ne peuvent que exécuter. Vous devez obtenir : rwxr-xr-x
  • chmod 711 photo1.png : Le propriétaire a les droits lecture, écriture et exécution ; le groupe et les autres peuvent seulement exécuter. Vous devez obtenir : rwx—x—x
  • chmod 666 photo1.png : Tout le monde peut lire et écrire dans les fichiers. Vous devez obtenir : rw-rw-rw-
  • chmod 777 photo1.png : Tout le monde peut lire, écrire et exécuter. Vous devez obtenir : rwxrwxrwx

II) Utilisateur et groupes

Haut de page

1) Gestion des utilisateurs

 Pour ajouter un utilisateur, la commande est "adduser"

adduser Nom_De_L'utilisateur

 Vous devez obtenir ceci :

adduser testuser
Ajout de l'utilisateur « testuser » ...
Ajout du nouveau groupe « testuser » (1001) ...
Ajout du nouvel utilisateur « testuser » (1001) avec le groupe « testuser » ...
Création du répertoire personnel « /home/testuser »...
Copie des fichiers depuis « /etc/skel »...
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès
Modification des informations relatives à l'utilisateur testuser
Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
        Nom complet []: utilisateur test
        N° de bureau []:
        Téléphone professionnel []:
        Téléphone personnel []:
        Autre []:
Cette information est-elle correcte ? [O/n]o

 Pour supprimer un utilisateur :

deluser Nom_De_L'utilisateur

 Pour supprimer un utilisateur ainsi que son répertoire home :

deluser --remove-home Nom_De_L'utilisateur

 Pour supprimer un utilisateur ainsi que son répertoire home et tous les fichiers de l’utilisateurs :

deluser --remove-all-files Nom_De_L'utilisateur

 Pour modifier le nom d’un utilisateur :

usermod -l Nouveau_nom Ancien_nom

 Changer le mot de passe de l’utilisateur, tapez la commande suivante :

passwd Nom_De_L'utilisateur
Entrez le nouveau mot de passe UNIX :
Retapez le nouveau mot de passe UNIX :
passwd : le mot de passe a été mis à jour avec succès

 Pour voir la liste de tous les utilisateurs (utilisateur + utilisateur système), tapez la commande suivante :

cat /etc/passwd | awk -F: '{print $ 1}'

2) Gestion des groupes

 Pour ajouter un groupe, tapez la commande suivante :

addgroup Nom_Du_Groupe

 Pour supprimer un groupe, tapez la commande suivante :

delgroup Nom_Du_Groupe

 Pour ajouter un utilisateur dans un groupe, tapez la commande suivante :

adduser Nom_De_L'utilisateur Nom_Du_Groupe

 Autre commande pour ajouter un utilisateur dans un groupe (l’utilisateur est retiré des autres groupes), tapez la commande suivante :

usermod -g Nom_Du_Groupe Nom_De_L'utilisateur

 Pour ajouter un utilisateur dans plusieurs groupes (l’utilisateur est retiré des autres groupes), tapez la commande suivante :

usermod -G Nom_Du_Groupe_1 Nom_Du_Groupe_2 Nom_Du_Groupe_3 Nom_De_L'utilisateur

 Pour ajouter un utilisateur dans un groupe sans le supprimer des autres, tapez la commande suivante :

usermod -aG Nom_Du_Groupe_4 Nom_De_L'utilisateur

 Pour voir la liste de tous les groupes, tapez la commande suivante :

cat /etc/group | awk -F: '{print $ 1}'

 Pour voir la liste des utilisateurs dans un groupe, tapez la commande suivante :

cat /etc/group | grep Nom_Du_Groupe

III) Recherches

Haut de page

1) Recherche par nom

 Recherche par nom :

find Chemin -name "Nom_de_la_recherche"
  • Exemple, nous voulons chercher le fichier/dossier "interface" :
find / -name interfaces
</code

-* Autre exemple, nous voulons chercher le fichier/dossier {{"interface"}} dans le dossier {{"/etc"}} :

<code>
find /etc -name interfaces
</code

- Recherche d'un nom de fichier/dossier commençant par (on ajoute une étoile à la fin du nom) :

<code>
find Chemin -name "Nom_de_la_recherche*"
  • Exemple, on veut chercher tous les fichiers/dossiers commençants par "int" :
find / -name "int*"

 Recherche d’un nom de fichier/dossier se terminant par (on ajoute une étoile au début du nom) :

fin chemin -name "*Nom_de_la_recherche"
  • Exemple, on veut chercher tous les fichiers/dossiers terminant par "faces" :
find / -name "*faces"

 Recherche d’un nom de fichier/dossier contenant (on ajoute une étoile au début et à la fin du nom) :

fin chemin -name "*Nom_de_la_recherche*"
  • Exemple, on veut chercher tous les fichiers/dossiers contenant par "terfac" :
find / -name "*terfac*"

2) Recherche par taille

 Recherche d’un fichier/dossier par taille :

find /home/nsalmon -size +5M
  • La commande va permettre de chercher tous les fichiers de plus de 5Mo dans le répertoire personnel de nsalmon.

3) Recherche par date

 Recherche d’un fichier/dossier par date de dernière ouverture (dans les 10 derniers jours) :

find /home/nsalmon -name "*.png" -atime -10

 Recherche d’un fichier/dossier par date de modification (dans les 10 derniers jours) :

find /home/nsalmon -name "*.png" -mtime -10

 Recherche d’un fichier/dossier par date de création (dans les 10 derniers jours) :

find /home/nsalmon -name "*.png" -ctime -10

4) Recherche par type

 Recherche d’un fichier commençant par "index" :

find / -type f -name "index*"

 Recherche d’un dossier commençant par "index" :

find / -type d -name "index*"

5) Recherche par propriétaire ou par groupe

 Recherche des fichiers/dossiers ayant comme propriétaire "nsalmon" :

find / -user nsalmon

 Recherche des fichiers/dossiers appartenant au groupe "web" :

find / -group web

6) Recherche par droits/permissions

 Recherche des fichiers/dossiers en fonction des droits lecture/écriture/exécution :

find / -perm 755

IV) Système

Haut de page

1) Éteindre et redémarrer le système

a) Éteindre

 Pour éteindre le système :

shutdown -h now

 Pour éteindre brutalement le système (équivalent coupure électrique) :

poweroff

b) Redémarrer

 Pour redémarrer le système :

shutdown -r

Ou

reboot

c) Fermer la session

 Pour fermer la session utilisateur :

logout

2) Gérer les services

 Pour redémarrer un service :

service Nom_Du_Service restart

 Pour recharger un service sans interruption (disponible seulement pour certain service) :

service Nom_Du_Service reload

 Pour arrêter un service :

service Nom_Du_Service stop

 Pour démarrer un service :

service Nom_Du_Service start

 Voir le statut d’un service :

service Nom_Du_Service status

Vous devez obtenir ceci :

ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled)
   Active: active (running) since mer. 2017-01-04 14:56:27 CET; 13min ago

 Pour certain service comme "Apache2", vous pouvez aussi faire un redémarrage du service proprement sans couper les utilisateurs :

service Nom_Du_Service graceful

 Autre méthode pour redémarrer/stopper/démarrer un service :

/etc/init.d/Nom_Du_Service restart/stop/start

3) Gérer les processus

a) Afficher les processus

"ps" sert à lister les processus et leurs propriétés. Sous Unix, chaque tâche s’exécute au sein d’un ou plusieurs processus. Chaque processus a un PID (Processus ID) qui lui est propre. Si un processus plante, les autres processus ne sont pas affectés. On peut tuer un processus avec la commande kill ou killall.

 Liste les processus de l’utilisateur qui exécute la commande qui sont rattachés au terminal depuis lequel la commande est exécutée :

ps

 Liste les processus de l’utilisateur qui exécute la commande quel que soit le terminal de rattachement :

ps -u

 Liste les processus de tous les utilisateurs quel que soit le terminal de rattachement :

ps -au

 Liste les processus de tous les utilisateurs même ceux qui ne sont rattachés à aucun terminal. Cette commande liste donc l’intégralité des processus du système. Elle est équivalente à la commande ps -A :

ps -aux

 Liste tous les processus du système en les regroupant par enchaînement d’exécution :

ps -faux

 Affiche les processus en arbre :

pstree

 Affiche des informations sur les processus en cours :

top

 Est un moniteur système qui permet de filtrer les processus par consommation de mémoire et/ou processeur :

htop

b) Tuer les processus

"kill" et "pkill" servent à envoyer des signaux à des processus.

 Envoie le signal TERM au processus dont le PID est 42. En gros, on demande au processus 42 de se terminer tout seul. Bien sûr, on ne peut terminer que les processus que l’on a soi-même lancé, sauf le root qui peut faire ce qu’il veut avec tous les processus :

kill 42

 Envoie le signal KILL au processus dont le PID est 42. Quand un processus est planté, c’est le seul moyen de l’arrêter, car la commande précédente n’aura pas d’effet :

kill -9 42

 Envoie le signal TERM au processus dont le nom est vlc. Cette commande est à répéter plusieurs fois s’il y a plusieurs processus qui portent le nom vlc :

pkill vlc

 Envoie le signal KILL au processus dont le nom est vlc :

pkill -9 vlc

4) Afficher des informations

Quelques commandes pour avoir des informations systèmes :

 Afficher les messages du noyau affichés lors du boot :

dmesg

 Indiquer la version de son noyau :

uname -a

 Afficher la quantité de mémoire utilisée :

free -m

 Afficher les services :

service --status-all

 Afficher le temps d’utilisation de votre machine depuis sa mise sous tension :

uptime

 Afficher le calendrier :

cal -my

 Afficher la date et l’heure du système :

date

 Afficher la date et l’heure UTC :

date -u

 Afficher l’espace libre sur vos disques durs :

df -h

 Afficher la taille du répertoire nom_du_répertoire :

du -h nom_du_répertoire

 Pour connaitre quels utilisateurs sont connectés sur le système et ce qu’ils font :

who

Ou

w

 Pour connaitre les groupes auxquels l’utilisateur appartient :

groups

 Obtenir de l’aide sur une commande ou un processus :

man Nom_De_La_Commande/Service

 Afficher le nom de la machine :

hostname

 Afficher le nom fqdn (nom complet dans le domaine) de la machine :

hostname -f

5) Monter un périphérique

 Pour monter un périphérique comme un CD, il faut utiliser la commande mount. Elle sert à intégrer un système de fichiers dans un autre. Elle doit être exécutée en tant que root. Il faut comme condition que le type de système de fichiers soit supporté par le noyau et que le répertoire /mnt existe déjà. Sa syntaxe habituelle est :

mount -o options /dev/periphérique /mnt

 Pour démonter ce système de fichiers, il suffit de taper en root :

umount /mnt

Pour information, n’importe quel utilisateur peut taper la commande mount pour savoir quels sont les systèmes de fichiers montés à l’instant d’exécution de la commande.

6) Réseau

 Pour gérer la partie réseau de Debian. Cliquez ici pour voir l’article 73.

 Pour redémarrer les services réseaux :

service networking restart

 Pour éteindre une interface réseau :

ifdown ethX

x : Est l’ID de l’interface

 Pour allumer une interface réseau :

ifup ethX

V) Installation de paquets

Haut de page

1) Définir les dépots APT

a) Fichier sources.list

 Pour définir de nouveau dépôts APT, il faut éditer le fichier "/etc/apt/sources.list". Voici un exemple :

#

# deb cdrom:[Debian GNU/Linux 8.6.0 _Jessie_ - Official amd64 CD Binary-1 20160917-14:25]/ jessie main

deb http://ftp.fr.debian.org/debian/ jessie main
deb-src http://ftp.fr.debian.org/debian/ jessie main

deb http://security.debian.org/ jessie/updates main
deb-src http://security.debian.org/ jessie/updates main

# jessie-updates, previously known as 'volatile'
deb http://ftp.fr.debian.org/debian/ jessie-updates main
deb-src http://ftp.fr.debian.org/debian/ jessie-updates main

b) Mise à jour de la liste des paquets

 Pour actualiser la liste des paquets :

aptitude update

La commande "apt-get" existe, mais je préfère utiliser "aptitude". Voici les avantages de "aptitude" :

  • aptitude offre l’accès à toutes les versions d’un paquet.
  • aptitude enregistre toutes ses actions dans /var/log/aptitude.
  • aptitude rend facile le suivi des logiciels obsolètes en les listant dans "Obsolete and Locally Created Packages".
  • aptitude inclut un système de recherche puissant pour trouver des paquets particuliers ou limiter l’affichage des paquets.
  • aptitude en plein écran intègre su et peut être utilisé par un utilisateur normal jusqu’à ce qu’il y ait réellement besoin des privilèges de l’administrateur.

2) Gestion des paquets

a) Installation de paquets

 Pour installer un paquet :

aptitude install Nom_Du_Paquet

 Pour installer plusieurs paquets en même temps :

aptitude install Nom_Du_Paquet1 Nom_Du_Paquet2 Nom_Du_Paquet3

 Installer un paquet sans validation (aptitude ne vous demandera pas si vous êtes sûr de vouloir installer le paquet et les dépendances) :

aptitude -y install Nom_Du_Paquet

b) Suppression de paquets

 Pour désinstaller un paquet :

aptitude remove Nom_Du_Paquet

 Pour désinstaller un paquet et supprimer les fichiers de configuration :

aptitude remove --purge Nom_Du_Paquet

c) Recherche de paquets

 Pour chercher un paquet :

aptitude search Nom_Du_Paquet

d) Purge

 APT conserve une copie de chaque paquet installé et désinstallé sur votre disque dur. Utiliser les options ci-dessous permet de récupérer de l’espace disque par le nettoyage correspondant à l’option :

aptitude autoclean

e) Mise à jour des paquets

 Pour mettre à jour les paquets :

aptitude upgrade

 Pour mettre à jour les paquets seulement si nécessaires.

Explication du man :
Mettre les paquets installés à jour, avec leur version la plus récente. Les paquets installés ne seront pas retirés, sauf s’ils sont inutilisés (voir la section « Gérer les paquets automatiquement installés » dans le manuel de référence d’aptitude). Les paquets qui ne sont pas actuellement présents peuvent être installés pour résoudre des dépendances, sauf si l’option en ligne de commande —no-new-installs est fournie.
Si aucun n’est donné sur la ligne de commande, aptitude essaiera de mettre à jour tous les paquets qui le peuvent. Sinon, aptitude n’essaiera de mettre à jour que les paquets indiqués. Les s peuvent être étendus avec des suffixes, de la même manière que les arguments d’aptitude install, de sorte qu’il est possible de donner des instructions supplémentaires à aptitude. Par exemple, aptitude safe-upgrade bash dash- essaiera de mettre à jour le paquet bash et de supprimer le paquet dash.

aptitude safe-upgrade

VI) Outils

Haut de page

1) Téléchargements

Le téléchargement de fichier sous Debian passe par "wget" qui est un gestionnaire de téléchargement.

wget [options] URL ...................
     -p .............................. Télécharger le site.
     -r .............................. Récursive.
     -k .............................. Conversion des liens absolus.
     -c .............................. Reprise du téléchargement d'un fichier partiellement téléchargé.
     --help .......................... Afficher toutes les options

Exemple de téléchargement :

wget http://idum.eu/Telechargements/Logiciels/MD5Checksum.exe

2) Compresser et décompresser

 Compresser zip :

zip -r fichier.zip fichier

 Décompresser zip :

unzip fichier.zip 

 Voir le contenu zip :

unzip -v fichier.zip

 Compresser gz :

gzip -r fichier

 Décompresser gz :

gzip -d fichier.gz 

 Voir le contenu gz :

gzip -c fichier.gz

 Compresser bz2 :

bzip2 fichier

 Décompresser bz2 :

bzip2 -d fichier.bz2

 Voir le contenu bz2 :

bzip2 -c fichier.bz2

zip Compress fichiers et répertoires, mais gzip ou bzip2 seulement compressent fichiers mais pas répertoires, donc il faut les combiner avec tar.

fichiers tar

 Compresser :

tar -vcf fichier.tar /fichier1 /fichier2

 Décompresser :

tar -vxf fichier.tar

 Voir le contenu :

tar -vtf fichier.tar

Pour combiner tar et gzip ou bzip2 : fichiers tar.gz (tgz)

 Compresser :

tar -zvcf fichier.tgz répertoire

 Décompresser :

tar -zvxf fichier.tgz 

 Voir le contenu :

tar -zvtf fichier.tgz

Pour combiner tar et gzip ou bzip2 : fichiers tar.bz2 (tbz2)

 Compresser :

tar -jvcf fichier.tbz2 répertoire 

 Décompresser :

tar -jvxf fichier.tbz2

 Voir le contenu :

tar -jvtf fichier.tbz2
 
 
 
 
 
Commentaires :