Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Commandes Linux

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 11

Commandes Linux

1. Structure des commandes

Les commandes ont la syntaxe générale suivante:

COMMANDE [OPTION] [Arguments]

Exemple:
• Afficher le dossier courant
pwd
• Afficher les informations du dossier courant
ls
• Afficher les informations détaillées du dossier /bin
ls -l /bin
• Combiner plusieurs options
ls -lhr /bin

2. Arborescence Linux

/bin les fichiers exécutables (en binaire) (initialisation du système + commandes


"essentielles")
/boot le noyau vmlinuz et les fichiers de démarrage
/dev Répertoire de fichiers spéciaux, qui servent de canaux de communication avec
les périphériques (disques, adaptateur réseau, cartes son etc...)
/etc les fichiers de configuration du système et les principaux scripts de
paramétrage
/home la racine des répertoires personnels des utilisateurs
/mnt la racine des points de montage des systèmes de fichiers périphériques ou
extérieurs (cd, disquette, nfs ..).
/opt lieu d'installation d'applications supplémentaires (comme starOffice, java ..)

/root répertoire personnel du super-utilisateur root


/sbin les fichiers exécutables pour l'administration du système
/tmp stockage des fichiers temporaires
/var données variables liées à la machine (fichiers d'impression, traces de
connexions http, smb .. dans /var/log)

1
Aide sur les commandes

La majorité des logiciels installés sur le réseau comprennent un "manuel de référence". Ces
manuels décrivent la commande spécifiée ainsi qu'une liste des options possibles.
La commande permettant de lire ces manuels est: man (pour manuel!)
Tapez: man man

➢ Les sections du man:


Les pages de manuels sont classées en 9 sections. Voici la liste des sections avec une
description succincte de ce que l'on y trouve:

Section Nom
1 Programmes exécutables ou commandes de l'interpréteur de commandes (shell)
2 Appels système (Fonctions fournies par le noyau)
3 Appels de bibliothèque (fonctions fournies par des bibliothèques)
4 Fichiers spéciaux (situés généralement dans /dev)
5 Formats des fichiers de configuration et conventions
6 Jeux
7 Divers (y compris les macropaquets et les conventions)
8 Commandes de gestion du système (généralement réservées au super utilisateur)
9 Interface du noyau Linux.

La description de chaque section est accessible par la page de manuel intro. Par exemple
pour les formats de fichier: man 5 intro.

➢ Les sections d'une page:


La liste ci-dessous indique les sections conventionnelles ou suggérées. La plupart des pages
de manuel devraient au moins inclure les sections mises en évidence. Pour la version
originale en anglais :
NAME
SYNOPSIS
DESCRIPTION
OPTIONS[Normalement, seulement dans les sections 1 et 8]
EXIT STATUS [Normalement, seulement dans les sections 1 et 8]
RETURN VALUE [Normalement, seulement dans les sections 2 et 3]
ERRORS [Typiquement, seulement dans les sections 2 et 3]
ENVIRONMENT
FILES
VERSIONS [Normalement, seulement dans les sections 2 et 3]
CONFORMING TO
NOTES
BUGS
EXAMPLE
SEE ALSO

La liste suivante indique le contenu de chacune des sections précédentes.

2
NAME (NOM): Le nom de la page de manuel.

SYNOPSIS: décris brièvement l'interface de la commande ou de la fonction. Pour les


commandes, ce paragraphe montre sa syntaxe et ses arguments (y compris les options).
DESCRIPTION: fournis une explication sur ce que le programme, la fonction ou le format
représente. Décris les interactions avec les fichiers et l'entrée standard, ou la sortie
standard ou d'erreur.

OPTIONS: décrit les options de la ligne de commande acceptée par le programme et


comment son comportement se modifie.

EXIT STATUS (CODE DE RETOUR): indique les codes de retour d'un programme et les
conditions associées. Cette section ne devrait apparaître que dans les pages des sections 1
et 8.
....

➢ Options utiles
-s section : permets de spécifier la ou les sections où chercher, dans l'ordre, les pages
de manuel. Section est un numéro de section ou une liste de numéros de sections séparées
par des virgules.
Exemple :
man -s 1 hostname
man -s 5 hostname
man -s 7 hostname

➢ Interactivité

Lorsqu’une page de manuel est affichée, diverses actions sont accessibles via des raccourcis
claviers. Vous pouvez chercher du texte en tapant /texte puis [Entrée]

Utilisez la touche [n] (comme next) ira à la prochaine occurrence de texte,


et la touche [N] ira à l'occurrence précédente de texte.

➢ Exemple:
man ls
man tar

1. Commande APROPOS / man -k


apropos est une commande POSIX qui permet de lister les manuels dont la description
comprend les mots passés en arguments. Chaque page de manuel comporte une courte
description ; apropos recherche et affiche cette description pour chaque page
correspondant au mot-clé qu'on lui fournit.

Exemple:
• chercher une commande pour décompresser un fichier zip
apropos zip
• chercher des commandes qui permettent de manipuler les
partitions systèmes.
apropos pdf
3
Exercice 1: Sans Google trouver les commandes pour:
• Que fait la commande whereis?
• Que fait la commande grep?
• Que fait l’option -c de la commande ping?
• Quelle commande permet de créer des répertoires?
• Quelle commande permet de créer des utilisateurs?
• Quelle commande vous permet voir la quantité de la mémoire que vous avez?
• Quelle commande vous permet de décompresser un .zip?
• Que fait cp, et quelle option de cette commande préserve les informations
importantes des fichiers?
• Que fait l’option update de la commande apt?
• À quoi sert le fichier de configuration fstab et où se trouve-t-il?
• Que fait la commande echo?

3. Commandes sur les répertoires


2. cd: La navigation d’un répertoire à un autre s’effectue avec la commande cd
succédée du nom du répertoire.
• Permet de se retrouver à la racine du disque.
cd /
• Aller dans le répertoire /var/log.
cd /var/log
• Remonter dans le répertoire parent à partir de là où vous
êtes.
cd ..
• Permet de revenir au répertoire précédent.
cd -
• Accéder directement au répertoire de l’utilisateur.
cd ~ ou cd

3. ls: permet d'afficher le contenu d'un répertoire.


• Afficher les informations de manière détaillée.
ls -l ./Bureau/
• Afficher les fichiers cachés.
ls -a
• Afficher la taille des fichiers de façon lisible.
ls -h /var/log
• Trier les fichiers par date du plus récent au plus
ancien.
ls -t /var/log
• Trier par taille décroissante.
ls -S /var/log
• Afficher tous les fichiers y compris les fichiers cachés.
ls -la /var/log

4
• Afficher les informations des fichiers, avec des tailles
lisibles le tout ordonné du plus grand au plus petit.
ls -lhS /var/log

4. mkdir: Pour créer un répertoire à l’emplacement où vous êtes ou emplacement


précisé.
• Créer le répertoire
mkdir Programmes
• Cette option permet de créer une arborescence complète.
mkdir -p BDD/scripts
• Créer les répertoires prj1 et Cours3/MySQL avec des
sorties (verbose).
mkdir -vp Programmes/Java BDD/scripts/MySQL

4. Chemin et répertoire
Le répertoire courant : Il est représenté par un point : .

Le répertoire Parent : Il est représenté par deux points : ..


Pour remonter dans l'arborescence cd ..

Les fichiers cachés : Ce sont ceux dont le nom commence par un point.

Les chemins dans linux sont donnés de deux façons :

Chemin absolu : En partant de la racine du système de fichiers qui est représenté par le
slash initial : /

Chemin relatif : En partant de la position actuelle vers la destination

Le répertoire de l'utilisateur : Il est représenté par un tilde : ~. Par exemple cd ~ pour


aller dans son répertoire utilisateur.

Exercice: Créer l'arborescence suivante dans votre dossier personnel:

• Positionnez-vous dans le répertoire home


• Créer le répertoire info17A
• Créer le répretoire info17B
• Accéder au répertoire info17A (relatif)
• Vérifier si vous y êtes bien
• Accéder au répertoire info17B avec son chemin relatif
• Repositionnez-vous dans votre dossier personnel
• supprimer tous les dossiers en une seule commande.

5
5. Commandes sur les fichiers
5. touch: utilisée pour changer les dates d'accès et de modification d'un fichier ou en
créer un nouveau
• touch data.log

6. stat: (si elle est installée) donne l'ensemble des informations concernant un fichier
de manière assez claire.
• stat data.log
• stat --format="%g %G %i" data.log

7. cp: utilisée pour copier des fichiers


• cp data.log data.log.backup
cp ./Bureau/*.zip .
Attention: cp -a est l'option la plus utilisée dans les backup, car elle permet de
préserver les informations des fichiers

➢ rm: permet de supprimer des fichiers ou des dossiers


• rm data.log.backup
• rm -rf /usr/tmp/*

➢ mv renomme ou déplace un fichier


• mv data.log data.log.orig
• mv data.log.orig ~/Cours1

6. Compresser et décompresser des fichiers sous Linux


Chaque format d'archive a un utilitaire en ligne de commande permettant de créer ou
d'extraire des archives.
Vous trouverez ci-dessous les commandes permettant de gérer chaque format:
• zip/unzip : pour les .zip
• gzip/gunzip : pour les formats .gz
• bzip2/bunzip2 :pour le format .bz2
• tar: pour les formats .tar .tar.gz .tgz .tar.bz2 .tbz2 .tar.xz
Le tableau ci-dessous récapitule comment compresser ou décompresser un fichier sous
Linux en ligne de commande.
Ext Compression Décompression Rem
.zip zip Total.zip *.log fichiers.txt unzip Total.zip n fichiers
.gz gzip access.log gunzip archive.gz 1 fichier
.bz2 bzip2 fichier bunzip2 fichier.bz2 1 fichier
Pas
.tar tar -cvf archive.tar fichiers... tar -xvf archive.tar
compressé
tar -czvf archive.tar.gz tar -xzvf
.tar.gz n fichiers
fichiers.... archive.tar.gz
tar -cjvf archive.tar.bz2 tar -xjvf
.tar.bz2 n fichiers
fichiers... archive.tar.bz2

6
➢ zip/unzip : C'est Le programme affecté à la tâche de compression. Il s'agit en fait de
deux commandes, zip et unzip.
• Décompresse FICHIERS.zip
unzip FICHIERS.zip
• Compresse access.log et le renomme access.log.gz
zip access.log.zip FICHIERS/access.log
• Décompresse les fichiers *.java contenu dans FICHIERS.zip
vers une destination
unzip FICHIERS.zip *.java -d Programmes/Java/

➢ gzip : C'est Le programme affecté à la tâche de compression. Il s'agit en fait de deux


commandes, gzip et gunzip.
• Compresse access.log et le renomme access.log.gz
gzip FICHIERS/access.log
Décompresse access.log.gz et le renomme access.log
gunzip FICHIERS/access.log.gz

• Compresse access.log avec un taux de compression


gzip -9 FICHIERS/access.log

Le chiffre 9 correspond au taux de compression (ici le maximum) mettre un chiffre inférieur


correspond à un gain de temps de compression plus rapide mais avec un taux inférieur. On
peut mettre (-1 ou -fast) ou alors (-9 ou -best).

➢ bzip2 : il est un peu moins fréquemment utilisé. Il compresse mieux (parfois) mais
plus lentement que gzip.
• Compresse access.log et le renomme access.log.bz2
bzip2 FICHIERS/access.log

• Décompresse access.log.bz2 et le renomme access.log


bunzip2 FICHIERS/access.log.bz2

➢ tar: est probablement la commande la plus utilisée pour la manipulation d'archives.

Option pour la commande tar :

c création d'une archive


x extraction d'une archive
v verbose
f force
t afficher la liste des fichiers de l'archive
z compression / décompression de l'archive au format gzip ( .gz )
j compression / décompression de l'archive au format bzip ( .bz )

• Création d'une archive de fichiers sans compression


tar -cvf Sources.tar FICHIERS/*.java

7
• Création d'une archive de fichiers avec gzip pour la
compression du fichier généré
tar -czvf Sources.tar.gz FICHIERS/*.java

• Création d'une archive de fichiers avec bzip2 pour la


compression du fichier généré
tar -cjvf Sources.tar.bz2 FICHIERS/*.java

pour extraire les fichiers on remplace l'option "-c" create par "-x" extraxt. On peut toujours
spécifier la destination avec l'option -C répertoire, qui doit exister déja.

• Décompresser une archive .tar dans Dossier1


tar -xvf Sources.tar -C Programmes/Java/

• Décompresser une archive .tar.gz


tar -xzvf Sources.tar.gz -C Programmes/Java/

• Décompresser une archive .tar.bz2


tar -xjvf Sources.tar.bz2 -C Programmes/Java/

7. Recherche de fichiers
find: Permet de chercher des fichiers et éventuellement d'exécuter des commandes sur
ceux-ci ; la recherche est récursive c'est-à-dire qu'elle concerne le répertoire de départ et
toute sa descendance (sous-répertoires ainsi que toute leur descendance …)

find <OÙ> <QUOI> < QUE FAIRE AVEC >


Seul le paramètre « quoi » est obligatoire

Options les plus fréquentes :


• -name : Recherche d'un fichier par son nom
• -iname : Même chose que -name mais insensible à la casse
• -type : Recherche de fichier d'un certain type
• -atime : Recherche par date de dernier accès
• -mtime : Recherche par date de dernière modification
• -link : Recherche du nombre de liens au fichier
• -user : Recherche de fichiers appartenant à l'utilisateur
donné
• -group : Recherche de fichiers appartenant au groupe donné

Actions les plus fréquentes :


• -exec : Exécute la commande donnée aux fichiers trouvés
• -ok : Même chose que -exec mais demande une confirmation
• -ls : exécute la commande ls à chaque fichier trouvé

Opérateurs les plus fréquents :


• -a : Opérateur ET
• -o : Opérateur OU
8
• ! ou -not : Opérateur NOT

Pour les options -size, -atime, -mtime, -ctime, il faut spécifier une valeur
• Précédée par le signe
• ``+'' pour ``supérieur à'‘
• ``-'' pour ``inférieur à''
• rien pour ``égal à‘

Exemple:
find -name "*.pig"
find / -name "*.log"
find . -mtime -3
find . -mtime +5
find /var/log -name "*.log" -cmin -120
find / -name "*.jpg" -atime -1
find / -type f -size +10M

find -ctime +6 \( -name "*.log" -o -name "*.java" \)

find -ctime +6 -name "*.java" -exec zip CodeJAVA.zip {}


\;

{} remplace le nom du fichier trouvé


find . -type f -exec ls -l {} \;
find /var/log -type f -atime +10 -exec rm {} \;

find ~ -type f -name "*.java" -exec zip fichiers.zip {}


\;

8. Tubes de communication (pipes)


Les tubes (en anglais «pipes", littéralement tuyaux) constituent un mécanisme de
communication propre à tous les systèmes UNIX. Un tube, symbolisé par une barre
verticale (caractère «|»), permet d'affecter la sortie standard d'une commande à l'entrée
standard d'une autre
commande1 | commande2 | commande3
La sortie standard de commande1 est envoyée sur l'entrée standard de commande2 et
ainsi de suite.

Exemple:
• Calculer le nombre de fichiers d'un dossier
ls -1 /bin | wc -l
• Chercher un mot clé dans le résultat de man
9
man -k -s8 user | grep add

9. Redirection:
Chaque processus possède 3 flux standards qu'il utilise pour communiquer en général avec
l'utilisateur :
• L’entrée standard nommée stdin (identifiant 0) : il s'agit par défaut du clavier,
• La sortie standard nommée stdout (identifiant 1) : il s'agit par défaut de l'écran,
• La sortie d'erreur standard nommée stderr (identifiant 2) : il s'agit par défaut de
l'écran.

Ces flux peuvent être redirigés

SORTIE_COMMANDE > fichier


2. Redirige la sortie vers un fichier.
3. Crée le fichier s'il n'est pas présent, l'écraser.

ls -lR > repertoire.liste


Crée un fichier contenant la liste des fichiers du répertoire.

4. Redirige stdout vers un fichier.


5. Crée le fichier s'il n'est pas présent, sinon il lui ajoute le flux.

SORTIE_COMMANDE >> nom_fichier


6. Redirige stdout vers le fichier "nom_fichier".

1>nom_fichier
7. Redirige et ajoute stdout au fichier "nom_fichier".

1>>nom_fichier
8. Redirige stderr vers le fichier "nom_fichier".

2>nom_fichier
9. Redirige et ajoute stderr au fichier "nom_fichier".

2>>nom_fichier
10. Redirige à la fois stdout et stderr vers le fichier "nom_fichier".

&>nom_fichier

ping -c2 -w1 8.8.8.8 &> /dev/null

10. Exécuter plusieurs commandes


11. Exécute cmd1, puis cmd2,

cmd1 ; cmd2
cd ; mkdir Dossier1
10
12. Exécute cmd1, puis cmd2 seulement si cmd1 n'a pas retourné d'erreur

cmd1 && cmd2


cd Dossier1 && touch fichier.txt
13. Exécute cmd1, puis cmd2 seulement si cmd1 a retourné une erreur.

cmd1 || cmd2
ls /essai || echo " Le dossier n’existe pas"

ping -c2 8.8.8.8 &> /dev/null && echo "Le serveur est
actif." || echo "Warning: Le serveur est INACTIF."

11

Vous aimerez peut-être aussi