19.3. Principales commandes Linux

Dans cette section, nous allons vous présenter les commandes les plus importantes de votre système SUSE LINUX et vous en donner la signification. Nous allons en outre décrire quelques paramètres en nous appuyant, dans la mesure du possible, sur des exemples typiques d'applications. Si vous désirez en savoir plus sur les différentes commandes, vous pourrez obtenir des informations complémentaires dans les pages de manuel en invoquant man suivi du nom de la commande, par exemple, man ls.

Vous pouvez vous déplacer dans les pages de manuel à l'aide des touches Page précédente et Page suivante ou à l'aide des touches de positionnement du curseur en début de ligne (Pos1) et en fin de ligne (fin). Pour quitter ce mode d'affichage, pressez la touche Q. En tapant man man, vous pouvez obtenir des informations sur la commande man elle-même.

Si vous désirez avoir des informations plus complètes sur les divers programmes en ligne de commande, nous vous conseillons vivement de vous procurer l'ouvrage Linux in a Nutshell paru aux éditions O'Reilly. Dans le texte qui va suivre, les éléments des commandes sont mis en évidence graphiquement par une typographie différente.

Vous devrez bien sûr modifier certains paramètres en fonction de vos besoins. Il ne sert à rien de taper ls fichier(s) s'il n'existe pas effectivement un fichier du nom de fichier(s). Généralement, vous pouvez aussi combiner plusieurs paramètres tout simplement en tapant, par exemple ls -la au lieu de ls -l -a.

19.3.1. Commandes relatives aux fichiers

La section suivante répertorie les commandes les plus importantes pour la gestion des fichiers, de la gestion de fichiers ordinaires à la manipulation d'ACL de système de fichiers.

19.3.1.1. Gestion de fichiers

ls [option(s)] [fichier(s)]

Si la commande ls est invoquée sans option ou paramètre, elle listera, sous une forme abrégée, le contenu du fichier dans lequel vous vous trouvez.

-l

liste détaillée,

-a

affiche les fichiers cachés.

cp [option(s)] source cible

Copie la source dans la cible.

-i

Attend, le cas échéant, une confirmation avant qu'une cible existante ne soit écrasée.

-r

Copie récursive (avec sous-répertoires)

mv [option(s)] source cible

Place une copie de la source dans la cible puis efface ensuite le fichier original.

-b

Crée, avant le déplacement, une copie de sauvegarde de la source

-i

Attend, le cas échéant, une confirmation avant qu'une cible existante ne soit écrasée.

rm [option(s)] fichier(s)

Supprime du système de fichiers le ou les fichier(s) spécificié(s). Les répertoires ne sont pas supprimés par rm, sauf si le paramètre -r a été explicitement spécifié.

-r

Supprime aussi les sous-répertoires éventuellement présents

-i

Attend une confirmation avant suppression de tout fichier spécifié

ln [option(s)] source cible

Crée, dans la cible, une référence interne (« lien ») vers la source sous un autre nom. Normalement, ce lien pointe directement sur l'emplacement de la source à l'intérieur du système de fichiers. Si, par contre, ln est invoquée avec l'option -s, il sera créé un lien symbolique qui pointera seulement sur le chemin d'accès de la source et fonctionnera de ce fait au delà des limites du système de fichiers.

-s

Crée un lien symbolique.

cd [option(s)] [répertoire]

Change le répertoire courant. Si vous entrez seulement cd, vous passerez au répertoire personnel.

mkdir [option(s)] nom_de_répertoire

Crée un nouveau répertoire.

rmdir [option(s)] nom_de_répertoire

Supprime le répertoire, mais à condition qu'il soit déjà vide.

chown [option(s)] nom_d'utilisateur[:[group]] fichier(s)

Fait passer la propriété d'un fichier à l'utilisateur spécifié.

-R

Modifie les fichiers et répertoires dans tous les sous-répertoires.

chgrp [option(s)] nom_de_groupe fichier(s)

Modifie le nom du groupe qui possède un fichier donné et le transforme en nom_de_groupe. Le propriétaire du fichier ne peut changer cette valeur que s'il fait partie aussi bien de l'ancien que du nouveau groupe.

chmod [options] mode fichier(s)

Modifie les droits d'accès.

Le paramètre mode est constitué de trois éléments : groupe, accès et type d'accès. Pour groupe, il est possible d'utiliser les caractères :

u

pour l'utilisateur (user),

g

pour le groupe (group),

o

pour tous les autres (others).

Pour accès, les signes + et - sont possibles. L'accès peut être autorisé par le signe + et refusé par le signe -.

Le type d'accès est déterminé par les options suivantes :

r

en lecture (read),

w

en écriture (write),

x

exécution de fichiers ou changement de répertoire (eXecute).

s

bit setuid ; le programme est exécuté comme s'il avait été lancé par le propriétaire du fichier.

Vous pouvez également utiliser le code numérique. Les quatre positions de ce code se définissent à partir de la somme des valeurs 4, 2, et 1. En première position, vous définissez les attributs set user ID (4), set group ID (2) et sticky (1). En deuxième position, vous définissez les droits des propriétaires du fichier, en troisième position, les droits des membres du groupe et la dernière valeur définit les droits pour tous les autres utilisateurs. Le droit en lecture est codé par 4, le droit en écriture par 2 et le droit d'exécuter un fichier est codé par 1. Généralement, le propriétaire d'un fichier se voit attribuer un 6 ou un 7 pour un fichier exécutable.

gzip [paramètres] fichier(s)

Ce programme réduit la taille des fichiers en compressant leur contenu par des algorithmes assez compliqués. Les noms des fichiers compressés se terminent par .gz et les fichiers doivent être décompressés pour être utilisables. Si vous voulez compresser plusieurs fichiers ou des répertoires entiers vous devrez utiliser en plus la commande tar.

-d

Décompresse les fichiers gzip compressés qui retrouvent alors leur taille initiale et peuvent être traités normalement (correspond à la commande gunzip).

tar options nom_d'archive fichier(s)

La commande tar compresse un ou (généralement) plusieurs fichiers dans une archive. tar est une commande très complexe pour laquelle il existe de nombreuses options. Nous vous présentons ici les plus courantes :

-f

Écrit la sortie dans un fichier mais ne l'affiche pas à l'écran comme c'est généralement le cas.

-c

Crée une nouvelle archive tar.

-r

Ajoute des fichiers à une archive existante.

-t

Affiche le contenu d'une archive.

-u

Ajoute des fichiers, mais seulement lorsque ceux-ci sont plus récents que ceux déjà contenus dans l'archive.

-x

Décompresse (extraction) les fichiers de l'archive.

-z

Compresse l'archive avec gzip.

-j

Compresse l'archive avec bzip2.

-v

Affiche les noms de tous les fichiers traités.

Les noms des fichiers d'archive créés par tar se terminent par .tar. L'archive tar aura l'extension .tar.gz si elle a également été compressée avec gzip et l'extension .tar.bz2 si elle a été compressée avec bzip2. Vous trouverez des exemples dans Section 19.1.8, « Archives et compression de données ».

locate modèle(s)

Cette commande n'est disponible que si vous avez installé le paquetage findutils-locate. Avec locate, il est possible de découvrir dans quel répertoire se trouve un fichier déterminé. Vous pouvez bien sûr aussi utiliser des caractères jokers. Le programme est très rapide du fait qu'il n'effectue pas de recherches dans le système de fichiers mais dans une base de données créée spécialement à cette fin. Ceci constitue aussi le principal inconvénient de cette commande très rapide car il est évident que les fichiers créés après la dernière mise à jour de la base de données ne peuvent pas y être listés. La base de données peut être créée par l'utilisateur root avec la commande updatedb.

updatedb [option(s)]

Cette commande permet d'actualiser de façon simple la base de données requise par locate. Pour que tous les fichiers puissent être pris en compte, le programme devrait être invoqué par l'utilisateur root. Il serait indiqué de le faire passer en arrière-plan en ajoutant une esperluette (&) , afin qu'il soit possible de continuer à travailler (updatedb &). Cette commande exécute généralement un travail cron quotidien (voir cron.daily).

find [option(s)]

Avec la commande find, vous pouvez rechercher un fichier dans un répertoire déterminé. Le premier argument indique le répertoire à partir duquel la recherche doit commencer. L'option -name sert à spécifier le nom d'un fichier à rechercher à l'aide d'une chaîne qui peut aussi contenir des jokers. À la différence de locate qui recherche les fichiers dans sa propre base de données, find les recherche vraiment dans le répertoire spécifié.

19.3.1.2. Commandes relatives au contenu

cat [option(s)] fichier(s)

cat affiche sans interruption le contenu d'un fichier spécifié.

-n

Indique le numéro de la sortie sur le côté gauche.

less [option(s)] fichier(s)

Cette commande permet de se déplacer dans le contenu du fichier spécifié. Avec Page précédente et Page suivante, vous pouvez avancer ou reculer d'une demi-page d'écran. Et avec la barre d'espace, vous pouvez même avancer d'une page entière. Il est également possible, avec les touches de positionnement du curseur en début de ligne () et en fin de ligne (fin), de remonter au début ou de descendre à la fin du fichier. La touche Q est utilisée pour quitter le programme.

grep [option(s)] chaîne_recherchée fichier(s)

La commande grep a été conçue pour retrouver un chaîne_recherchée dans le(s) fichier(s) spécifié(s). Si tout se passe bien, il affiche la ligne contenant la chaîne_recherchée avec le nom du fichier.

-i

Ignore la casse des lettres

-H

Affiche les noms des fichiers sans afficher les lignes qui contiennent la chaîne recherchée

-n

Indique en plus les numéros des lignes dans lesquelles la chaîne de caractère a été retrouvée

-l

Répertorie uniquement les fichiers qui ne contiennent pas la chaîne_recherchée.

diff [option(s)] fichier1 fichier2

La commande diff a été conçue pour comparer le contenu de deux fichiers et indiquer les différences sous forme d'une liste des lignes modifiées. Il est très souvent utilisé par les programmeurs pour communiquer les modifications apportées à leurs programmes sans avoir à envoyer l'ensemble des sources.

-q

Fait seulement savoir si le contenu des deux fichiers est différent.

-u

Produit un diff « unifié » ce qui rend le résultat plus lisible

19.3.1.3. Systèmes de fichiers

mount [option(s)] [périphérique] point_de_montage

Cette commande vous permet de monter les supports de données de votre choix dans le système de fichiers. Cela signifie qu'un lecteur de disques durs, de CD-ROM ou autres est rattaché à un répertoire du système de fichiers Linux.

-r

monter en lecture seule (read only).

-t système de fichiers

spécifie le système de fichiers. Les plus courants sont : ext2 pour les disques durs Linux, msdos pour les supports MS-DOS, vfat pour le système de fichiers Windows et iso9660 pour les CD.

Pour les lecteurs qui ne sont pas définis dans le fichier /etc/fstab, il convient de spécifier le type de périphérique. Dans ce cas, le montage (mount) ne peut être effectué que par l'utilisateur root. Si le système de fichiers doit être monté par d'autres utilisateurs, insérez l'option user (avec des virgules de séparation) dans le fichier /etc/fstab et enregistrez cette option. Vous trouverez des informations complémentaires dans man mount(1).

umount [option(s)] point_de_montage

Cette commande supprime un lecteur monté du système de fichiers. Avant de retirer un support de données du lecteur, invoquez cette commande. Faute de quoi, vous risquez une perte de données ! En règle générale, les commandes mount et umount ne peuvent être exécutées que par l'utilisateur root. Exception : l'option user est spécifiée pour le lecteur dans le fichier /etc/fstab.

19.3.2. Commandes système

La section suivante répertorie quelques unes des commandes les plus importantes nécessaires à la recherche d'informations relatives au système et au contrôle des processus et du réseau.

19.3.2.1. Informations

df [option(s)] [répertoire]

Lorsque la commande df disk free est invoquée sans options, elle affiche la quantité totale d'espace ainsi que la quantité d'espace disponible et d'espace occupé sur tous les lecteurs montés. Si par contre un répertoire est spécifié, c'est le lecteur attaché à celui-ci qui est pris en compte dans l'affichage.

-h

affiche le nombre des blocs occupés, en giga-octets, méga-octets ou kilo-octets—sous une forme lisible par l'œil humain human readable.

-T

type de système de fichiers (ext2, nfs etc.).

du [option(s)] [chemin]

Cette commande sans paramètre affiche la quantité totale d'espace requis par tous les fichiers contenus dans le répertoire courant. S'il existe des sous-répertoires, leur taille totale est également indiquée.

-a

indique la taille de chaque fichier

-h

affichage sous une forme lisible par l'œil humain

-s

affiche seulement la taille totale qui a été calculée

free [option(s)]

Free affiche les quantités totales de mémoire et de zone de swap libres et utilisées.

-b

affichage en octets,

-k

affichage en kilo-octets,

-m

affichage en méga-octets,

date [option(s)]

En lançant ce petit programme, vous pouvez faire afficher l'heure courante du système. Cette commande peut en outre être utilisée en tant que root pour modifier l'heure du système. Vous trouverez des détails à ce sujet dans man date(1).

19.3.2.2. Processus

top [option(s)]

La commande top affiche une liste de tous les processus courants. En pressant la touche H, vous obtiendrez une page expliquant les principales options permettant d'adapter ce programme à vos besoins individuels.

ps [option(s)] [ID_du_processus]

Cette commande, lorsqu'elle est exécutée sans options, affiche un tableau de tous les programmes ou processus propres à l'utilisateur, c'est à dire démarrés par l'utilisateur lui-même. Attention, si vous exécutez cette commande avec des options, n'utilisez pas de trait d'union.

aux

Affiche une liste détaillée de tous les processus quel que soit le propriétaire

kill [option(s)] ID_du_processus

Il arrive malheureusement que des programmes ne puissent plus être arrêtés de façon normale. Avec la commande kill vous pouvez tuer pratiquement tous les processus à l'aide de de l'ID du processus (voir top et ps). À cette fin, kill envoie un signal TERM qui ordonne au programme de s'arrêter. Si ceci n'est pas suffisant, le paramètre suivant peut vous venir en aide :

-9

Avec ce paramètre, kill envoie un signal KILL au lieu d'un signal TERM ce qui provoque l'arrêt du processus par le système d'exploitation. Ceci permet d'arrêter le processus spécifié dans pratiquement tous les cas.

killall [option(s)] nom_du_processus

Cette commande fonctionne de la même façon que kill à la différence qu'il est ici possible de donner le nom d'un processus au lieu de son numéro afin de tuer tous les processus portant ce nom.

19.3.2.3. Réseau

ping [option(s)] nom_ordinateur|adresse_IP

ping est le moyen par excellence de vérifier le bon fonctionnement des réseaux TCP-IP. Cet outil envoie un petit paquet de données à un autre ordinateur avec l'ordre de le renvoyer immédiatement. Si ceci fonctionne, ping affiche un message indiquant que la connexion au réseau est effectivement établie.

-c

nombre : détermine le nombre total de paquets à envoyer avant de terminer le programme (par défaut, il n'existe aucune limite).

-f

flood ping : envoie autant de paquets de données que possible ; un moyen populaire de tester les réseaux réservé à root.

-i

valeur : spécifie l'intervalle en secondes entre deux paquets de données (par défaut, cette valeur est de une seconde).

nslookup

Pour la résolution des noms de domaine en adresses IP, il existe le système DNS. Avec cet outil, vous pouvez envoyer des requêtes aux services d'informations correspondants (serveurs DNS).

telnet [option(s)] nom ordinateur ou adresse IP [Port]

Telnet est en fait un protocole Internet qui permet le travail sur un autre ordinateur (remote) à travers le réseau. Telnet est également le nom d'un programme Linux qui utilise ce protocole pour permettre le travail sur des ordinateurs distants.

[Warning]Avertissement

N'utilisez pas Telnet sur des réseaux où des tiers peuvent intercepter vos communications. En particulier sur Internet, veillez à utiliser des méthodes de communication chiffrées telles que ssh afin d'éviter le risque de voir votre mot de passe intercepté et utilisé par des tiers (voir la page de manuel de ssh).

19.3.2.4. Divers

passwd [option(s)] [nom_utilisateur]

À l'aide de cette commande, tout utilisateur a la possibilité de changer son mot de passe à tout moment. En outre, l'administrateur root peut également modifier le mot de passe de chacun des utilisateurs.

su [option(s)] [nom_utilisateur]

Avec su, il est possible de se connecter sous un autre nom d'utilisateur pendant une session. Spécifiez un nom d'utilisateur et le mot de passe correspondant afin de pouvoir utiliser l'environnement de l'utilisateur en question. En tant que root, vous n'avez pas besoin d'entrer ce mot de passe car l'administrateur a le droit d'utiliser l'identité de n'importe quel utilisateur. Si la commande est utilisée sans préciser un nom d'utilisateur, le mot de passe de root vous sera demandé et vous entrerez dans l'environnement du super-utilisateur (root).

halt [option(s)]

Pour ne pas prendre le risque de perdre des données, arrêtez toujours votre ordinateur avec ce programme.

reboot [option(s)]

Fonctionne comme la commande halt en exécutant un réamorçage en plus.

clear

Lorsque l'apparence de la console vous semble trop confuse, cette commande en efface le contenu visible à l'écran. Il n'y a pas d'options pour cette commande.


SUSE LINUX Guide de l'utilisateur 9.3