Langage : Shell
Niveau : Grand débutant
Ce tutoriel n'a originellement pas été écrit ni pour ce blog, ni pour des bioinformaticiens, (ni par moi), mais je pense qu'il a tout à fait sa place ici car il donne les clés pour que n'importe qui puisse se familiariser avec la ligne de commande et sera sûrement très utile pour par exemple des biologistes qui veulent s'essayer à la bioinformatique.
L'objectif de ce tutoriel est de démystifier cet outil qu'est la ligne de commande, et constitue d'abord une introduction à celui-ci. Ensuite on rentre plus dans le détail, et on voit comment utiliser la ligne de commande comme navigateur de fichiers. Dans un troisième temps, on essaie de donner un panorama de certaines des tâches les plus courantes (dates, calendrier, gérer les processus, etc…) qui peuvent être gérées également en ligne de commande. Une dernière partie est consacrée à quelques remarques et pistes d'approfondissement.
Les paragraphes débutant par « Note. » discutent de détails (techniques, historiques,…) qui ne sont pas nécessaires à la compréhension du tutoriel.
Introduction
Tout d'abord, qu'est-ce que la ligne de commande ? Pour le savoir il faut pour commencer lancer un émulateur de terminal (l'application gnome-terminal sur Gnome, konsole sur KDE). Le lecteur est invité à le faire, afin de pouvoir tester au fur et à mesure de façon active les exemples qui seront proposés.
Une fois un émulateur de terminal ouvert, on se retrouve donc en ligne de commande : c'est‑à dire une invite de commande, généralement un éventuel bout de texte avec des infos suivi d'un symbole comme
1 |
$ |
,
1 |
> |
ou
1 |
# |
, ce qui donne par exemple
1 |
toto@ordimaison $ |
ou tout simplement
1 |
$ |
. On se retrouve alors à demander des choses à la machine dans un langage présentant des similarités avec le langage naturel, spécialement avec le mode impératif.
On doit en effet écrire des phrases qui sont des ordres. Tout ordre a besoin d'un verbe, on parle bien sûr des commandes. Ce qui donne par exemple en écrivant
1 |
ls |
après le dollar de l'invite de commande :
qui liste des fichiers et dossiers dans le répertoire courant. Ici on voit qu'il y a un dossier
1 |
Documents |
et un fichier
1 |
tuto.txt |
. Remarquons qu'après la commande, on reçoit une nouvelle invite de commande.
Chaque commande est en général en fait le nom d'un programme qui se trouve généralement dans le dossier
1 |
/bin |
ou
1 |
/usr/bin |
, hormis quelques commandes basiques qui sont parfois intégrées au programme fournissant l'interface en ligne de commande (le shell).
Mais certains ordres ont besoin de plus qu'un verbe, il nous faut un ou plusieurs compléments d'objets, des objets sur lequels porte l'ordre : c'est le rôle des arguments. Par exemple :
1 |
$ cp tuto.txt tuto-sauvegarde.txt |
qui fait une copie du fichier
1 |
tuto.txt |
sur un nouveau fichier nommé
1 |
tuto-sauvegarde.txt |
. Les arguments doivent parfois respecter un ordre précis, comme c'est le cas ici : l'ordre est ce qui remplace la préposition « sur » dans la phrase « copie tuto.txt sur tuto-sauvegarde.txt ».
On remarquera que tout comme avec le langage naturel, les différents mots sont séparés par des espaces.
Bien sûr, ce n'est pas encore fini, ce serait trop simple ! Un verbe peut en effet être nuancé à l'aide d'adverbes, et il en est de même pour les commandes grâce aux options. Par exemple :
L'option
1 |
-l |
nuance la commande
1 |
ls |
en lui précisant qu'on veut une liste détaillée (
1 |
-l |
pour "long"). On obtient plus de détails sur lesquels on n'insistera pas ici, mais notons toutefois le fichier
1 |
tuto-sauvegarde.txt |
qui est apparu suite à la commande
1 |
cp |
de tout-à‑l'heure. D'autres options sont possibles, comme
1 |
ls -S |
qui précise que les fichiers doivent être triés en fonction de leur taille (
1 |
-S |
pour "size").
Certaines options, pour des raisons mnémotechniques, utilisent plusieurs caractères : pour le
1 |
ls |
on peut écrire
1 |
–size |
au lieu de
1 |
-s |
par exemple pour afficher la taille des fichiers (Notons l'utilisation de
1 |
– |
au lieu de
1 |
- |
). Remarquons au passage que
1 |
-s |
et
1 |
-S |
représentent des options différentes !
Note. Ceci est vrai pour le
1 |
ls |
du projet GNU, qui est vraisemblablement celui qui se trouve sur votre ordinateur si vous avez par exemple Ubuntu d'installé. Mais sur les systèmes BSD par exemple, les commandes ont rarement des options longues, et le nombre d'options est aussi souvent moindre.
Enfin, certaines options peuvent avoir un argument qui les suit, tout comme la commande a des arguments. C'est à rapprocher avec des expressions comme « liste en triant en fonction de la taille » : le « en fonction de la taille » est un argument de l'option « en triant » de la commande « liste ». En vraie syntaxe cela donne
1 |
ls –sort size |
.
On peut mixer les différentes options lorsque cela a un sens, et écrire indifféremment
1 |
ls –sort size -l |
ou
1 |
ls -l –sort size |
pour obtenir une liste détaillée et triée suivant la taille. Les options courtes peuvent souvent être mises ensemble : par exemple
1 |
ls -l -S |
peut être abrégé en
1 |
ls -lS |
, d'où le besoin des
1 |
– |
pour distinguer les options longues et courtes.
Voilà, c'est en gros tout ce qu'il faut vraiment savoir sur la syntaxe de la ligne de commande. Reste bien sûr à connaître quelles options peuvent être passées à une commande donnée, et quels sont les arguments qu'elle attend. C'est là que font surface les pages de manuel et la commande
1 |
man |
, auxquelles une section est consacrée plus loin.
La console : votre nouveau navigateur de fichiers
Manipulations de base
Comme le lecteur attentif aura peut-être remarqué, il a été question à un moment de dossier ou répertoire courant. Cela tient à ce que lorsqu'on est en ligne de commande, on se situe à un endroit donné de l'arborescence de fichiers, consultable à l'aide de la commande
1 |
pwd |
(sans arguments), et qui parfois est aussi affiché dans les informations de l'invite de commande. Au démarrage du terminal
1 |
pwd |
affichera quelque chose comme
1 |
/home/toto |
qui signifie que le répertoire courant est le sous-répertoire
1 |
toto |
du répertoire
1 |
/home |
issu de la racine
1 |
/ |
.
On peut changer le répertoire courant à l'aide de la commande
1 |
cd |
(change directory). On a déjà vu que l'on peut copier des fichiers. Il n'en faut pas plus pour se rendre compte que l'on peut effectuer toutes les tâches d'un navigateur de fichiers. Récapitulons (chaque ligne est suivie d'un commentaire après le symbole
1 |
# |
) :
1 2 3 4 |
$ pwd # afficher le répertoire courant (print working directory)<br> $ ls # lister les fichiers et dossier dans le répertoire courant<br> $ cp fichier nouveau-fichier # copier<br> $ cd nouveau-dossier # se déplacer dans l'arborescence vers un nouveau dossier |
Le
1 |
nouveau-dossier |
peut être spécifié par le nom du chemin complet, par exemple
1 |
/home/toto/Documents |
ou par un chemin relatif comme
1 |
Documents |
si le répertoire courant est
1 |
/home/toto |
. Ceci vaut aussi pour les noms de fichiers de la commande
1 |
cp |
on manipule donc des chemins, qui peuvent correspondre à un fichier ou un dossier. Notons que le répertoire personnel
1 |
/home/toto |
de l'utilisateur toto peut être abrégé en
1 |
~ |
ou
1 |
$HOME |
ce qui permet d'écrire aussi
1 |
cd ~/Documents |
. Enfin, la commande
1 |
cd |
appelée sans argument est équivalente à
1 |
cd ~ |
.
Une fonctionnalité très pratique pour spécifier les chemins est la complétion automatique avec la touche
1 |
< ;tab> |
. Par exemple on commence par écrire
1 |
cd Doc |
puis on presse
1 |
< ;tab> |
ce qui complète en
1 |
cd Documents |
s'il n'y a pas d'ambiguïté.
Deux dossiers spéciaux ont un nom particulier : le dossier courant, et le dossier juste au-dessus dans l'arborescence. Le premier s'appelle
1 |
. |
, et le deuxième
1 |
.. |
. Ainsi, pour revenir au dossier parent on écrira :
1 |
$ cd .. |
La commande
1 |
mv |
permet de bouger ou renommer des fichiers ou dossiers, et s'utilise comme la commande
1 |
cp |
:
1 |
mv chemin nouveau-chemin |
.
Enfin, la commande
1 |
rm chemin |
permet d'éliminer le fichier dont le nom est donné par
1 |
chemin |
.
Par principe de précaution,
1 |
cp |
et
1 |
rm |
ne peuvent pas copier ou éliminer des dossiers entiers et ce qu'ils contiennent si l'on n'utilise pas l'option
1 |
-r |
(récursif).
On peut faire des manipulations plus complexes comme copier tous les pdfs à la fois du dossier courant dans le dossier
1 |
Documents |
:
1 |
$ cp *.pdf Documents/ |
grâce à l'astérisque
1 |
* |
. En gros
1 |
*.pdf |
est un raccourci qui sera remplacé par la liste de tous les fichiers dont le nom termine par
1 |
.pdf |
. Donc par exemple si
1 |
tuto.pdf |
et
1 |
autre-tuto.pdf |
sont les pdfs du dossier courant,
1 |
*.pdf |
est équivalent à
1 |
tuto.pdf autre-tuto.pdf |
.
La commande
1 |
mkdir |
permet de créer un nouveau dossier, et la commande
1 |
rmdir |
permet d'éliminer un dossier vide.
Une petite image de petite session de navigation :
Note. Tout dossier ou fichier a des permissions quant aux droits d'écriture, lecture et exécution, et un propriétaire. Les commandes permettant de gérer ceci sont
1 |
chmod |
(change file modes) pour les droits et
1 |
chown |
(change owner) pour le propriétaire. Par exemple
1 |
chmod a+w tuto.txt |
rend le fichier
1 |
tuto.txt |
écrivable (
1 |
w |
pour "writable") par n'importe quel utilisateur (
1 |
a |
pour "all"), ce qui est probablement une mauvaise idée, dit en passant. L'utilisation de ces deux commandes est détaillée dans les pages man des commandes respectives.
Fichiers d'un format particulier (exemple : images)
Souvent, un navigateur de fichiers vous permettra d'ouvrir une image avec votre logiciel de visualisation par défaut à l'aide d'un double clic sur un fichier contenant une image (toto.jpg ou toto.png par exemple). En ligne de commande pour arriver au même résultat il suffit de lancer le logiciel visionneur d'images sur un fichier donné en argument. On donne ici l'exemple du visionneur d'images feh, mais n'importe lequel (eog, gwenview, ristretto, etc…) fera l'affaire.
1 |
$ feh toto.jpg |
Pour lire un pdf ce sera analogue avec des logiciels comme evince, okular, epdfview, zathura… Par exemple avec evince :
1 |
$ evince toto.pdf |
Enfin, pour une vidéo par exemple avec vlc ou mplayer :
1 |
$ mplayer toto.ogg |
Notons que si l'utilisateur ne connaît pas le type de fichier, et ne sait pas avec quel logiciel il peut le lire, il peut utiliser la commande
1 |
xdg-open |
qui lancera le programme par défaut associé à ce type de fichier. Par exemple :
1 |
$ xdg-open toto.ogg |
Le lecteur remarquera que jusqu'à ce qu'il ferme le visionneur d'images, de pdf, ou vidéos, il ne peut plus écrire de commandes, car la ligne de commande attend que l'exécution du programme de visualisation soit terminée. Afin de pouvoir continuer à écrire des commandes sans avoir à fermer le programme de visualisation, on peut utiliser le symbole
1 |
& ; |
en fin de commande, qui correspond exactement à cette demande. Par exemple :
1 |
$ evince toto.pdf & ; |
Note. Fermer la fenêtre de l'émulateur de terminal avant le visionneur d'images ou de pdf aura pour conséquence de tout fermer à la fois. Si cela s'avère gênant, la commande peut être précédée de
1 |
nohup |
, qui détache complètement du shell l'exécution de la commande (
1 |
nohup |
n'est rien d'autre qu'une commande qui prend une autre commande en argument !).
Autres tâches habituelles de type desktop
Dates
La commande
1 |
date |
permet d'afficher la date actuelle, et la commande
1 |
cal |
permet d'afficher un calendrier. Par défaut seul le mois actuel est affiché, mais l'option
1 |
-y |
(year) permet d'afficher le calendrier de toute l'année, et
1 |
-m |
(monday) permet de faire commencer les semaines à lundi.
1 2 3 4 5 6 7 8 9 |
[crayon-673f5af1b2143435532167 ]$ cal -m<br> March 2014<br> Mo Tu We Th Fr Sa Su<br> 1 2<br> 3 4 5 6 7 8 9<br> 10 11 12 13 14 15 16<br> 17 18 19 20 21 22 23<br> 24 25 26 27 28 29 30<br> 31 |
Arrêter/redémarrer
La commande
1 |
halt |
permet d'arrêter le système. Les droits d'administrateur étant probablement requis sur votre système pour cette action, il faut probablement faire précéder la commande de
1 |
sudo |
. De façon analogue, la commande
1 |
reboot |
permet de redémarrer.
Il existe aussi des commandes pour hyberner, suspendre, etc… On renvoie le lecteur à la page man
1 |
pm-action |
:
1 |
$ man pm-action |
Fermer l'émulateur de terminal
Il suffit de fermer la fenêtre. Mais on peut aussi utiliser la commande
1 |
exit |
sans arguments.
Gérer plusieurs écrans (par exemple : vidéoprojecteur)
La commande
1 |
xrandr |
permet de facilement gérer les écrans, et un simple
1 |
xrandr –auto |
suffira normalement à détecter et configurer un rétroprojecteur par exemple.
Installer/désinstaller des programmes
Ceci se doit d'être fait à l'aide du gestionnaire de paquets en usage dans votre système d'exploitation. Ce peut être par exemple
1 |
apt-get |
ou
1 |
aptitude |
, ou
1 |
yum |
suivant la distribution. Le lecteur est invité à consulter la documentation officielle de sa distribution à ce sujet.
Gérer les processus
Un besoin typique que l'on peut rencontrer est celui de devoir forcer l'arrêt d'un programme qui ne répondrait plus. Un programme en cours d'exécution est appelé processus. La commande
1 |
top |
donne une liste des processus les plus actifs, et donne un certain nombre d'informations sur chaque processus, et s'actualise avec le temps. Pour quitter il faut presser la touche
1 |
q |
(quit) et
1 |
h |
(help) fournit un écran d'aide. Les informations plus importantes sont le nom de la commande ayant donné lieu à l'existence du processus, l'utilisation du CPU (processeur), et le numéro PID (process identifier), identifiant unique qui caractérise le processus.
Supposons que l'on a démarré firefox, par exemple en tapant la commande
1 |
firefox & ; |
. Alors en utilisant
1 |
top |
avec l'option
1 |
-u toto |
(
1 |
-u |
pour "user"), on obtiendra des informations sur tous les processus lancés par l'utilisateur toto, ce qui donnera :
Les premières lignes donnent des informations générales sur le système, et ensuite vient la liste des processus, ici
1 |
bash |
(qui fournit la ligne de commande) et
1 |
firefox |
. En général il y aura beaucoup plus de processus, mais ici on a simplifié pour des raisons pédagogiques.
Une autre commande avec des objectifs similaires mais non intéractive est
1 |
ps |
, on renvoie à sa page man pour son utilisation.
Supposons par exemple que firefox ne répond plus. Le numéro PID de firefox est 9179 donc on peut utiliser la commande :
1 |
$ kill 9179 |
Ce qui essaiera de mettre fin à l'application gentiment. Si cela n'a pas d'effet c'est que l'option
1 |
-9 |
de
1 |
kill |
doit être tentée. Souvent, lorsque le programme qui pose souci a un nom particulier, il est plus pratique d'utiliser la commande
1 |
pkill |
qui fonctionne similairement à kill (et accepte aussi l'option
1 |
-9 |
) mais prend un nom et non un PID en argument.
1 |
$ pkill firefox |
Le lecteur est invité à vérifier avec
1 |
top |
que le processus
1 |
firefox |
n'apparaît plus.
Et maintenant ?
En savoir plus sur les pages man
Les pages de manuel peuvent être consultées à l'aide de la commande
1 |
man |
:
1 |
$ man ls |
pour connaître tous les détails sur les options et arguments que peut admettre la commande
1 |
ls |
. La touche
1 |
h |
permet d'obtenir un écran d'aide sur les touches utilisables. Les plus utiles sont les touches directionnelles pour monter ou descendre (ou les touches
1 |
j |
et
1 |
k |
), et les touches
1 |
u |
(up) et
1 |
d |
(down) pour avancer ou reculer d'un demi-écran. On donnera en annexe quelques conseils pour bien comprendre une page de manuel. Lorsqu'on ne connaît pas encore le nom de la commande que l'on cherche, on peut tenter sa chance avec la commande
1 |
apropos |
.
1 |
$ apropos mot-clé |
qui donnera une liste de pages de manuels en rapport avec ce mot clé, mais pour une utilisation simple c'est aussi bien de se faire une petite liste à la main sur un papier, ou sur un simple fichier de texte, et ça évite d'être débordé par le nombre de commandes.
Une page man est toujours structurée suivant un même schéma. Elle est organisée en sections, dont les plus importantes sont la section NOM (NAME en anglais), la section SYNOPSIS et la section DESCRIPTION. La section NOM donne juste le nom du programme et une brève phrase de description. La section DESCRIPTION donne une description détaillée de la commande, généralement suivie par la description des différentes options. La section SYNOPSIS est un peu particulière : elle donne formellement de l'information sur la syntaxe qu'admet la commande. Par exemple pour la commande
1 |
ls |
on a quelque chose de simple comme :
1 2 |
[crayon-673f5af1b21c4137957969 ]SYNOPSIS<br> ls [ ;option]... [ ;file]... |
Les mots
1 |
option |
et
1 |
file |
spécifient s'il s'agit d'une option ou d'un nom de fichier. Le fait qu'ils soient entre crochets signifie qu'ils sont optionnels. En effet, les options pour
1 |
ls |
sont toutes optionnelles, et
1 |
ls |
sans arguments renvoie, on l'a vu, la liste des fichiers et dossiers dans le dossier courant, tandis que
1 |
ls /home/toto/Documents |
donnera la liste dans le dossier
1 |
Documents |
. Enfin, les trois petits points signifient qu'il peut y avoir autant d'options ou de fichiers qu'on veut. A priori l'ordre a une importance, et les options doivent venir avant les noms de fichiers, mais souvent les commandes permettent en pratique de mélanger arguments et options.
Parfois, lorsque le nombre d'options n'est pas trop important leur liste sera directement donnée dans la section SYNOPSIS. Pour un
1 |
ls |
très basique on pourrait par exemple avoir :
1 2 |
[crayon-673f5af1b21df977064437 ]SYNOPSIS<br> ls [ ;-lS] [ ;–sort word] [ ;file]... |
Il peut aussi y avoir plusieurs lignes dans cette section, correspondant à des usages différents d'une même commande. On verra aussi parfois la syntaxe
1 |
–sort=size |
pour les options, avec un symbole
1 |
= |
au lieu d'un espace. Parfois, les mots comme
1 |
file |
seront écrits
1 |
< ;file> |
, en majuscules ou d'une autre façon similaire, mais en général on retrouve facilement le schéma commun.
Note. La qualité des pages man peut beaucoup varier d'un logiciel à un autre, ou d'un système d'exploitation à un autre.
En savoir plus sur le shell
Il arrivera par exemple qu'en listant les fichiers dans un dossier, la liste étant trop longue, elle ne loge pas entièrement à l'écran. Dans ces cas-là il faut utiliser un pageur (comme
1 |
less |
) à l'aide d'une pipe
1 |
| |
. Par exemple :
1 |
$ ls /usr/share | less |
où
1 |
ls /usr/share |
donnera la liste des fichiers qui se trouvent dans le dossier
1 |
/usr/share |
, et l'enverra grâce au
1 |
| |
au programme
1 |
less |
afin de pouvoir parcourir la liste des fichiers avec commodité.
1 |
less |
est le même programme qui sert à la lecture des pages man.
Une petite astuce dans le même esprit : supposons que pour une raison ou une autre, on veuille garder dans un fichier la sortie affichée par une commande. Dans ce cas on a besoin de ce qu'on appelle une redirection de la sortie, qu'on effectue à l'aide du symbole
1 |
> |
. Par exemple :
1 |
$ date > ; fichier.txt |
écrira un fichier texte nommé
1 |
fichier.txt |
qui contiendra la date actuelle, au lieu d'afficher la sortie de la commande
1 |
date |
. Attention : si le fichier
1 |
fichier.txt |
existait déjà, son contenu précédent aura été effacé ! On peut ensuite lire le fichier par exemple avec la commande
1 |
less |
. Si l'on voulait ajouter successivement des dates à un même fichier, il nous faudrait utiliser le symbole de redirection
1 |
>> |
, qui ajoute du texte à un fichier déjà existant, mais sans remplacer le contenu existant :
1 |
$ date > ;> ; fichier.txt |
Un autre problème typique est celui des espaces dans les noms de fichiers. En effet, si un dossier s'appelle
1 |
tutoriel pour la ligne de commande |
, la tentative pour se déplacer dessus avec
1 |
$ cd tutoriel pour la ligne de commande |
sera vouée à l'échec, car la commande cd ne verra que
1 |
tutoriel |
en argument. Une première méthode consiste à écrire le nom du dossier entre guillements :
1 |
$ cd 'tutoriel pour la ligne de commande' |
ou bien d'utiliser le caractère d'échappement
1 |
\ |
pour les espaces afin qu'ils soient interprétés littéralement :
1 |
$ cd tutoriel\ pour\ la\ ligne\ de\ commande |
Une bonne pratique cependant pour éviter ce genre d'inconvenances est de ne pas utiliser d'espaces pour les noms de fichiers ou dossiers.
Note. D'un système d'exploitation à un autre le programme du shell n'est pas forcément le même. Sur la plupart des distributions GNU/Linux (comme Ubuntu), le shell par défaut est bash. Ceci dit, la plupart des shells ont une base commune (qui inclut tout ce qui est présent dans ce tutoriel). C'est pour cela que pour une explication plus détaillée des fonctionnalités, il est sans doute plus approprié de lire dans un premier temps la page man d'un shell minimal comme dash ou de taille moyenne comme ksh que celles de bash ou zsh qui sont beaucoup plus longues car détaillent de nombreuses extensions exotiques.
Logiciels qui s'intègrent bien avec la console
Comme on l'a vu, la ligne de commande peut servir de point névralgique à une utilisation de son desktop, permettant de lancer les différents logiciels dont on a besoin, en plus d'intégrer entre autres les fonctionnalités de navigateur de fichiers et gestionnaire de processus. De ce constat il s'avère parfois commode d'utiliser des logiciels qui s'intègrent bien dans cet environnement, et ne nécessitent pas forcément l'ouverture d'une nouvelle fenêtre, ou d'alterner trop souvent entre clavier et souris.
Par exemple le logiciel task permet de maintenir son agenda à jour en ligne de commande, et est bien documenté grâce à ses pages de manuel et tutoriels.
Notons aussi l'existence des logiciels utilisant la bibliothèque ncurses, qui permet d'afficher des graphismes limités mais simples et intuitifs dans la fenêtre de l'émulateur de terminal. Par exemple le logiciel mutt est un client mail qui utilise cette bibliothèque, sa configuration étant un peu délicate le lecteur est renvoyé aux nombreux tutoriels trouvables sur le web. On peut mentionner moc, logiciel simple pour écouter de la musique, qui a quelques équivalents du même type, ou le logiciel alsamixer servant à configurer des paramètres de son.
Certains de ces logiciels se configurent à l'aide d'un fichier de configuration à éditer avec un éditeur de texte quelconque (gedit, kate,…). Le lecteur pourra aussi considérer l'utilisation d'un éditeur de texte en mode texte dans le terminal comme nano ou mg, ou s'il a le courage un éditeur de texte plus complet comme vim ou emacs.
Enfin, le lecteur vraiment curieux pourra se laisser tenter par un multiplexeur de terminal comme tmux, qui permet d'utiliser plusieurs terminaux dans une même fenêtre, et permet par exemple de copier facilement du texte d'un terminal à un autre, et de passer rapidement d'un terminal à un autre à l'aide de raccourcis clavier.
Conclusion
Ce tutoriel aura, espérons, permis aux personnes intimidées par la ligne de commande de se sentir plus à l'aise maintenant, et d'avoir découvert de nouveaux usages à celle-ci pas forcément très connus de tous.
On peut regretter que certaines tâches demandent encore un minimum de connaissances techniques en ligne de commande, mais rien ne dit que dans le futur ces quelques difficultés ne pourront pas être surmontées, permettant au moins technicien d'entre nous une utilisation de type desktop passant principalement par la ligne de commande si tel est son souhait.
Remarque dactylographique. Notons qu'un des motifs qui peuvent rebuter un débutant dans la ligne de commande, est le simple fait qu'il faut écrire des commandes, et qu'écrire demande en soi une certaine compétence avec le clavier sous peine de se sentir mal à l'aise, lent, et d'avoir peur de faire des erreurs. C'est pour ça que sans doute un apprentissage de la dactylographie au clavier à l'aide par exemple d'un logiciel comme klavaro est une bonne idée, voire un prérequis pour une utilisation intensive des notions abordées dans ce tutoriel. C'est aussi un bon investissement en général pour quiconque ayant à écrire des textes substantiels de temps en temps (mail, rapport, etc…).
Écrit par Anaseto (contact), publié sous licence cc-by-sa. Tout un tas d'idées (images, xdg-open, pm-utils, lutte contre le tldr,…) proviennent de judicieuses remarques sur le forum de linuxfr :
Laisser un commentaire