3.3. Commandes Linux importantes

Cette section donne un aperçu des commandes les plus importantes de votre système SUSE LINUX. Il existe beaucoup plus de commandes que celles reprises dans ce chapitre. Les paramètres sont listés avec les commandes individuelles et, le cas échéant, un exemple d'application typique est présenté. Pour en savoir plus sur les différentes commandes, utilisez les pages de manuel, accessibles avec man suivi du nom de la commande (par exemple, man ls).

Pour monter et descendre dans les pages de manuel, utilisez les options Pg préc. et Pg suiv.. Pour passer du début à la fin d'un document, utilisez les options Début et Fin. Quittez ce mode d'affichage en appuyant sur Q. Pour en apprendre davantage sur la commande man elle-même, entrez la commande man man.

Dans la présentation suivante, les différents éléments de commande sont écrits dans différentes polices. La commande réelle et ses options obligatoires sont toujours imprimées en option de commande. Les spécifications ou paramètres qui ne sont pas requis sont placés entre [crochets].

Ajustez les réglages en fonction de vos besoins. Il est inutile d'écrire ls fichier, s'il n'existe aucun fichier dénommé fichier. Vous pouvez généralement combiner plusieurs paramètres, par exemple en écrivant ls -la au lieu de ls -l -a.

3.3.1. Commandes des fichiers

La section suivante énumère les commandes les plus importantes en matière de gestion des fichiers. Elle couvre l'ensemble de ces opérations, de l'administration générale des fichiers à la manipulation des ACL de système de fichiers.

3.3.1.1. Gestion des fichiers

ls [options] [fichiers]

Si vous exécutez la commande ls sans paramètres supplémentaires, le programme liste le contenu du répertoire actuel sous une forme abrégée.

-l

Liste détaillée

-a

Affiche les fichiers cachés.

cp [options] source cible

Copie la source dans la cible.

-i

Attend la confirmation, si nécessaire, avant de remplacer la cible.

-r

Copie de façon récurrente (y compris les sous-répertoires).

mv [options] source cible

Copie la source vers la cible, puis supprime la source d'origine.

-b

Crée une copie de sauvegarde de la source avant de la déplacer.

-i

Attend la confirmation, si nécessaire, avant de remplacer le fichier cible.

rm [options] fichiers

Supprime les fichiers spécifiés du système de fichiers. Les répertoires ne sont pas supprimés par la commande rm, à moins que l'option -r soit utilisée.

-r

Supprime tous les sous-répertoires existants.

-i

Attend la confirmation avant la suppression de chaque fichier.

ln [options] source cible

Crée un lien interne de la source vers la cible. En principe, un tel lien pointe directement vers la source sur le même système de fichiers. Toutefois, si la commande ln est exécutée avec l'option -s, elle crée un lien symbolique qui ne pointe que sur le répertoire dans lequel figure la source, permettant ainsi de lier les systèmes de fichiers.

-s

Crée un lien symbolique.

cd [options] [répertoire]

Modifie le répertoire actuel. cd sans paramètres permet d'accéder au répertoire personnel de l'utilisateur.

mkdir [options] répertoire

Crée un nouveau répertoire.

rmdir [options] répertoire

Supprime le répertoire spécifié s'il est déjà vide.

chown [options] nomd'utilisateur[:[group]] fichiers

Transfère la propriété d'un fichier vers l'utilisateur portant le nom spécifié.

-R

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

chgrp [options] nomgroupe fichiers

Transfère la propriété de groupe d'un fichier donné vers le groupe portant le nom du groupe spécifié. Le propriétaire du fichier peut modifier uniquement la propriété de groupe s'il fait partie à la fois du groupe actuel et du nouveau groupe.

chmod [options] mode fichiers

Modifie les autorisations d'accès.

Le paramètre mode comprend trois parties : group, access et access type. group accepte les caractères suivants :

u

utilisateur

g

groupe

o

autres

Pour la commande access, accordez les droits avec + et refusez-les avec -.

La commande access type est contrôlée par les options suivantes :

r

read

w

write

x

execute—exécution des fichiers ou accès au répertoire

s

Setuid bit—l'application ou le programme est lancé comme s'il était lancé par le propriétaire du fichier.

Il est possible également d'utiliser un code numérique. Les quatre chiffres de ce code sont composés de la somme des valeurs 4, 2 et 1 - le résultat décimal d'un masque binaire. Le premier chiffre définit l'ID de l'utilisateur (SUID) (4), l'ID du groupe (2) et les étiquettes autocollantes (1). Le second chiffre définit les autorisations du propriétaire du fichier. Le troisième chiffre définit les autorisations des membres du groupe et le dernier chiffre définit les autorisations de tous les autres utilisateurs. Le droit de lecture est défini par 4, le droit d'écriture par 2, et le droit d'exécution d'un fichier par 1. Le propriétaire d'un fichier reçoit généralement un 6 ou un 7 pour les fichiers exécutables.

gzip [paramètres] fichiers

Ce programme compacte le contenu des fichiers au moyen d'algorithmes mathématiques complexes. Les fichiers compactés de cette façon reçoivent l'extension .gz et doivent être décompactés avant de pouvoir être utilisés. Pour comprimer plusieurs fichiers ou même des répertoires complets, utilisez la commande tar.

-d

Décompacte les fichiers gzip compressés pour qu'ils retrouvent leur taille d'origine et puissent être traités normalement (comme la commande gunzip)

tar options archive fichiers

tar place un ou plusieurs fichiers dans une archive. La compression est facultative. tar est une commande tout à fait complexe comprenant plusieurs options. Les options les plus fréquemment utilisées sont :

-f

Écrit la sortie dans un fichier et pas à l'écran comme c'est habituellement le cas.

-c

Crée une nouvelle archive tar.

-r

Ajoute des fichiers à une archive existante.

-t

Indique le contenu d'une archive.

-u

Ajoute des fichiers, mais seulement s'ils sont plus récents que les fichiers déjà contenus dans l'archive.

-x

Décompacte les fichiers à partir d'une archive (extraction).

-z

Compacte l'archive résultante avec gzip.

-j

Compacte l'archive résultante avec bzip2.

-v

Liste les fichiers traités.

Les fichiers d'archive créés par tar se terminent par .tar. Si l'archive tar a été également comprimée à l'aide de la commande gzip, l'extension est .tgz ou .tar.gz. Si elle a été comprimée à l'aide de la commande bzip2, l'extension est .tar.bz2. Des exemples d'application sont disponibles dans la Section 3.1.5, « Archives et compression des données ».

locate modèles

Cette commande n'est disponible que si vous avez installé le paquetage findutils-locate. La commande locate permet de localiser le répertoire dans lequel se trouve un fichier spécifié. Si vous le souhaitez, vous pouvez utiliser des jokers pour indiquer les noms de fichiers. Le programme est très rapide, car il utilise une base de données spécialement créée à cet effet (plutôt que de chercher dans tout le système de fichiers). Cela présente toutefois un inconvénient majeur : l'impossibilité de retrouver des fichiers créés après la dernière mise à jour de la base de données. La base de données peut être générée par l'utilisateur root à l'aide de la commande updatedb.

updatedb [options]

Cette commande exécute une mise à jour de la base de données utilisée par la commande locate. Pour inclure les fichiers dans tous les répertoires existants, exécutez le programme en tant qu'utilisateur root. Il est utile également de le placer en arrière-plan en ajoutant une esperluette (&). Vous pouvez ainsi continuer immédiatement à travailler sur la même ligne de commande (updatedb &). Cette commande s'exécute généralement comme une tâche cron quotidienne (reportez-vous à cron.daily).

find [options]

La commande find permet de rechercher un fichier dans un répertoire donné. Le premier argument spécifie le répertoire dans lequel lancer la recherche. L'option -name doit être suivie d'une chaîne de recherche qui peut contenir également des caractères jokers. Contrairement à la commande locate qui utilise une base de données, la commande find analyse le répertoire actuel.

3.3.1.2. Commandes permettant d'accéder au contenu des fichiers

file [options] [files]

La commande file permet de détecter le contenu des fichiers spécifiés.

-z

Tente de rechercher à l'intérieur des fichiers compressés.

cat [options] fichiers

La commande cat affiche le contenu d'un fichier en imprimant le contenu entier à l'écran sans interruption.

-n

Numérote la sortie dans la marge gauche.

less [options] fichiers

Cette commande peut servir à parcourir le contenu du fichier spécifié. Faites défiler la moitié d'une page écran vers le haut ou vers le bas à l'aide des options Pg préc. et Pg suiv. ou une page d'écran complète vers le bas en appuyant sur Espace. Pour atteindre le début ou la fin d'un fichier, utilisez les options Début et Fin. Appuyez sur Q pour quitter le programme.

grep [options] searchstring fichiers

La commande grep recherche une chaîne spécifique dans les fichiers spécifiés. Si la chaîne de recherche a été trouvée, la commande affiche la ligne dans laquelle se trouve la chaînerecherchée, ainsi que le nom du fichier.

-i

Ignore la casse.

-H

N'affiche que les noms des fichiers respectifs, pas les lignes de texte.

-n

Affiche également les numéros des lignes dans lesquelles une correspondance a été trouvée.

-l

Liste uniquement les fichiers dans lesquels la chaînerecherchée ne se trouve pas.

diff [options] fichier 1 fichier 2

La commande diff compare le contenu des deux fichiers. La sortie produite par le programme liste toutes les lignes qui ne correspondent pas. Cette commande est fréquemment utilisée par les programmeurs qui ont besoin seulement d'envoyer leurs changements de programme et pas leur code source entier.

-q

Indique uniquement si les deux fichiers diffèrent.

-u

Produit un diff « unifié », qui rend la sortie plus lisible.

3.3.1.3. Systèmes de fichiers

mount [options] [périphérique] mountpoint

Cette commande peut servir à monter n'importe quel support de données, comme les disques durs, les lecteurs de CD-ROM et les autres lecteurs, dans un répertoire du système de fichiers Linux.

-r

montage en lecture seule.

-t filesystem

Spécifie le système de fichiers, généralement ext2 pour les disques durs Linux, msdos pour le support MS-DOS, vfat pour le système de fichiers Windows et iso9660 pour les CD.

Pour les disques durs qui ne sont pas définis dans le fichier /etc/fstab, il est nécessaire également de spécifier le type de périphérique. Dans ce cas, seul l'utilisateur root peut réaliser le montage. Si le système de fichiers doit être également monté par d'autres utilisateurs, entrez l'option user dans la ligne appropriée du fichier /etc/fstab (séparé par des virgules) et enregistrez cette modification. De plus amples informations sont disponibles dans la page de manuel mount(1).

umount [options] mountpoint

Cette commande démonte un lecteur monté du système de fichiers. Pour empêcher la perte de données, exécutez cette commande avant de retirer un support de données amovible de son lecteur. En principe, seul l'utilisateur root est autorisé à exécuter les commandes mount et umount. Pour permettre aux autres utilisateurs d'exécuter ces commandes, modifiez le fichier /etc/fstab afin de spécifier l'option user pour le lecteur respectif.

3.3.2. Commandes du système

La section suivante énumère les commandes les plus importantes en matière de récupération des informations du système, du traitement et du contrôle du réseau.

3.3.2.1. Informations système

df [options] [directory]

La commande df (disk free), si elle est utilisée sans options, affiche des informations sur l'espace disque total, l'espace disque actuellement utilisé et l'espace disponible sur tous les lecteurs montés. Si un répertoire est spécifié, les informations sont limitées au lecteur sur lequel se trouve ce répertoire.

-h

Affiche le nombre de blocs occupés en gigaoctets, mégaoctets ou kilo-octets, dans un format lisible.

-T

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

du [options] [path]

Cette commande, si elle est exécutée sans paramètres, affiche l'espace disque total occupé par des fichiers et sous-répertoires dans le répertoire actuel.

-a

Affiche la taille de chaque fichier.

-h

Sortie dans le format lisible.

-s

Affiche seulement la taille totale calculée.

free [options]

La commande free affiche des informations concernant l'utilisation de la mémoire RAM et l'espace d'échange, en affichant le montant total et utilisé dans les deux catégories. Pour plus d'informations, reportez-vous à la Section 10.1.6, « Commande free » (↑Référence).

-b

Sortie en octets.

-k

Sortie en kilo-octets.

-m

Sortie en mégaoctets.

date [options]

Ce programme simple affiche l'heure système actuelle. S'il est exécuté en tant que root, il peut servir également à modifier l'heure du système. Les détails concernant le programme sont disponibles dans la page de manuel date(1).

3.3.2.2. Processus

top [options]

top offre un aperçu rapide des processus en cours d'exécution. Appuyez sur H pour accéder à une page qui explique brièvement les principales options permettant de personnaliser le programme.

ps [options] [process ID]

Si elle est exécutée sans options, cette commande affiche un tableau de tous vos programmes ou processus - ceux que vous avez lancés. Les options de cette commande ne sont pas précédées d'un tiret.

aux

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

kill [options] ID de processus

Malheureusement, il est impossible parfois de fermer un programme normalement. Dans la plupart des cas, vous devez toujours être en mesure d'arrêter un tel programme en exécutant la commande kill et en spécifiant l'ID processus respectif (reportez-vous aux commandes top et ps). kill envoie un signal TERM qui indique au programme de se fermer. Si cela n'aide pas, il est possible d'utiliser le paramètre suivant :

-9

Envoie un signal KILL au lieu d'un signal TERM, qui met fin au processus spécifié dans la plupart des cas.

killall [options] processname

Cette commande est similaire à la commande kill, mais utilise le nom du processus (au lieu de l'ID du processus) comme argument pour éliminer tous les processus portant le même nom.

3.3.2.3. Réseau

ping [options] nom hôte ou adresse IP

La commande ping est l'outil standard permettant de tester la fonctionnalité de base des réseaux TCP/IP. Elle envoie un petit paquet de données vers l'hôte cible en demandant une réponse immédiate. Si celui-ci fonctionne, ping affiche un message à cet effet, qui indique que le lien du réseau fonctionne.

-c nombre

Détermine le nombre total de paquets à envoyer et se termine après leur envoi (par défaut, aucune limite n'est définie).

-f

flood ping : envoie autant de paquets de données que possible. C'est un moyen connu pour tester les réseaux, réservé à l'utilisateur root.

-i valeur

Spécifie l'intervalle entre deux paquets de données en secondes (par défaut : une seconde).

nslookup

Le système de nom de domaine résout les noms de domaines en adresses IP. Cet outil permet d'envoyer des requêtes aux serveurs de noms (serveurs DNS).

telnet [options] nom hôte ou adresse IP [port]

Telnet est un protocole Internet qui permet de travailler sur des hôtes distants par le biais d'un réseau. telnet est également le nom d'un programme Linux qui utilise ce protocole pour activer des opérations sur des ordinateurs distants.

[Warning]Avertissement

N'utilisez pas telnet dans un réseau où les tiers sont susceptibles de vous « espionner ». En particulier sur Internet, vous pouvez utiliser les méthodes de transfert codées, telles que ssh, pour éviter tout risque d'utilisation malveillante d'un mot de passe (reportez-vous aux pages de manuel concernant ssh).

3.3.2.4. Divers

passwd [options] [username]

Cette commande permet aux utilisateurs de modifier à tout moment leurs propres mots de passe. L'administrateur root peut utiliser cette commande pour modifier le mot de passe de n'importe quel utilisateur dans le système.

su [options] [username]

La commande su permet de se loguer sous un nom d'utilisateur différent à partir d'une session en cours. Spécifiez un nom d'utilisateur et le mot de passe correspondant. Le mot de passe n'est pas requis de la part de l'utilisateur root. En effet, l'utilisateur root est autorisé à prendre l'identité de n'importe quel autre utilisateur. Lorsque vous utilisez la commande sans spécifier un nom d'utilisateur, vous êtes invité à entrer le mot de passe root et à basculer vers le superutilisateur (root).

-

Utilisez su - pour démarrer un shell de login pour l'utilisateur différent.

halt [options]

Pour éviter la perte de données, vous devez toujours utiliser ce programme pour arrêter votre système.

reboot [options]

Agit de la même façon que halt, excepté que le système exécute un redémarrage immédiat.

clear

Cette commande nettoie la partie visible de la console. Elle n'a pas d'options.

3.3.3. Pour plus d'informations

Il existe beaucoup plus de commandes que celles reprises dans ce chapitre. Pour obtenir des informations sur les autres commandes ou plus de détails, il est recommandé de lire l'ouvrage de O'Reilly intitulé Linux in a Nutshell.