Les articles de Linux Pratique Hors-Série N°27

Article mis en avant

Préface

On entend parfois dire que la ligne de commandes c'est pour les paresseux ; c'est surtout pour les impatients. Il y a en effet énormément de situations où la ligne de commandes s'avère bien plus rapide que son homologue graphique : pour naviguer parmi les fichiers du système, pour gérer ses paquets logiciels, pour ouvrir un fichier avec l'application adéquate, etc

Saisir une commande, c'est en fait donner des ordres à votre ordinateur. Or, vous ne parlez pas du tout le même langage tous les deux, il vous faut donc un interprète ! C'est le rôle d'un programme que l'on appelle le « shell ». Ainsi, vous saisissez une commande, le shell la lit, l'interprète, puis l'exécute. Grâce à lui vous pouvez par exemple naviguer parmi vos fichiers, en créer de nouveaux, lancer des logiciels, etc.
Vous savez maintenant que vous dialoguez avec le shell au travers d'un « émulateur de terminal ». Mais comment vous faire comprendre ? Quelle est la syntaxe à utiliser et aussi, comment interpréter les caractères spécifiques que vous pouvez y lire ? C'est ce que nous allons aborder dans ce second article.
Oui, le shell, quel qu'il soit, est plutôt bien conçu. Il intègre des fonctionnalités avancées, notamment au niveau de la saisie des commandes, qui facilitent les choses et qui permettent de gagner en rapidité. Voyons de quoi il s'agit...
Avant d'aller plus loin, outre la possibilité de naviguer aisément dans votre système de fichiers, n'oublions pas que le shell est principalement destiné à vous permettre d'exécuter des programmes. Pour ce faire, tout un environnement d'exécution est mis en place dès votre connexion et vous pourrez même vous amuser à « jongler » avec les différents programmes...
Bientôt, nous allons découvrir ensemble les premières commandes de base. Mais avant, il nous reste une dernière chose à aborder pour s'approprier tous les rudiments du langage shell : la syntaxe nécessite parfois l'utilisation de caractères spéciaux, qu'il est indispensable de connaître pour bien formuler ses requêtes.
Pour se familiariser avec la ligne de commandes, rien de tel que d'effectuer quelques opérations simples sur les fichiers et répertoires, histoire de bien maîtriser son environnement, de pouvoir se balader dans son système de fichiers et d'organiser ses documents en toute facilité.
Vous savez utiliser le shell depuis une console, exécuter des commandes simples ou même plus complexes à l'aide de redirections et de pipes, mais maintenant vous voulez enchaîner les commandes. Comment faire ? Écrire un script !
Il faut un début à tout. Avant de se lancer dans l'écriture de scripts complexes, il vaut mieux être certain de savoir précisément ce que l'on fait. La tradition dans le monde de l'informatique est de créer un programme affichant un simple message « Hello world ! ». Nous ne dérogerons pas à la règle... mais nous l'adapterons.
Un script permet de placer des commandes dans un fichier et de les exécuter... Mais si l'on ne peut pas faire varier légèrement son comportement en changeant des valeurs comme des chaînes de caractères ou des nombres, l'intérêt est très limité. Heureusement pour nous, il existe les variables.
Dans un script, il se peut que l'on veuille effectuer des actions différentes en fonction d'une valeur calculée ou transmise par l'utilisateur. Par exemple, à la question « Voulez-vous quitter le programme (O/N) ? », il est bien évident que l'action à déclencher sera différente suivant que l'utilisateur réponde par l'affirmative ou la négative. Grâce aux structures conditionnelles nous allons pouvoir gérer ces cas.
Une boucle permet de répéter une action – une commande ou un bloc de commandes – un certain nombre de fois. Ces commandes pourront être exécutées à l'identique ou paramétrées à l'aide de variables qui évolueront à chaque passage dans la boucle. Si vous voulez afficher les 100 premiers résultats de la table de multiplication par 7, vous n'allez certainement pas écrire 100 lignes de code et calculer « à la main » les résultats ! D'où l'intérêt des boucles...
Vi est un éditeur de texte fourni par défaut avec tous les systèmes Unix. Il existe plusieurs versions de Vi ; celle qui est fournie avec votre distribution est en général assez basique, il est donc préférable d'installer Vim (Vi IMproved), une version améliorée de Vi, à l'aide de votre gestionnaire de paquets.
Mais si, cela peut arriver bien plus souvent que vous ne le pensez ! Vous créez un document, vous l'enregistrez rapidement sans vraiment regarder où... et impossible de remettre la main dessus ! Ou alors, vous souhaitez éditer le fichier de configuration d'une application, mais vous n'avez aucune idée de l'endroit où il peut être stocké. Ces quelques commandes vont vous aider à retrouver très vite ce que vous cherchez.
L'utilitaire detox, présent dans les dépôts logiciels de la plupart des distributions Linux, permet de « nettoyer » et convertir rapidement les noms de fichiers comportant des espaces et des caractères spéciaux, de façon à garantir leur interopérabilité.
Dans un souci d'économie d'espace disque ou bien pour transférer de nombreux fichiers en une seule opération et en conservant l'arborescence initiale, la création d'une archive - compressée de surcroît – s'avère particulièrement utile...
Vous avez effacé par mégarde les photos de la carte mémoire de votre appareil ou bien formaté une partition qui contenait des données très importantes ? Inutile de pleurer toutes les larmes de votre corps, cela ne fera pas ré-apparaître vos fichiers ! PhotoRec en revanche, lui, le pourra.
Vous devez changer de poste de travail, ou vous séparer d'un disque dur ? Immédiatement vous pensez à toutes ces données personnelles et/ou sensibles qui traînent encore sûrement sur vos supports de stockage. Vous trouverez ici plusieurs méthodes permettant d'effacer complètement vos données sans laisser la moindre trace...
Vous avez pour habitude de rapporter du travail à la maison ? Vous multipliez ainsi les versions de fichiers sans plus vous y retrouver ? Il est temps de vous organiser et d'opter pour la synchronisation de vos données... Le programme Unison permet de répliquer un ensemble de fichiers et/ou de répertoires sur différentes machines ou différents disques de la même machine. Compatible Unix et Windows, il permet de réaliser une synchronisation de fichiers entre ces deux types de système. Unison peut en outre être utilisé pour les synchronisations à distance, via le protocole SSH.
Le format PDF (Portable Document Format), créé par Adobe Systems en 1993, est très largement utilisé, notamment dans un contexte professionnel, car il présente de nombreux avantages : il préserve les polices, les éléments graphiques et toute la mise en page d'un document quel que soit le logiciel utilisé pour le visualiser. Voici quelques commandes à retenir pour manipuler vos documents PDF...
Linux est un système multi-utilisateur, vous pouvez donc en créer autant que vous le souhaitez. Chacun peut en outre se voir doté de plus ou moins de droits sur le système, ce qui va déterminer les actions qui lui sont permises. Mais ça, c'est vous qui décidez !
À chaque distribution correspond un format de paquet logiciel et chacune intègre son propre gestionnaire de paquets. Apt, Yum, Zypper, ..., ils ont tous pour point commun de gérer également les dépendances entre paquets, ce qui facilite grandement l'installation de logiciels supplémentaires. Encore faut-il connaître les commandes adéquates !
Vous venez d'acheter un nouvel ordinateur, votre installation Linux est toute fraîche. Bien sûr vous avez vaguement en tête les caractéristiques techniques de la machine en question, mais « vaguement » ce n'est parfois pas suffisant pour configurer au mieux son système. Voici une sélection de quelques commandes incontournables pour pallier ce problème.
Pour accéder aux fichiers d'une partition, il est nécessaire que celle-ci soit « montée » sur votre système, autrement dit, l'arborescence de fichiers qui se trouve sur ladite partition doit être attachée à un répertoire du système de fichiers actif.
À force de télécharger de la musique et des vidéos, de tester les toutes dernières versions de logiciels et distributions à la mode, votre disque peut se retrouver très vite saturé et voilà que vous manquez d'espace pour des données essentielles ! Nous allons donc voir ici comment supprimer des fichiers devenus obsolètes ou inutiles afin de gagner un peu d'espace disque.
Identifier les services qui sont lancés au démarrage de votre système, repérer parmi eux les services inutiles pour votre propre usage, savoir les contrôler (les arrêter ou les stopper momentanément), voilà les quelques opérations qui sont abordées ici.
Faire une copie de sauvegarde des données importantes, créer un CD audio en compilant vos morceaux préférés, ou tester l'image de la dernière distribution Linux à la mode, voilà le type d'actions courantes qui nécessite de maîtriser les outils de gravure en ligne de commandes !
L'extraction, puis l'encodage de DVD vidéo est une opération qui permet de préserver le support original d'éventuelles rayures ou autre dégradation, ou bien d'éviter à vos enfants de subir ¼ d'heure de publicités et d'extraits divers avant de pouvoir regarder enfin le dessin animé tant désiré... Nous allons présenter ici les outils nécessaires, ainsi que les options et paramètres les plus adaptés.
Le programme abcde (« A Better CD Encoder ») est l'outil idéal pour ripper vos CD audio et ainsi avoir la possibilité d'écouter votre musique sur le support de votre choix (baladeur ou auto-radio par exemple). Cet utilitaire est très facile d'emploi, puisqu'il suffit de saisir dans un fichier de configuration toutes vos préférences d'encodage. Voici la marche à suivre.
Le projet ImageMagick regroupe un ensemble d'outils dédiés à la manipulation d'images. Ses possibilités sont quasiment infinies : conversion de format, redimensionnement, effets spéciaux, décoration, retouche, etc. Vous trouverez ici quelques exemples de commandes usuelles...
Il est de plus en plus fréquent de trouver des screencasts sur les plateformes de partage de contenus vidéos ; ils s'avèrent en effet on ne peut plus adaptés lorsqu'il s'agit de réaliser un tutoriel, et beaucoup plus efficaces qu'une simple explication textuelle.
Outre les diverses plateformes de contenus vidéos qui donnent accès à une mine d'informations (documentaires, tutoriels, etc.), certaines chaînes de télévision proposent leurs programmes en « replay », gratuitement, parfois sur une durée limitée. Vous n'avez malheureusement pas le temps de les visionner ? Les outils présentés ici vous permettront de télécharger les vidéos qui vous intéressent pour les regarder ultérieurement...
Les commandes présentées ici vous permettront de prendre connaissance de l'ensemble de vos paramètres réseau et d'obtenir bien d'autres informations qui pourraient s'avérer utiles pour diagnostiquer et résoudre un problème...
Voilà un savoir-faire indispensable si vous souhaitez vous connecter à distance à un ordinateur en toute sécurité ! OpenSSH, une alternative libre au programme SSH, va nous permettre d'activer rapidement une connexion sécurisée entre deux machines. Rien de très compliqué, seule une poignée de commandes sont à retenir...
VNC (Virtual Network Computing) est un protocole permettant de se connecter à un ordinateur distant. Il permet de visualiser à l'écran ce qu'il se passe sur la machine distante et de lui transmettre (éventuellement) les saisies au clavier et les clics de souris.
Samba est un serveur de fichiers sous Linux, qui tire son nom du protocole SMB (Server Message Block) mis au point par Microsoft en 1987. L'utilisation de ce protocole par Samba permet le partage de fichiers et d'imprimantes entre des systèmes d'exploitation différents : Windows, Linux, Mac OS X, Solaris, BSD, etc.
On ne le répétera jamais assez : faites des sauvegardes ! En général, on ne s'y met que le jour où il est déjà trop tard, où l'on vient de perdre un disque plein de souvenirs personnels et de documents importants... Pourtant, vous connaissez l'adage : « mieux vaut prévenir que guérir » !