NDG Linux Unhatched
NDG Linux Unhatched
Bonjour, et bienvenue dans le module NDG Linux Unhatched ! Nous sommes heureux de vous offrir
cette brève introduction au monde de Linux. Avant de commencer, nous aimerions profiter de l'occasion
pour vous expliquer l'intention et les objectifs de ce module.
Ne vous inquiétez pas si vous avez peu ou pas d'expérience Linux. Ce module est une introduction
s’adressant aux débutants qui n’ont aucune expérience ou formation sur Linux. Si vous trouvez ce
matériel utile, vous pouvez envisager de continuer avec nos cours NDG Linux Essentials ou NDG
Introduction to Linux pour aller plus loin et développer des connaissances supplémentaires. Des
informations sur ces cours sont disponibles à la fin de ce module.
Comme vous le savez peut-être déjà, Linux est présent dans un grand nombre de systèmes
informatiques. Il est présent dans les automobiles, les satellites, les montres, les téléviseurs. On le
retrouve également dans les superordinateurs. Quoique linux soit peu utilisé dans les ordinateurs de
bureau comme système d’exploitation principal, il a su faire ses preuves dans les serveurs, les objets
connectés (ou Internet des Objets (IdO)), les équipements de mise en réseau, les smartphones et de
nombreux autres appareils qui nous entourent. Depuis le routeur domestique fournissant votre
connexion Internet au serveur sur lequel ce cours est hébergé, il est probable que plusieurs autres
périphériques Linux vous permettent actuellement de lire cette page.
Nous espérons que le module NDG Linux Unhatched vous sera utile et félicitations pour vos premiers
pas dans le monde de Linux !
Pourquoi devrais-je apprendre Linux ?
Le domaine des technologies de l'information (TI) regorge d'opportunités. Pour les personnes qui
souhaitent poursuivre une carrière dans le domaine de l'informatique, l'un des plus grands défis est de
savoir par ou commencer. Souvent, acquérir de nouvelles compétences permettant de saisir de
meilleures opportunités dans la vie personnelle et professionnelle est une vraie motivation. Apprendre
une nouvelle compétence nécessite du temps et de la discipline, et la motivation est essentielle pour
réussir. Dans cette section, nous allons discuter pourquoi le temps et les efforts que vous investissez
dans l'apprentissage de Linux vous seront bénéfiques ; et rappelez-vous que tous ceux qui travaillent
dans l’informatique ont commencé quelque part.
Apprendre Linux est une excellente façon de commencer ! Pourquoi Linux est-il une compétence
importante à acquérir dans le monde technologique d'aujourd'hui ?
Qu'est-ce que Linux ?
Avant de déterminer ce qui fait de Linux un atout si important, commençons par le définir. Linux un
système d'exploitation qui s'exécute sur un système informatique matériel. Un système d'exploitation est
un logiciel qui permet d'installer et d'exécuter d'autres programmes comme des éditeurs de texte et des
navigateurs web.
Votre téléphone portable, votre tablette, votre ordinateur portable et votre ordinateur de bureau ont tous
besoin d'un système d'exploitation pour exécuter les logiciels (souvent appelés applications) que vous
utilisez. Cela signifie que Linux ne se limite pas aux ordinateurs de bureau et aux ordinateurs portables.
Nous approfondirons cette question au fur et à mesure de notre discussion.
La principale raison pour laquelle l'apprentissage de Linux est utile est que Linux est utilisé presque
partout ! Linux est utilisé sur les ordinateurs de bureau et les ordinateurs portables, les serveurs Web,
les appareils mobiles (Android), la technologie du cloud public (par ex. Google, Amazon, etc.), les
Chromebooks et l’interconnexion en réseau (c.-à-d. les réseaux Cisco). Bien que vous n'ayez jamais
utilisé Linux sur un ordinateur de bureau ou un ordinateur portable, il est probable que vous utilisiez
d'autres technologies fonctionnant sous Linux, comme un téléphone portable fonctionnant sous
Android, une tablette ou des sites Web populaires tels que Facebook, Twitter et Amazon. D’ailleurs, on
estime que les serveurs fonctionnant sous Linux génèrent plus de la moitié des pages Web sur Internet.
Qui peut utiliser Linux ?
Vous avez peut-être entendu parler de Linux et pensé que seuls des experts en informatique l'utilisent
pour la programmation, le développement, ou peut-être même le piratage ! Bien qu'il soit vrai que de
nombreux techniciens utilisent Linux, cela ne signifie pas que Linux est difficile à apprendre ou n'est pas
utile pour des débutants.
Comprendre Linux, et en particulier l'interface de ligne de commande Linux, vous aidera à mieux
comprendre l'informatique tout en vous donnant des compétences informatiques de base que vous
pourrez utiliser dans votre future carrière.
Pour comprendre pourquoi les compétences Linux sont uniques, examinons l'interface graphique
utilisateur (en anglais GUI pour graphical user interface). C'est l'interface que vous utilisez probablement
sur votre smartphone, tablette ou ordinateur aujourd'hui. Une interface graphique affiche des icônes et
des images que vous pouvez sélectionner pour indiquer à votre appareil quelle application vous désirez
utiliser ou pour accéder aux paramètres de configuration de votre appareil. Derrière l’interface graphique
se cache les programmes développés par les programmeurs. Lorsque vous cliquez sur une icône ou un
dossier dans une interface graphique, cela envoie une commande au code indiquant au système ce qu'il
faut faire.
Bien que Linux soit accessible via une interface graphique, il dispose également d'un outil plus efficace
pour effectuer les mêmes actions qu'une interface graphique, l'interface de ligne de commande (en
anglais CLI pour Command Line Interface).
La ligne de commande Linux est une interface texte qui accepte les commandes que vous
saisissez. Ces commandes génèrent l'exécution d'une action sur le système d'exploitation du système
informatique. Bien sûr, les fenêtres et les icônes sont faciles à utiliser, cependant, la ligne de commande
est championne en ce qui concerne l'administration du système et le dépannage, car elle donne une
image claire de ce que fait le système à un moment donné.
Sachant cela, pourquoi apprendre Linux est-il un bon moyen de commencer pour quelqu'un qui
envisage une carrière en l'informatique ? Comme indiqué précédemment, l'utilisation de Linux est
répandue et continue de croître dans tous les domaines de la technologie. Qu'est-ce que des
entreprises et des organisations comme la NASA, McDonald's, la bourse de New York, DreamWorks
Animation et le département américain de la Défense ont-ils tous en commun ? Oui, vous avez bien
deviné, ils utilisent tous Linux.
Ces entreprises ont autre chose en commun : elles reconnaissent que l'investissement dans la
technologie est important dans un monde soucieux d'adopter de nouvelles technologies pour innover et
résoudre des problèmes. La prolifération de la technologie dans presque tous les aspects de la vie a
résolu de nombreux problèmes, mais a également créé de nouveaux défis. Par exemple, maintenant
que presque tout peut être fait en ligne, nous créons des données numériques à un rythme rapide, ce
qui crée à son tour une demande pour ces données. Les compétences techniques nécessaires à
l'analyse, au traitement, à la protection et à la transmission des données sont donc également
très demandées. Apprendre Linux peut vous aider à acquérir ces compétences. Voici des exemples de
quelques professions qui nécessitent des connaissances du système Linux :
Ingénierie réseau - Les ingénieurs réseau sont responsables de la gestion des ordinateurs
utilisés pour transmettre les données. La connaissance de Linux est essentielle pour les
ingénieurs réseau puisque plus de la moitié des serveurs mondiaux sont basés sur Linux. La
plupart des systèmes d'exploitation réseau sont basés sur une distribution de Linux.
Cybersécurité - Les professionnels de la cybersécurité surveillent et enquêtent sur les menaces
à la sécurité des données sur les systèmes. Linux est utilisé dans la cybersécurité pour effectuer
des tests de pénétration des systèmes et en évaluer la vulnérabilité.
Développement / Programmation - Les développeurs et les programmeurs conçoivent des
applications informatiques. Ces derniers utilisent les lignes de commandes Linux afin de
rassembler des commandes exécutants des actions complexes sur un ordinateur. L’emploi de
Linux comme langage de script permet aux utilisateurs d’accéder au code source et d’en faire
l’apprentissage par expérimentation.
Analyse des données - Les analystes de données et les scientifiques trient et analysent les
ensembles de données pour trouver des modèles afin de rapporter et de prédire les tendances et
les comportements. Les analystes de données utilisent Linux en raison du large éventail d'outils
et de commandes disponibles pour l'analyse des données, tels que MySQL et d’autres encore.
Les systèmes d'exploitation Linux existent sous de nombreuses formes. Toute une variété de
distributions disponibles répondent aux besoins et aux exigences de nombreux secteurs informatiques.
Par exemple, les professionnels de la cybersécurité peuvent utiliser Linux Kali, les développeurs Linux
Ubuntu, les utilisateurs réguliers Linux Mint et les serveurs d'entreprise peuvent fonctionner sur Red Hat
Enterprise Linux.
Réfléchissez à ceci
Les compétences Linux sont nécessaires pour de nombreuses pistes de professionnels de
l'informatique. Par exemple, la connaissance des commandes Linux de base est une condition préalable
pour les programmes de certification informatique tels que la célèbre certification Cisco CCNA Cyber
Operations. Pour en savoir plus sur la façon dont Linux s'applique aux Cyber Ops CCNA, reportez-vous
à la section à la fin de ce cours intitulée Linux pour CCNA Cyber Ops.
Voici d’autres bonnes raisons d’apprendre et d’utiliser Linux : il est gratuit, facile à installer, open
source. Il existe une communauté Linux dynamique qui saura vous apporter aide et support. Elle
permet aux débutants qui veulent développer leurs compétences informatiques de commencer à utiliser
Linux facilement.
Comme vous pouvez le voir, les raisons d'apprendre et d'explorer Linux sont nombreuses !
Syntaxe des commandes de base
Ce module traite exclusivement de l'interface CLI et des lignes de commandes, plutôt que de l'interface
graphique de Linux. Le terminal CLI est un outil puissant qui est souvent la principale méthode utilisée
pour administrer de petits appareils à faible consommation d'énergie, des serveurs de cloud computing
extrêmement performants et tout ce qui se trouve entre les deux. Une compréhension de base de ce
terminal est essentielle pour diagnostiquer et réparer la plupart des systèmes Linux. Puisque Linux est
devenu si omniprésent, même ceux qui envisagent de travailler principalement avec des systèmes
n'utilisant pas le noyau Linux bénéficieront d'une compréhension de base du terminal.
Qu'est-ce qu'une commande ? Une commande est un programme logiciel qui, lorsqu'il est exécuté sur
l'interface de ligne de commande (CLI), exécute une action sur l'ordinateur. Lorsque vous tapez une
commande, un processus est exécuté par le système d'exploitation qui peut lire l'entrée, manipuler les
données et produire la sortie. Une commande exécute un processus sur le système d'exploitation, ce
qui permet à l'ordinateur d'effectuer une tâche spécifique.
Pour exécuter une commande, la première étape consiste à taper le nom de la commande. Cliquez
dans le terminal à droite. Tapez ls (lettres minuscules L et S) et appuyez sur Entrée. Le résultat devrait
ressembler à l'exemple ci-dessous :
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
Le nom de la commande est souvent basé sur ce qu'elle fait ou ce que le développeur qui a créé la
commande pense décrira le mieux la fonction de la commande. Par exemple, la commande ls affiche
une liste des fichiers présent dans le répertoire courant. Associer le nom de la commande à quelque
chose de mnémonique décrivant ce qu'elle fait peut vous aider à mémoriser les commandes plus
facilement.
Réfléchissez à ceci
Chaque partie de la commande est normalement sensible à la casse, donc LS est incorrect et échouera,
tandis que ls est correct et s'exécutera.
sysadmin@localhost:~$ LS
-bash: /usr/games/LS: Permission denied
En d'autres termes, vous tapez une commande, suivie de toutes les options et/ou arguments avant
d'appuyer sur la touche Entrée. Généralement, les options modifient le comportement de la commande
et les arguments sont des éléments ou des valeurs sur lesquels la commande doit agir. Bien qu'il existe
certaines commandes sous Linux qui ne sont pas entièrement compatibles avec ce modèle, la plupart
des commandes utilisent cette syntaxe ou quelque chose de similaire.
Dans l'exemple ci-dessus, la commande ls a été exécutée sans options ni arguments. Lorsque c'est le
cas, son comportement par défaut est de renvoyer une liste de fichiers contenus dans le répertoire
courant.
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
Arguments
commande [options…] [arguments…]
Un argument peut être utilisé pour spécifier quelque chose sur lequel la commande doit agir. La
commande ls peut recevoir le nom d'un répertoire en tant qu'argument, et afficher le contenu de ce
répertoire. Dans l'exemple suivant, le répertoire Documents sera utilisé comme argument :
sysadmin@localhost:~$ ls Documents
School alpha-second.txt food.txt linux.txt os.csv
Work alpha-third.txt hello.sh longfile.txt people.csv
adjectives.txt alpha.txt hidden.txt newhome.txt profile.txt
alpha-first.txt animals.txt letters.txt numbers.txt red.txt
La sortie qui en résulte est une liste de fichiers contenus dans le répertoire Documents.
Parce que Linux est open source, quelques secrets intéressants ont été ajoutés par les développeurs.
Par exemple, la commande aptitude est un outil de gestion de paquets disponible sur certaines
distributions Linux. Cette commande acceptera moo comme argument :
Vous retrouverez plus d'information sur cette astuce dans les modules à venir.
Options
commande [options…] [arguments…]
Les options peuvent être utilisées pour modifier le comportement d'une commande. Sur la page
précédente, la commande ls a été utilisée pour lister le contenu d'un répertoire. Dans l'exemple suivant,
l'option -l est ajoutée à la commande ls, ce qui entraîne une sortie «long display» (affichage long), ce qui
signifie que la sortie donne plus d'informations sur chacun des fichiers répertoriés:
sysadmin@localhost:~$ ls -l
total 32
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Desktop
drwx------ 4 sysadmin sysadmin 4096 Dec 20 2017 Documents
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Downloads
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Music
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Pictures
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Public
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Templates
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Videos
sysadmin@localhost:~$ ls -r
Videos Templates Public Pictures Music Downloads Documents Desktop
Plusieurs options peuvent être utilisées simultanément, soit des options distinctes comme -l -r, soit des
options combinées comme -lr. La sortie des exemples suivants sera identique :
ls -l -r
ls -rl
ls -lr
Comme nous l'avons déjà mentionné, -l donne un format de liste long tandis que -r inverse la liste. Le
résultat de l'utilisation des deux options est une longue liste affichée dans l'ordre inverse :
sysadmin@localhost:~$ ls -l -r
total 32
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Videos
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Templates
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Public
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Pictures
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Music
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Downloads
drwx------ 4 sysadmin sysadmin 4096 Dec 20 2017 Documents
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Desktop
sysadmin@localhost:~$ ls -rl
total 32
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Videos
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Templates
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Public
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Pictures
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Music
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Downloads
drwx------ 4 sysadmin sysadmin 4096 Dec 20 2017 Documents
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Desktop
Il est possible de modifier le comportement de cette commande en utilisant des options. Voyez ce qui se
passe lorsque l'option -v (verbeux) est ajoutée :
En combinant plusieurs options -v, nous pouvons obtenir une variété de réponses:
aptitude -v -v moo
aptitude -vv moo
Continuez à ajouter des options -v pour voir combien de réponses uniques vous pouvez obtenir !
pwd [OPTIONS]
Réfléchissez à ceci
N'allumez pas votre imprimante ! Aux premiers jours de l'informatique, la sortie de la ligne de commande
était envoyée aux imprimantes physiques. Cette méthode a été remplacée par des affichages à l'écran.
Nous utilisons toujours le mot imprimer (print) même si la sortie est juste affichée sur votre écran.
sysadmin@localhost:~$ pwd
/home/sysadmin
La sortie de la commande ci-dessus indique que l'utilisateur est actuellement dans son dossier
personnel, situé dans le système de fichiers ci-dessous.
Réfléchissez à ceci
Notez que nos machines virtuelles utilisent une invite qui affiche le répertoire de travail actuel dans la
couleur bleue. Dans la première invite ci-dessus, le bleu ~ est équivalent à /home/sysadmin,
représentant le répertoire personnel de l'utilisateur.
sysadmin@localhost:~$
Après s'être déplacé dans les répertoires (nous allons apprendre comment le faire dans la section
suivante), le nouvel emplacement peut également être confirmé dans la nouvelle invite, encore une fois
affichée en bleu.
sysadmin@localhost:/etc/calendar$
Pour naviguer dans la structure du système de fichiers, utilisez la commande cd (change directory) pour
changer de répertoire.
cd [options] [path]
Si vous regardez le graphique ci-dessus, vous verrez que le répertoire Documents se trouve dans votre
répertoire de travail sysadmin, où vous vous trouvez actuellement. Pour passer au
répertoire Documents, utilisez-le comme argument de la commande cd :
sysadmin@localhost:~$ cd Documents
sysadmin@localhost:~/Documents$
Les répertoires sont équivalents aux dossiers sous Windows et Mac OS. Comme ces systèmes
d'exploitation populaires, la structure d'annuaire Linux comporte un niveau supérieur. Celui-ci ne
s’appelle pas « Poste de travail », mais « répertoire root » et est représenté par le caractère /. Pour
passer au répertoire root, utilisez le caractère / comme argument de la commande cd.
sysadmin@localhost:~/Documents$ cd /
sysadmin@localhost:/$
L'argument de la commande cd est plus que le nom d'un répertoire, c'est en fait un chemin. Un chemin
est une liste de répertoires séparés par le caractère /. Par exemple, /home/sysadmin est le chemin
d'accès à votre répertoire personnel :
Si vous considérez le système de fichiers comme une carte, les chemins sont les directions étape par
étape ; ils peuvent être utilisés pour indiquer l'emplacement de n'importe quel fichier dans le système de
fichiers. Il existe deux types de chemins : absolus et relatifs. Les chemins absolus commencent à la
racine (root) du système de fichiers, les chemins relatifs commencent à partir de votre emplacement
actuel.
Chemins absolus
Un chemin absolu vous permet de spécifier l'emplacement exact d'un répertoire. Il commence toujours
au répertoire root, et commence donc toujours par le caractère /. Le chemin d'accès au répertoire
personnel /home/sysadmin est un chemin absolu. Le chemin commence à partir du répertoire root /, se
déplace dans le répertoire personnel, puis dans le répertoire sysadmin. Suivre ce chemin dans une
interface utilisateur graphique (GUI) tel que votre ordinateur personnel ressemblerait à ceci :
Utilisez ce chemin comme argument de la commande cd pour revenir dans le répertoire personnel de
l'utilisateur sysadmin.
sysadmin@localhost:/$ cd /home/sysadmin
sysadmin@localhost:~$
Aucune sortie signifie que la commande a réussi. Confirmez cela en utilisant la commande pwd :
sysadmin@localhost:~$ pwd
/home/sysadmin
Chemins relatifs
Un chemin relatif donne des directions à un fichier par rapport à votre emplacement actuel dans le
système de fichiers. Les chemins relatifs ne commencent pas par le caractère /, ils commencent par le
nom d'un répertoire. Regardez le au premier exemple de commande cd. L'argument est un exemple du
chemin relatif le plus simple : le nom d'un répertoire dans votre emplacement actuel.
sysadmin@localhost:~$ cd Documents
sysadmin@localhost:~/Documents$
L'image ci-dessous montre une carte des fichiers contenus dans le répertoire sysadmin. Vous êtes
actuellement dans le répertoire Documents et souhaitez vous déplacer vers le répertoire Art :
Un chemin relatif commence par le répertoire courant, mais vous ne l'incluez pas dans le chemin. La
première étape consisterait à se déplacer dans le répertoire School, puis à se déplacer dans le
répertoire Art. Utilisez le caractère / pour séparer les noms de répertoire. Le résultat School/Art est un
chemin relatif entre le répertoire Documents et le répertoire Art :
Utilisez le chemin relatif comme argument de la commande cd pour vous déplacer dans le répertoire Art.
sysadmin@localhost:~/Documents/$ cd School/Art
sysadmin@localhost:~/Documents/School/Art$
sysadmin@localhost:~/Documents/School/Art$ pwd
/home/sysadmin/Documents/School/Art
Réfléchissez à ceci
La sortie de la commande pwd est le chemin absolu vers le répertoire Art.
Réfléchissez à ceci
Dans l'exemple ci-dessus, la commande cd a suivi le chemin School/Art :
cd School/Art
Un chemin peut également être décomposé en plusieurs commandes cd. L'ensemble de commandes
suivant obtiendrait les mêmes résultats :
cd School
cd Art
Raccourcis
Le ..
Quel que soit le répertoire dans lequel vous vous trouvez, le double point .. représente toujours un
répertoire supérieur par rapport au répertoire courant, parfois appelé répertoire parent. Pour passer du
répertoire Art au répertoire School :
sysadmin@localhost:~/Documents/School/Art$ cd ..
sysadmin@localhost:~/Documents/School$
Le .
Quel que soit le répertoire dans lequel vous vous trouvez, le point . représente toujours votre répertoire
actuel. Pour la commande cd ce raccourci n'est pas très utile, mais il le sera pour les commandes
couvertes dans les sections suivantes.
Le caractère ~
Le répertoire personnel de l'utilisateur actuel est représenté par le caractère ~. Comme indiqué ci-
dessus, vous commencez toujours en tant qu'utilisateur sysadmin,qui se trouve à
l'adresse /home/sysadmin. Pour revenir à votre répertoire personnel à tout moment, exécutez la
commande suivante :
sysadmin@localhost:~/Documents/School$ cd ~
sysadmin@localhost:~$
ls [OPTIONS] [FICHIER]
Par défaut, lorsque la commande ls est utilisée sans options ni arguments, elle liste les fichiers dans le
répertoire courant :
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
Pour connaître les détails d'un fichier, tels que le type de fichier, les autorisations, les propriétés ou
l'horodatage, affichez une longue liste à l'aide de l'option -l de la commande ls. Ci-dessous, l’affichage
du contenu du répertoire /var/log est utilisée comme exemple, car il présente toute une variété de sorties
:
sysadmin@localhost:~$ ls -l /var/log/
total 844
-rw-r--r-- 1 root root 18047 Dec 20 2017 alternatives.log
drwxr-x--- 2 root adm 4096 Dec 20 2017 apache2
drwxr-xr-x 1 root root 4096 Dec 20 2017 apt
-rw-r----- 1 syslog adm 1346 Oct 2 22:17 auth.log
-rw-r--r-- 1 root root 47816 Dec 7 2017 bootstrap.log
-rw-rw---- 1 root utmp 0 Dec 7 2017 btmp
-rw-r----- 1 syslog adm 547 Oct 2 22:17 cron.log
-rw-r----- 1 root adm 85083 Dec 20 2017 dmesg
-rw-r--r-- 1 root root 325238 Dec 20 2017 dpkg.log
-rw-r--r-- 1 root root 32064 Dec 20 2017 faillog
drwxr-xr-x 2 root root 4096 Dec 7 2017 fsck
-rw-r----- 1 syslog adm 106 Oct 2 19:57 kern.log
-rw-rw-r-- 1 root utmp 292584 Oct 2 19:57 lastlog
-rw-r----- 1 syslog adm 19573 Oct 2 22:57 syslog
drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart
-rw-rw-r-- 1 root utmp 384 Oct 2 19:57 wtmp
Chaque ligne correspond à un fichier contenu dans le répertoire. Les informations peuvent être ventilées
en champs séparés par des espaces. Les champs sont les suivants :
Type de fichier
Le premier champ contient dix caractères. Le premier caractère indique le type de fichier et les
neuf suivants spécifient les autorisations. Les types de fichiers sont les suivants :
Le premier fichier alternatives.log est un fichier normal -, tandis que le second fichier apache2 est
un répertoire d.
Permissions
Les permissions indiquent comment certains utilisateurs peuvent accéder à un fichier. Continuez
à lire pour en savoir plus sur les permissions.
Nombre de liens physiques
Ce nombre indique le nombre de liens physiques pointant vers ce fichier. Les liens physiques
dépassent le cadre de ce module, mais sont couverts par le cours NDG Linux Essentials.
Propriétaire du fichier
L'utilisateur syslog possède ce fichier. Chaque fois qu'un fichier est créé, la propriété est
automatiquement attribuée à l'utilisateur qui l'a créé.
Groupe propriétaire
-rw-rw-r-- 1 root utmp 292584 Oct 2 19:57 lastlog
Les répertoires et les fichiers plus volumineux peuvent être affichés en kilo-octets car leur taille
en octets nécessiterait d’afficher un nombre trop élevé. Par conséquent, dans le cas d'un
répertoire, il peut s'agir d'un multiple de la taille de bloc utilisée pour le système de fichiers. La
taille du bloc est la taille d'une série de données stockées dans le système de fichiers.
Horodatage
Il s’agit de l'heure à laquelle le contenu du fichier a été modifié pour la dernière fois.
Nom du fichier
Les liens symboliques dépassent le champ d'application de ce module, mais sont abordés dans
le cours NDG Linux Essentials.
Tri
Par défaut, la sortie de la commande ls est affichée par ordre alphabétique sur le nom de fichier. Le tri
peut aussi être fait selon d'autres méthodes.
Poursuivons
Les options dans les exemples ci-dessous seront combinées avec l'option -l afin que les détails
pertinents des fichiers soient affichés. Notez les champs correspondant à l'option de recherche.
L'option -t trie les fichiers par horodatage ou plus simplement selon la date de la dernière modification
du fichier :
sysadmin@localhost:~$ ls -l -S /var/log
total 844
-rw-r--r-- 1 root root 325238 Dec 20 2017 dpkg.log
-rw-rw-r-- 1 root utmp 292584 Oct 2 19:57 lastlog
-rw-r----- 1 root adm 85083 Dec 20 2017 dmesg
-rw-r--r-- 1 root root 47816 Dec 7 2017 bootstrap.log
-rw-r--r-- 1 root root 32064 Dec 20 2017 faillog
-rw-r----- 1 syslog adm 19573 Oct 2 22:57 syslog
-rw-r--r-- 1 root root 18047 Dec 20 2017 alternatives.log
drwxr-x--- 2 root adm 4096 Dec 20 2017 apache2
drwxr-xr-x 1 root root 4096 Dec 20 2017 apt
drwxr-xr-x 2 root root 4096 Dec 7 2017 fsck
drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart
-rw-r----- 1 syslog adm 1346 Oct 2 22:17 auth.log
-rw-r----- 1 syslog adm 547 Oct 2 22:17 cron.log
-rw-rw-r-- 1 root utmp 384 Oct 2 19:57 wtmp
-rw-r----- 1 syslog adm 106 Oct 2 19:57 kern.log
-rw-rw---- 1 root utmp 0 Dec 7 2017 btmp
L'option -r inverse l'ordre de tout type de tri. Notez la différence lorsqu'elle est ajoutée à l'exemple
précédent:
Les nombres dans le champ de taille du fichier passent de la valeur descendante à la valeur
ascendante.
Utilisée seule, l'option -r affiche la liste des fichiers dans l'ordre alphabétique inverse :
sysadmin@localhost:~$ ls -r /var/log
wtmp lastlog faillog cron.log auth.log alternatives.log
upstart kern.log dpkg.log btmp apt
syslog fsck dmesg bootstrap.log apache2
Accès administratif
Il existe de nombreuses commandes Linux qui traitent des informations sensibles comme les mots de
passe, les configurations système ou toutes autres commandes qui s'avèrent utiles dans des cas
d'exception. Empêcher les utilisateurs standards d'exécuter ces commandes aide à protéger le système.
Se connecter en tant qu'utilisateur root fournit un accès administratif privilégié, permettant l'exécution de
certaines des commandes privilégiées.
La commande su
su OPTIONS NOM_D'UTILISATEUR
La commande su vous permet d'agir temporairement en tant que super utilisateur. Elle le fait en créant
un nouveau shell. Le shell est simplement une console de saisie de texte qui vous permet de taper des
commandes. Par défaut, si un compte utilisateur n'est pas spécifié, la commande su ouvrira un nouvel
interpréteur de commandes en tant qu'administrateur système (root) et fournit des privilèges
d'administration.
Poursuivons
Il est recommandé d'utiliser l'option de shell de connexion, car le shell de connexion ouvre le nouvel
interpréteur de commandes avec les paramètres du nouvel utilisateur. Cette option peut être spécifiée
de l'une des trois façons suivantes :
su -
su -l
su --login
Après l'exécution de la commande su, un mot de passe est requis. Sur nos machines virtuelles, le mot
de passe pour les comptes root et sysadmin est netlab123. Si jamais vous l'oubliez, il s'affiche à chaque
démarrage d'une nouvelle machine virtuelle. À titre de mesure de sécurité, le mot de passe ne sera pas
visible lors de sa saisie.
sysadmin@localhost:~$ su -
Password:
root@localhost:~#
Notez que l'invite de commandes a été modifiée pour refléter que vous êtes maintenant connecté en
tant qu'utilisateur root. Pour vous déconnecter et revenir au compte sysadmin, utilisez la
commande exit. Notez que l'invite de commande retourne à un utilisateur normal :
root@localhost:~# exit
logout
sysadmin@localhost:~$
Pour éviter d'exécuter des commandes sensibles, nous avons configuré la commande Steam
Locomotive (sl), pour exiger un accès administratif. Si la commande est exécutée en tant que sysadmin,
elle échoue :
sysadmin@localhost:~$ sl
-bash: /usr/bin/sl: Permission denied
sysadmin@localhost:~$ su -
Password:
root@localhost:~# sl
(@@) ( ) (@) ( ) @@ () @ O @
( )
(@@@@)
( )
(@@@)
==== ________ ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _________________
/ | | H | | | | ||_| |_|| _|
| | | H |__--------------------| [___] | =|
| ________|___H__/__|_____/[][]~\_______| | -|
|/ | |-----------I_____I [][] [] D |=======|____|__________________
__/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|____________________
|/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D__
\_/ \_O=====O=====O=====O/ \_/ \_/ \_/ \_/
root@localhost:~# exit
logout
sysadmin@localhost:~$
La commande sudo
sudo [OPTIONS] COMMANDE
La commande sudo permet à un utilisateur d'exécuter une commande en tant qu'autre utilisateur sans
créer de nouveau shell. Pour exécuter une commande avec des privilèges d'administration, utilisez-la
comme argument de la commande sudo. Comme la commande su, la commande sudo suppose par
défaut que le compte utilisateur root doit être utilisé pour exécuter des commandes.
Réfléchissez à ceci
La commande sudo peut également être utilisée pour basculer vers d'autres comptes utilisateur. Pour
spécifier un compte utilisateur différent, utilisez l'option -u.
Exécutez la commande sl en tant qu'administrateur du système (root) en plaçant sudo avant :
Veuillez noter:
Rappelez-vous que le mot de passe est netlab123. L'invite pour le mot de passe n'apparaîtra pas tant
que l'utilisateur continue d'exécuter des commandes sudo à moins de cinq minutes d'intervalle.
sysadmin@localhost:~$ sudo sl
[sudo] password for sysadmin:
(@@) ( ) (@) ( ) @@ () @ O @
( )
(@@@@)
( )
(@@@)
==== ________ ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _________________
/ | | H | | | | ||_| |_|| _|
| | | H |__--------------------| [___] | =|
| ________|___H__/__|_____/[][]~\_______| | -|
|/ | |-----------I_____I [][] [] D |=======|____|__________________
__/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|____________________
|/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D__
\_/ \_O=====O=====O=====O/ \_/ \_/ \_/ \_/
Une fois la commande terminée, notez que l'invite n'a pas changé, vous êtes toujours connecté en tant
que sysadmin. La commande sudo fournit uniquement un accès administratif pour l'exécution de la
commande spécifiée. C'est un avantage car il réduit le risque qu'un utilisateur exécute accidentellement
une commande en tant que root. L'intention d'exécuter une commande est claire ; la commande est
exécutée en tant que root si elle est préfixée par la commande sudo. Sinon, la commande est exécutée
en tant qu'utilisateur normal.
Permissions
Les permissions déterminent la façon dont différents utilisateurs peuvent interagir avec un fichier ou un
répertoire. Lorsque vous listez les fichiers avec la commande ls -l, la sortie contient des informations de
permissions. Pour l'exemple, nous allons utiliser un script appelé hello.sh situé dans le
répertoire Documents :
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
sysadmin@localhost:~/Documents$ ls -l hello.sh
-rw-r--r-- 1 sysadmin sysadmin 647 Dec 20 2017 hello.sh
Le premier caractère de cette sortie indique le type d'un fichier. Rappelons que si le premier caractère
est un -, il s'agit d'un fichier standard. Si le caractère est un d, il s’agit d’un répertoire.
Champ - Permissions
Après le caractère de type de fichier, les autorisations sont affichées. Les autorisations sont divisées en
trois ensembles de trois caractères :
Propriétaire
Le premier ensemble est destiné à l'utilisateur propriétaire du fichier. Si votre compte actuel est le
propriétaire du fichier, le premier ensemble des trois permissions s'appliquera et les autres
permissions n'auront aucun effet.
L'utilisateur propriétaire du fichier, et donc celui à qui ces permissions s'appliquent, peut être
déterminé par le champ Propriétaire de l'utilisateur:
Groupe
-rw- r-- r-- 1 sysadmin sysadmin 647 Dec 20 2017 hello.sh
Le deuxième ensemble est pour le groupe propriétaire du fichier. Si votre compte actuel n'est
pas le propriétaire utilisateur du fichier et que vous êtes membre du groupe propriétaire du fichier,
ces permissions de groupe s'appliqueront et les autres permissions n'ont aucun effet.
Le groupe de ce fichier est déterminé par le champ propriétaire du groupe :
Autre
Le dernier ensemble est pour tous les autres, tous ceux auxquels les deux premiers ensembles
de permissions ne s'appliquent pas. Si vous n'êtes pas l'utilisateur propriétaire du fichier ou un
membre du groupe qui le possède, le troisième ensemble de permissions s'applique à vous.
Types de permissions
Il existe trois permissions différentes s’appliquant à un fichier ou un répertoire : lire (read), écrire
(write) et exécuter (execute). La manière dont ces permissions s'appliquent diffère pour les fichiers et
les répertoires, comme indiqué dans le tableau ci-dessous :
lire (r) (read) Permet de lire le contenu du fichier Sans le droit d'exécution sur le dossier, ne
et de le copier. permet pas d'obtenir une liste détaillée du
contenu du dossier. Avec le droit
d'exécution, ls -l affiche une liste détaillée.
exécuter (x) Permet d'exécuter le script contenu Permet à l'utilisateur de modifier le dossier
(execute) dans un fichier. Ce fichier doit uniquement si le dossier parent possède le
également avoir le droit de lecture. droit d'écriture.
Réfléchissez à ceci
Comprendre le fonctionnement des permissions et leurs applications est une compétence importante
dans Linux. Par exemple, prenez l'ensemble de permissions suivant :
-r--rw-rwx. 1 sysadmin staff 999 avr. 10 2013 /home/sysadmin/test
Dans ce scénario, l'utilisateur sysadmin a moins d'accès à ce fichier que les membres du
groupe staff (employés) ou tous les autres utilisateurs. L'utilisateur sysadmin n'a que les permissions r--.
Peu importe si sysadmin est membre du groupe staff; une fois que la propriété utilisateur a été établie,
seules les autorisations du propriétaire de l'utilisateur s'appliquent.
La méthode symbolique
chmod [<SET><ACTION><PERMISSIONS>]... FICHIER
Pour utiliser la méthode symbolique de chmod, indiquez d'abord quel ensemble (set) de permissions est
modifié :
Symbole Signification
o Autre (others) : tout autre utilisateur qui n'appartient pas aux deux premiers groupes.
Symbole Signification
+ Ajouter le droit
= Affecter le droit
- Supprimer le droit
Symbole Signification
r lire (read)
w écrire write
x exécuter (execute)
Enfin, ajoutez un espace et les chemins d'accès des fichiers auxquels attribuer ces autorisations.
Le fichier hello.sh utilisé dans les exemples de la page précédente est un script. Un script est un fichier
qui peut être exécuté, comme une commande :
sysadmin@localhost:~/Documents$ ls -l hello.sh
-rw-r--r-- 1 sysadmin sysadmin 647 Dec 20 2017 hello.sh
Toutefois, l'autorisation d'exécution n'est définie pour aucun des groupes de permissions :
sysadmin@localhost:~/Documents$ ./hello.sh
-bash: ./hello.sh: Permission denied
Étant donné que le système est actuellement connecté en tant qu'utilisateur sysadmin et
que sysadmin est le propriétaire du fichier, donner au propriétaire de l'utilisateur l'autorisation
d'exécution devrait vous permettre d'exécuter ce script. En utilisant la commande chmod avec le
caractère u pour représenter le jeu d'autorisations de l’utilisateur propriétaire, le caractère + pour
indiquer qu’une autorisation est ajoutée et le caractère x pour représenter l'autorisation d'exécution, la
commande doit être exécutée comme suit :
Aucune sortie n'indique que la commande a réussi. Confirmez en vérifiant les autorisations à l'aide de la
commande ls -l :
sysadmin@localhost:~/Documents$ ls -l hello.sh
-rwxr--r-- 1 sysadmin sysadmin 647 Dec 20 2017 hello.sh
Pour finir, essayez d'exécuter à nouveau le script. Utilisez la syntaxe de commande illustrée ci-dessous :
./hello.sh
sysadmin@localhost:~/Documents$ ./hello.sh
______________
( Hello World! )
--------------
\
\
<(^)
()
Réfléchissez à ceci
Notez que pour exécuter le script dans l'exemple précédent il faut ajouter ./ avant le nom du script.
./ hello.sh
Cela indique que la «commande» doit être exécutée à partir du répertoire courant.
Modification de la propriété des fichiers
Initialement, le propriétaire d'un fichier est l'utilisateur qui le crée. La commande chown est utilisée pour
modifier la propriété des fichiers et des répertoires. La modification du propriétaire d’un fichier nécessite
un accès administratif. Un utilisateur normal ne peut pas utiliser cette commande pour changer le
propriétaire d'un fichier, même si c’est pour donner la propriété d'un de ses propres fichiers à un autre
utilisateur. Cependant, la commande chown permet de changer la propriété du groupe, et peut être
accompli par l'administrateur du système (root) ou par le propriétaire du fichier.
Pour changer le propriétaire d'un fichier, la syntaxe suivante peut être utilisée. Le premier
argument, [PROPRIÉTAIRE], spécifie quel utilisateur doit être le nouveau propriétaire. Le deuxième
argument, FICHIER, spécifie le fichier dont la propriété est en cours de modification.
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
Actuellement, tous les fichiers du répertoire Documents appartiennent à l'utilisateur sysadmin. Cela peut
être vérifié à l'aide de la commande ls -l. Rappelons que la troisième colonne indique le propriétaire de
l'utilisateur.
sysadmin@localhost:~/Documents$ ls -l
total 144
drwx------ 5 sysadmin sysadmin 4096 Dec 20 2017 School
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Work
-rw-r--r-- 1 sysadmin sysadmin 39 Dec 20 2017 adjectives.txt
-rw-r--r-- 1 sysadmin sysadmin 90 Dec 20 2017 alpha-first.txt
-rw-r--r-- 1 sysadmin sysadmin 106 Dec 20 2017 alpha-second.txt
-rw-r--r-- 1 sysadmin sysadmin 195 Dec 20 2017 alpha-third.txt
-rw-r--r-- 1 sysadmin sysadmin 390 Dec 20 2017 alpha.txt
-rw-r--r-- 1 sysadmin sysadmin 42 Dec 20 2017 animals.txt
-rw-r--r-- 1 sysadmin sysadmin 14 Dec 20 2017 food.txt
-rwxr--r-- 1 sysadmin sysadmin 647 Dec 20 2017 hello.sh
-rw-r--r-- 1 sysadmin sysadmin 67 Dec 20 2017 hidden.txt
-rw-r--r-- 1 sysadmin sysadmin 10 Dec 20 2017 letters.txt
-rw-r--r-- 1 sysadmin sysadmin 83 Dec 20 2017 linux.txt
-rw-r--r-- 1 sysadmin sysadmin 66540 Dec 20 2017 longfile.txt
-rw-r--r-- 1 sysadmin sysadmin 235 Dec 20 2017 newhome.txt
-rw-r--r-- 1 sysadmin sysadmin 10 Dec 20 2017 numbers.txt
-rw-r--r-- 1 sysadmin sysadmin 77 Dec 20 2017 os.csv
-rw-r--r-- 1 sysadmin sysadmin 59 Dec 20 2017 people.csv
-rw-r--r-- 1 sysadmin sysadmin 110 Dec 20 2017 profile.txt
-rw-r--r-- 1 sysadmin sysadmin 51 Dec 20 2017 red.txt
Pour modifier la propriété du script hello.sh et la passer à l'utilisateur root, utilisez root comme premier
argument et hello.sh comme second argument. N'oubliez pas d'utiliser la commande sudo pour obtenir
les privilèges administratifs nécessaires. Utilisez le mot de passe netlab123 lorsque vous y êtes invité :
Valider le changement de propriétaire en exécutant la commande ls -l. Utilisez le nom de fichier comme
argument pour limiter la sortie :
sysadmin@localhost:~/Documents$ ls -l hello.sh
-rwxr--r-- 1 root sysadmin 647 Dec 20 2017 hello.sh
Le champ propriétaire de l'utilisateur est maintenant root indiquant que la modification a réussi.
Réfléchissez à ceci
Essayez d'exécuter à nouveau le script hello.sh. Cela échoue ! Pourquoi ?
sysadmin@localhost:~/Documents$ ./hello.sh
-bash: ./hello.sh: Permission denied
Seul le propriétaire du fichier dispose de l'autorisation d'exécution, et maintenant l'utilisateur root est le
propriétaire. Ce fichier nécessite désormais un accès administratif pour s'exécuter. Utilisez la
commande sudo pour exécuter le script en tant qu'utilisateur root.
sysadmin@localhost:~/Documents$ sudo ./hello.sh
[sudo] password for sysadmin:
______________
( Hello World! )
--------------
\
<(^)
()
Notre VM a quelques petits fichiers texte que vous pouvez afficher avec la commande cat. L'un de ces
fichiers est le fichier animals.txt :
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
sysadmin@localhost:~/Documents$ cat animals.txt
1 retriever
2 badger
3 bat
4 wolf
5 eagle
La commande cat affiche les cinq lignes du fichier ci-dessus. Lorsque vous affichez des fichiers plus
volumineux, la commande cat peut entraîner une sortie très longue qui ne peut pas être interrompue
pour défiler dedans. Une meilleure méthode pour afficher les longs fichiers texte est d’utiliser une
commande page par page avec une fonctionnalité permettant de faire une pause et de faire défiler la
sortie du fichier.
Veuillez noter :
Les deux commandes more et less permettent de consulter un fichier page par page. Nous aborderons
ces deux commandes, et bien d'autres encore sur l’affichage de fichiers, dans la formation NDG Linux
Essentials.
Une autre façon d'afficher le contenu des fichiers est d'utiliser les commandes head et tail. Ces
commandes permettent d'afficher un certain nombre de lignes en haut ou en bas d'un fichier. Jeter un
oeil à quelques lignes d'un fichier peut parfois être utile pour vous assurer que le fichier est bien celui
que vous voulez utiliser.
Une autre raison pour ne prévisualiser que la première ou la dernière ligne d’un fichier, est que certains
fichiers, tels que les fichiers journaux système, sont fréquemment mis à jour avec de nouvelles entrées.
Tout comme la commande cat, les commandes head et tail utilisent le nom du fichier que vous
souhaitez afficher comme argument de la commande :
Pour comparer la sortie des commandes head et tail avec celle de la commande cat, utilisez la
commande cat pour afficher l'ensemble du fichier alpha.txt :
Pour afficher les lignes en bas du fichier alpha.txt, utilisez la commande tail :
En examinant la sortie des commandes head et tail ci-dessus, vous pouvez voir que le comportement
par défaut des commandes head and tail dans ce shell est d'afficher dix lignes.
L'option -n avec les commandes head et tail peut être utilisée pour spécifier le nombre de lignes à
afficher. Pour utiliser l'option -n, spécifiez le nombre de lignes du fichier à afficher après l'option et
utilisez le nom de fichier comme argument :
Par exemple, pour modifier la sortie de la commande head pour afficher les cinq premières lignes du
fichier alpha.txt :
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
La commande cp est utilisée pour copier des fichiers. Similaire à la commande mv, elle nécessite au
moins deux arguments : une source et une destination. Par exemple, pour copier le
fichier /etc/passwd dans le répertoire courant, utilisez la commande suivante :
sysadmin@localhost:~/Documents$ cp /etc/passwd .
Veuillez noter :
Le deuxième argument est le . (caractère point). Rappel de la section Modification des répertoires : c’est
un raccourci représentant le répertoire courant.
Le résultat de l'exécution de la commande précédente crée une copie du contenu du
fichier /etc/passwd dans le répertoire Documents, puisque c'est notre répertoire courant. Cela peut être
confirmé en utilisant la commande ls :
sysadmin@localhost:~/Documents$ ls
School alpha-third.txt hidden.txt numbers.txt red.txt
Work alpha.txt letters.txt os.csv
adjectives.txt animals.txt linux.txt passwd
alpha-first.txt food.txt longfile.txt people.csv
alpha-second.txt hello.sh newhome.txt profile.txt
Réfléchissez à ceci
Les autorisations peuvent avoir un impact sur les commandes de gestion de fichiers, telles que la
commande cp. Pour copier un fichier, il est nécessaire d'avoir l'autorisation d'exécution pour accéder au
répertoire où se trouve le fichier et l'autorisation de lecture pour le fichier en cours de copie.
Il est également nécessaire d'avoir l'autorisation d'écriture et d'exécution sur le répertoire dans lequel le
fichier est copié. En règle générale, vous devez toujours avoir l'autorisation d'écriture et d'exécution sur
votre répertoire personnel et sur le répertoire /tmp.
dd [OPTIONS] OPERAND
La commande dd utilise des arguments spéciaux pour spécifier le fonctionnement. Ce qui suit illustre
certains des arguments les plus couramment utilisés :
Argumen
t Description
L'exemple lit à partir du fichier /dev/zero, un fichier spécial contenant un nombre illimité
de zéros.
bs Taille du bloc : Taille du bloc à utiliser. Par défaut, la valeur est considérée comme
étant exprimée en octets. Utilisez les suffixes suivants pour spécifier d'autres
unités: K, M, Get T respectivement pour les kilo-octets, mégaoctets, gigaoctets et
téraoctets.
Réfléchissez à ceci
Il n'est pas nécessaire de spécifier la taille ou le nombre de blocs lors de la copie sur des périphériques
entiers. Par exemple, pour cloner un disque dur (/dev/sda) vers un autre (/dev/sdb), exécutez la
commande suivante :
dd if=/dev/sda of=/dev/sdb
Déplacement de fichiers
La commande mv permet de déplacer un fichier d'un emplacement dans le système de fichiers à un
autre.
mv SOURCE DESTINATION
La commande mv nécessite au moins deux arguments. Le premier argument est la source, un chemin
d'accès au fichier à déplacer. Le deuxième argument est la destination, un chemin vers lequel le fichier
sera déplacé. Les fichiers à déplacer sont parfois appelés source, et l'endroit où les fichiers doivent être
placés est appelé destination.
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
Pour déplacer le fichier people.csv dans le répertoire Work, utilisez le nom de fichier comme source et le
nom du répertoire comme destination :
Si un fichier est déplacé d'un répertoire à un autre sans spécifier de nouveau nom pour le fichier, il
conserve son nom d'origine. Le déplacement ci-dessus peut être confirmé à l'aide de la
commande ls sur le répertoire Work :
sysadmin@localhost:~/Documents$ ls Work
people.csv
La commande mv permet aussi de déplacer plusieurs fichiers, tant que l'argument final fourni à la
commande est la destination. Par exemple, pour déplacer trois fichiers dans le répertoire School :
Déplacer un fichier dans le même répertoire est un moyen efficace de le renommer. Par exemple, dans
l'exemple suivant, le fichier animals.txt est renommé en zoo.txt :
mv animals.txt zoo.txt
sysadmin@localhost:~/Documents$ ls
School alpha-second.txt hello.sh newhome.txt red.txt
Work alpha-third.txt hidden.txt os.csv
adjectives.txt animals.txt linux.txt passwd
alpha-first.txt food.txt longfile.txt profile.txt
sysadmin@localhost:~/Documents$ mv animals.txt zoo.txt
sysadmin@localhost:~/Documents$ ls
School alpha-second.txt hidden.txt os.csv zoo.txt
Work alpha-third.txt linux.txt passwd
adjectives.txt food.txt longfile.txt profile.txt
alpha-first.txt hello.sh newhome.txt red.txt
Réfléchissez à ceci
Les autorisations peuvent avoir un impact sur les commandes de gestion de fichiers, telles que la
commande mv. Le déplacement d'un fichier nécessite des autorisations d'écriture et d'exécution sur les
répertoires d'origine et de destination.
Suppression de fichiers
La commande rm permet de supprimer des fichiers et des répertoires. Il est important de garder à
l'esprit que les fichiers et répertoires supprimés ne vont pas dans une « corbeille » comme dans les
systèmes d'exploitation avec une interface de type Windows. Lorsqu'un fichier est supprimé avec la
commande rm, il est presque toujours supprimé de manière définitive.
rm [OPTIONS] FICHIER
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
Sans options, la commande rm est généralement utilisée pour supprimer des fichiers normaux :
sysadmin@localhost:~/Documents$ rm linux.txt
sysadmin@localhost:~/Documents$ ls linux.txt
ls: cannot access linux.txt: No such file or directory
La commande rm ignore les répertoires qu'on lui demande de supprimer ; pour supprimer un répertoire,
utilisez une option récursive, soit les options -r ou -R. Soyez prudent puisque ces options sont «
récursives », cela supprimera tous les fichiers et tous les sous-répertoires :
sysadmin@localhost:~/Documents$ rm Work
rm: cannot remove 'Work': Is a directory
sysadmin@localhost:~/Documents$ rm -r Work
sysadmin@localhost:~/Documents$ ls Work
ls: cannot access Work: No such file or directory
Avertissement
La commande rm supprime les fichiers de manière définitive. Pour répéter les exemples ci-dessus,
réinitialisez le terminal à l'aide du bouton de réinitialisation.
Réfléchissez à ceci
Les autorisations peuvent avoir un impact sur les commandes de gestion de fichiers, telles que la
commande rm.
Pour supprimer un fichier dans un répertoire, un utilisateur doit disposer de l'autorisation d'écriture et
d'exécution sur ce répertoire. Les utilisateurs standards ne disposent généralement de ce type
d'autorisation que dans leur répertoire personnel et ses sous-répertoires.
Filtrage d'entrée
La commande grep est un filtre de texte qui recherche les entrées et renvoie les lignes qui contiennent
une correspondance avec un motif donné.
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
Par exemple, le fichier passwd que nous avons copié précédemment dans le
répertoire Documents contient les détails des comptes système spéciaux et des comptes utilisateur sur
le système. Ce fichier peut être très volumineux, mais la commande grep peut être utilisée pour filtrer les
informations sur un utilisateur spécifique, tel que l'utilisateur sysadmin. Utilisez sysadmin comme
argument du motif et passwd comme argument fichier:
Expressions régulières
Les expressions régulières ont deux formes communes : basique et étendue. La plupart des
commandes qui utilisent des expressions régulières peuvent interpréter les expressions régulières
basiques. Cependant, les expressions régulières étendues ne sont pas disponibles pour toutes les
commandes et une option de commande est généralement requise pour qu'elles fonctionnent
correctement.
Le tableau suivant résume les caractères d'expression régulière basiques :
. Un seul caractère
Le tableau suivant résume les expressions régulières étendues, qui doivent être utilisées avec la
commande egrep ou l'option -E avec la commande grep :
Caractères regex
étendus Signification
Seules les expressions régulières basiques ont été couvertes ici. Pour plus d'informations sur les
expressions régulières étendues, consultez les cours NDG Linux Essentials et NDG Introduction to
Linux.
Motifs basiques
Les expressions régulières sont des motifs que seules certaines commandes sont capables
d'interpréter. Les expressions régulières peuvent être développées pour correspondre à certaines
séquences de caractères dans le texte. Les exemples affichés sur cette page utilisent des expressions
régulières pour démontrer leur puissance lorsqu'elles sont utilisées avec la commande grep. En outre,
ces exemples fournissent une démonstration très visuelle du fonctionnement des expressions
régulières, le texte qui correspond sera affiché en rouge.
Poursuivons
Utilisez la commande cd pour passer au répertoire Documents.
sysadmin@localhost:~$ cd ~/Documents
Les expressions régulières les plus simples n'utilisent que des caractères littéraux, comme l'exemple de
la page précédente :
Caractères d'ancrage
Les caractères d'ancrage sont l'une des façons dont les expressions régulières peuvent être utilisées
pour affiner les résultats de recherche. Par exemple, la root du motif apparaît plusieurs fois dans le
fichier /etc/passwd :
Pour éviter que le shell ne les interprète en tant que caractères spéciaux de shell, ces motifs doivent
être protégés par des guillemets simples.
Le premier caractère d'ancrage ^ est utilisé pour s'assurer qu'un motif apparaît au début de la ligne. Par
exemple, pour trouver toutes les lignes dans /etc/passwd qui commencent par root, utilisez le pattern ^
root. Notez que ^ doit être le premier caractère du motif pour fonctionner.
sysadmin@localhost:~/Documents$ grep '^root' /etc/passwd
root:x:0:0:root:/root:/bin/bash
Pour l'exemple suivant, examinez d'abord le fichier alpha-first.txt. La commande cat peut être utilisée
pour afficher le contenu d'un fichier :
Le deuxième caractère d'ancrage $ peut être utilisé pour s'assurer qu'un motif apparaît à la fin de la
ligne, limitant ainsi efficacement les résultats de la recherche. Pour trouver les lignes qui se terminent
par un r dans le fichier alpha-first.txt, utilisez le motif r$ :
Encore une fois, la position de ce caractère est importante, le $ doit être le dernier caractère du motif
pour être efficace comme ancre.
L'une des expressions les plus utiles est le point ., car iI correspondra à n'importe quel caractère sauf
pour le caractère de nouvelle ligne. Le motif r..f trouvera n'importe quelle ligne contenant la lettre r suivie
de exactement deux caractères (qui peut être n'importe quel caractère sauf un saut de ligne), puis la
lettre f :
Le même concept peut être répété en utilisant d'autres combinaisons. Ce qui suit trouvera des mots de
quatre lettres qui commencent par r et termine par d :
Ce caractère peut être utilisé autant de fois que nécessaire. Pour trouver tous les mots qui ont au moins
quatre caractères, le modèle suivant peut être utilisé :
La ligne ne doit pas nécessairement être une correspondance exacte, elle doit simplement contenir le
motif, comme on le voit ici lorsque r..t est recherché dans le fichier /etc/passwd :
Pour trouver toutes les lignes du profile.txt qui contiennent un nombre, utilisez le
modèle [0123456789] ou [0-9] :
D'un autre côté, pour trouver toutes les lignes qui contiennent des caractères non numériques, insérez
un ^ comme premier caractère à l'intérieur des crochets. Ce caractère exclut les caractères listés :
Veuillez noter :
Ne pas confondre [^0-9] avec des lignes qui ne contiennent pas de chiffres. Il correspond en fait
aux lignes qui contiennent des non-nombres. Regardez le fichier original pour voir la différence. Les
troisième et sixième lignes ne contiennent que des nombres, elles ne contiennent pas de non-nombres,
de sorte que ces lignes ne correspondent pas.
Lorsque d'autres caractères d'expression régulière sont placés entre crochets, ils sont traités comme
des caractères littéraux. Par exemple, le point . correspond normalement à n'importe quel caractère,
mais placé à l'intérieur des crochets, il correspondra simplement à lui-même. Dans l'exemple suivant,
seules les lignes qui contiennent le point . sont listées.
Il est également possible de faire correspondre zéro ou plusieurs occurrences d'une liste de caractères
en utilisant les crochets. Le motif [oe] * utilisé dans l'exemple suivant correspond à zéro ou plusieurs
occurrences du caractère o ou du caractère e :
Lorsqu'il est utilisé avec un seul autre caractère, * n'est pas très utile. L'un des modèles suivants
correspond à toutes les chaînes ou ligne du fichier: .* e* b* z*.
C'est parce que * peut correspondre à zéro occurrences d'un motif. Pour rendre le * utile, il est
nécessaire de créer un motif qui comprend plus que le seul caractère précédant *. Par exemple, les
résultats ci-dessus peuvent être affinés en ajoutant un autre e pour que le motif ee * corresponde
efficacement à chaque ligne contenant au moins un e.
Entrée standard
Si un nom de fichier n'est pas donné, la commande grep sera lue à partir de l'entrée standard, qui
provient normalement du clavier avec l'entrée fournie par l'utilisateur qui exécute la commande. Cela
fournit une expérience interactive avec grep où l'utilisateur tape dans les filtres d'entrée et grep au fur et
à mesure. N'hésitez pas à l'essayer, appuyez simplement sur Ctrl-D lorsque vous êtes prêt à revenir à
l'invite.
Poursuivons
Utilisez la commande cd suivante pour revenir au répertoire personnel :
sysadmin@localhost:~/Documents$ cd ~
Arrêt
La commande shutdown permet d'arrêter le système en toute sécurité. Tous les utilisateurs connectés
sont alors avertis que le système est en cours d’arrêt et au cours des cinq dernières minutes précédant
l'arrêt, les nouvelles connexions sont empêchées.
Poursuivons
La commande shutdown nécessite un accès administratif, passez sur le compte root de cette section à
l'aide de la commande suivante. Utilisez netlab123 comme mot de passe.
sysadmin@localhost:~$ su -
Password:
root@localhost:~#
Nos machines virtuelles ne s'arrêtent pas vraiment ! N'hésitez pas à utiliser la commande, mais sachez
qu'elle reviendra à l'invite après le compte à rebours au lieu d'arrêter le système. Il se peut que vous
deviez appuyer sur la touche Entrée ou Ctrl+C pour revenir à l'invite de commande.
Les lettres UTC présentes dans la sortie indiquent que l'heure est affichée en tant que temps universel
coordonné.
root@localhost:~# date
Sat Oct 3 22:15:58 UTC 2020
root@localhost:~# shutdown 01:51
La commande shutdown peut également contenir un message facultatif, qui apparaîtra sur les terminaux
de tous les utilisateurs. Par exemple :
Configuration réseau
La commande ifconfig signifie « configuration d'interface » et est utilisée pour afficher les informations
de configuration réseau.
ifconfig [OPTIONS]
Veuillez noter :
La commande iwconfig est similaire à la commande ifconfig, mais elle est dédiée aux interfaces réseau
sans fil.
Il n’est pas nécessaire de connaître tous les paramètres réseau pour ce module, mais il est important de
noter dans l'exemple suivant que l'adresse IPv4 du périphérique réseau principal eth0 est 192.168.1.2 et
que le périphérique est actuellement actif (UP) :
root@localhost:~# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:c0:a8:01:02
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:59 errors:0 dropped:0 overruns:0 frame:0
TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4346 (4.3 KB) TX bytes:5602 (5.6 KB)
Réfléchissez à ceci
Le périphérique lo est appelé périphérique de bouclage. Il désigne votre propre ordinateur. C'est un
périphérique réseau spécial utilisé par le système lors de l'envoi de données réseau à lui-même.
La commande ifconfig peut également être utilisée pour modifier temporairement les paramètres réseau.
Typiquement, ces changements doivent être permanents, donc utiliser la commande ifconfig pour
effectuer de tels changements est assez rare.
La commande ping permet de vérifier la connectivité entre deux ordinateurs. Elle le fait en envoyant des
paquets à une autre machine sur un réseau. Si l'expéditeur reçoit une réponse, la connexion à cette
machine doit être possible.
Les informations sont envoyées à l'aide de « paquets » ; l'unité encapsulée de données envoyées sur
un réseau. Pour que les paquets trouvent l'autre ordinateur, ils ont besoin d'une adresse. La
commande ping utilise des adresses IP pour identifier un ordinateur sur le réseau auquel il souhaite se
connecter.
Par défaut, la commande ping continuera d'envoyer des paquets jusqu'à ce que la commande
d'interruption (CTL+C ) soit entrée sur la console. Pour limiter le nombre de pings envoyés, utilisez
l'option -c suivie du nombre de pings à envoyer. L'exemple ci-dessous montre un ping limité à 4
itérations avec -c 4.
Si la commande ping réussit, vous verrez la sortie suivante :
Si la commande ping échoue, vous recevrez un message indiquant : Destination Host Unreachable :
root@localhost:~# ping -c 4 192.168.1.3
PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
From 192.168.1.2 icmp_seq=1 Destination Host Unreachable
From 192.168.1.2 icmp_seq=2 Destination Host Unreachable
From 192.168.1.2 icmp_seq=3 Destination Host Unreachable
From 192.168.1.2 icmp_seq=4 Destination Host Unreachable
La commande ping peut échouer même si la machine distante se connecte. Cela est dû au fait que
certains administrateurs configurent leurs machines, voire des réseaux entiers, à ne pas répondre aux
requêtes ping en tant que mesure de sécurité. La commande ping fonctionne également avec un nom
d'hôte ou un nom de domaine comme yahoo.com. Si la commande ping réussit, il y a résolution du nom
de domaine ou du nom d'hôte. L'adresse IP fonctionnera également correctement.
Poursuivons
Quittez le compte root à l'aide de la commande exit :
root@localhost:~# exit
logout
ps [OPTIONS]
sysadmin@localhost:~$ ps
PID TTY TIME CMD
80 pts/0 00:00:00 bash
94 pts/0 00:00:00 ps
La commande ps affiche les processus en cours d'exécution dans le terminal actuel par défaut. Dans
l'exemple ci-dessus, la dernière ligne est le processus créé par l'exécution de la commande ps. La sortie
comprend les colonnes d'informations suivantes :
PID : L'identifiant du processus, qui est unique au processus. Ces informations sont utiles pour
contrôler le processus par son numéro d'identification.
TTY : Le nom du terminal sur lequel le processus est en cours d'exécution. Ces informations sont
utiles pour distinguer les différents processus qui portent le même nom.
TIME : Le temps processeur utilisé par le processus. Généralement, cette information n'est pas
utilisée par les utilisateurs standards.
CMD : La commande qui a lancé le processus.
Au lieu d'afficher uniquement les processus en cours d'exécution dans le terminal actuel, les utilisateurs
peuvent vouloir afficher tous les processus en cours d'exécution sur le système. L'option -e affichera
tous les processus :
sysadmin@localhost:~$ ps -e
PID TTY TIME CMD
1 pts/0 00:00:00 init
33 ? 00:00:00 rsyslogd
37 ? 00:00:00 cron
39 ? 00:00:00 sshd
56 ? 00:00:00 named
69 pts/0 00:00:00 login
79 pts/0 00:00:00 bash
94 pts/0 00:00:00 ps
Généralement, l'option -f est également utilisée car elle fournit plus de détails dans l'affichage de la
commande, y compris les options et les arguments. Recherchez la commande ps sur la dernière ligne,
la colonne CMD inclut désormais les options utilisées :
sysadmin@localhost:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 19:16 pts/0 00:00:00 /sbin??? /init
syslog 33 1 0 19:16 ? 00:00:00 /usr/sbin/rsyslogd
root 37 1 0 19:16 ? 00:00:00 /usr/sbin/cron
root 39 1 0 19:16 ? 00:00:00 /usr/sbin/sshd
bind 56 1 0 19:16 ? 00:00:00 /usr/sbin/named -u bind
root 69 1 0 19:16 pts/0 00:00:00 /bin/login -f
sysadmin 79 69 0 19:16 pts/0 00:00:00 -bash
sysadmin 95 79 0 19:43 pts/0 00:00:00 ps -ef
Installation de paquets
Les fichiers de paquets sont généralement installés en les téléchargeant directement à partir de
référentiels situés sur des serveurs Internet. Les référentiels Debian contiennent plus de 65 000 paquets
de logiciels différents. Avant d'installer un paquet, il est recommandé de réactualiser la liste des paquets
disponibles à l'aide de la commande apt-get update.
Les commandes suivantes peuvent prendre quelques minutes pour exécuter.
Pour rechercher des mots-clés dans ces paquets, vous pouvez utiliser la commande apt-cache search.
Le mot-clé utilisé doit correspondre à une partie du nom ou de la description du paquet à localiser.
Plusieurs mots-clés peuvent être utilisés pour clarifier davantage la recherche ; par exemple, le terme de
recherche serveur Web donnera de meilleurs résultats que Web ou serveur.
Pour trouver des paquets associés au mot-clé cow :
Une fois que vous avez trouvé le paquet à installer, vous pouvez l'installer avec la commande apt-get
install :
Réfléchissez à ceci
La commande cowsay est un programme qui crée des dessins ASCII d'une vache avec un message !
Utilisez un mot ou une phrase comme argument :
sysadmin@localhost:~$ cowsay 'NDG Linux Unhatched'
_____________________
< NDG Linux Unhatched >
---------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Nous vous recommandons d'inclure l'argument entre guillemets simples pour empêcher le shell
d'interpréter les caractères spéciaux.
apt-get update
apt-get upgrade
sysadmin@localhost:~$ sudo apt-get update
[sudo] password for sysadmin:
Ign file: amd64/ InRelease
Ign file: amd64/ Release.gpg
Ign file: amd64/ Release
Reading package lists... Done
sysadmin@localhost:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Suppression de paquets
La commande apt-get est capable de supprimer ou de purger un paquet. La différence entre les deux
est que purger supprime tous les fichiers de paquet, tandis que la suppression supprime tous les fichiers
sauf les fichiers de configuration du paquet.
Un administrateur peut exécuter la commande apt-get remove pour supprimer un paquet ou la
commande apt-get purge pour purger un paquet entièrement du système.
Par exemple, pour purger complètement le paquet cowsay, exécutez la commande suivante. Tapez la
touche Y lorsque vous y êtes invité :
Par exemple, puisque nous sommes connectés en tant qu'utilisateur sysadmin, nous pouvons changer
le mot de passe de ce compte. Exécutez la commande passwd. Vous serez invité à entrer le mot de
passe existant une fois et le nouveau mot de passe deux fois. Pour des raisons de sécurité, aucune
sortie n'est affichée pendant la saisie du mot de passe. La sortie est illustrée comme suit :
sysadmin@localhost:~$ passwd
Changing password for sysadmin.
(current) UNIX password: netlab123
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Si l'utilisateur souhaite afficher les informations d'état de son mot de passe, il peut utiliser l'option -S :
sysadmin@localhost:~$ passwd -S sysadmin
sysadmin P 12/20/2017 0 99999 7 -1
Date de 03/01/2015 Date à laquelle le mot de passe a été modifié pour la dernière fois.
modification
Minimum 0 Le nombre minimum de jours qui doivent s'écouler avant que le mot
de passe actuel puisse être modifié par l'utilisateur.
Maximum 99999 Le nombre maximum de jours restants avant que le mot de passe
expire.
L'utilisateur root peut modifier le mot de passe de n'importe quel utilisateur. Si l'utilisateur root veut
changer le mot de passe de sysadmin, il exécutera la commande suivante :
Redirection
L'ajout de contenu aux fichiers sous Linux peut se faire de diverses façons. Linux a quelques éditeurs
de texte qui peuvent être utilisés pour ajouter du contenu à un fichier. Cependant, cette méthode
nécessite une certaine familiarité avec les commandes de l'éditeur de texte Linux.
Veuillez noter :
Les éditeurs de texte Linux sont abordés dans la section suivante de ce cours.
Linux permet d'ajouter rapidement du contenu à un fichier à l'aide d'une fonction de ligne de commande
appelée redirection entrée/sortie (E/S). La redirection d'E/S permet d'envoyer des informations dans la
ligne de commande à des fichiers, des périphériques et d'autres commandes. L'entrée ou la sortie d'une
commande est redirigée de sa destination par défaut vers un autre emplacement. La redirection E/S est
comme une série de voies de train, où un commutateur peut être activé pour diriger la sortie d'une
commande vers une autre voie afin qu'elle aille ailleurs dans le shell. Dans cette section, nous écrivons
dans des fichiers en redirigeant la sortie d'une commande vers un fichier.
Quand il s'agit d'entrée et de sortie de commande, il y a trois chemins, ou « pistes » possibles. Ces
chemins sont appelés des descripteurs de fichiers. Le premier descripteur de fichier est une entrée
standard, abrégée en STDIN. L'entrée standard est l'information que la commande reçoit et traite
lorsqu'elle est exécutée, essentiellement ce qu'un utilisateur tape sur le clavier. Le deuxième descripteur
de fichier est une sortie standard, abrégée en STDOUT. La sortie standard est l'information que la
commande affiche, la sortie de la commande. Le dernier descripteur de fichier est une erreur standard,
abrégée en STDERR. STDERR, sont les messages d'erreur générés par les commandes qui ne sont
pas correctement exécutées. Voici des exemples de la façon dont les descripteurs de fichier
apparaissent dans le terminal :
Entrée standard (STDIN)
sysadmin@localhost:~$ ls ~/Documents
sysadmin@localhost:~$ ls
sysadmin@localhost:~$ ls fakefile
Cette section couvre l'un des trois descripteurs de fichier, STDOUT, et comment rediriger STDOUT d'où
vous le voyez habituellement, dans le terminal, vers un fichier du système de fichiers. Pour utiliser la
redirection, utilisez simplement le symbole supérieur à > avec un nom de fichier :
Pour montrer la redirection, nous allons utiliser la sortie de la commande cat. Sans redirection, la sortie
de la commande cat sera affichée dans le terminal :
Poursuivons
Utilisez la commande suivante pour basculer vers le répertoire Documents :
sysadmin@localhost:~$ cd ~/Documents
sysadmin@localhost:~/Documents$ cat food.txt
Food is good.
Maintenant, utilisez le caractère > pour rediriger le STDOUT de la commande cat food.txt ci-dessus vers
un nouveau fichier appelé newfile1.txt :
Comme vous pouvez le voir, aucune sortie n'est affichée puisque le STDOUT a été redirigé vers le
fichier newfile1.txt . Vérifiez que le STDOUT de la commande cat food.txt se trouve dans newfile1.txt :
Ceci est utile si vous avez besoin de copier du contenu d'un fichier important vers un autre fichier afin de
modifier le contenu sans modifier le fichier d'origine. Cependant, que se passe-t-il si vous souhaitez
ajouter un commentaire ou une note à un fichier ? Pour ce faire, vous pouvez utiliser la
commande echo. La commande echo est utilisée pour imprimer la sortie dans le terminal :
sysadmin@localhost:~/Documents$ echo "Hello"
Hello
sysadmin@localhost:~/Documents$
L'impression de commentaires à l'écran est une fonctionnalité amusante, mais la commande echo peut
être rendue plus utile en utilisant la redirection. En utilisant la commande echo, du contenu peut être
ajouté au fichier newfile1.txt :
Notez que le STDOUT de la commande echo a remplacé le contenu d'origine du fichier. Cela est dû au
fait que le caractère > tout seul remplacera tout contenu d'un fichier existant. Pour ajouter plutôt que
remplacer du contenu à un fichier, utilisez un symbole double supérieur à >> :
Important
Pour rediriger des informations vers un fichier existant, l'utilisateur doit disposer d'autorisations d'écriture
sur ce fichier.
Éditeur de texte
Le principal éditeur de texte pour Linux et UNIX est un programme appelé vi. Bien qu'il existe de
nombreux éditeurs disponibles pour Linux qui vont du minuscule éditeur nano à l'imposant
éditeur emacs, l'éditeur vi présente plusieurs avantages :
L'éditeur vi est disponible sur toutes les distributions Linux dans le monde. Ce n'est pas le
cas des autres éditeurs.
L'éditeur vi peut être exécuté à la fois dans une interface CLI (interface de ligne de
commande) et une interface graphique (interface utilisateur graphique).
Alors que de nouvelles fonctionnalités ont été ajoutées à l'éditeur vi , les fonctions de base
existent depuis des décennies. Cela signifie que si quelqu'un a appris l'éditeur vi dans les
années 1970, il pourrait utiliser une version moderne sans aucun problème. Bien que cela
semble peut paraître trivial aujourd’hui, cela ne le sera pas dans vingt ans.
Réfléchissez à ceci
La bonne façon de prononcer l'éditeur vi est l'éditeur vee-eye. Les lettres vi représentent le mot visuel,
mais elles n'ont jamais été prononcées de cette façon par les développeurs, mais plutôt la lettre v suivie
de la lettre i en anglais.
En réalité, la plupart des systèmes Linux n'incluent pas le vioriginal, mais une version améliorée de
celui-ci connue sous le nom de vim, pour vi améliorée. L'éditeur vim est ainsi disponible pour la plupart
des distributions Linux. En réalité, vim fonctionne comme vi, mais comporte des fonctionnalités
supplémentaires. Pour les sujets qui seront abordés dans ce cours, vi ou vim suffit.
Pour commencer à utiliser vi, tapez simplement la commande suivie du chemin d'accès au fichier à
modifier ou créer :
sysadmin@localhost:~$ vi newfile.txt
ITrois modes sont utilisés dans vi : le mode commande, le mode insertion et le mode enregistrement.
Mode commande
Initialement, le programme démarre en mode commande. Le mode Commande permet de taper des
commandes, telles que celles utilisées pour déplacer un document, manipuler du texte et accéder aux
deux autres modes. Pour repasser en mode commande à tout moment, appuyez sur la touche Echap.
Une fois que du texte a été ajouté dans un document, pour effectuer des actions comme le déplacement
du curseur, la touche Echap doit d'abord être pressée pour revenir en mode commande. Cela semble
être beaucoup de travail, mais rappelez-vous que vi fonctionne dans un environnement terminal où une
souris ne vous sera d’aucune utilité.
Les commandes de déplacement dans vi ont deux aspects, un mouvement et un préfixe numérique
facultatif, qui indique combien de fois répéter ce mouvement. Le format général est le suivant :
[nombre] motion
Mouvement Résultat
h Un caractère à gauche
l Un caractère à droite
w Un mot en avant
b Un mot en arrière
^ Début de ligne
Mouvement Résultat
$ Fin de ligne
Veuillez noter :
Depuis la mise à niveau vers vim , il est également possible d'utiliser les touches fléchées ←↓↑→ au lieu
de hjkl respectivement.
Ces mouvements peuvent être préfixés par un nombre pour indiquer combien de fois effectuer le
mouvement. Par exemple, 5h déplace le curseur cinq caractères vers la gauche et 3w déplace le
curseur trois mots vers la droite.
Pour déplacer le curseur sur un numéro de ligne spécifique, tapez ce numéro de ligne suivi du
caractère G, par exemple, pour accéder à la cinquième ligne du fichier 5G, 1G ou gg peut être utilisé
pour aller à la première ligne du fichier, tandis qu'un G seul vous mènera à la dernière ligne. Pour savoir
sur quelle ligne se trouve actuellement le curseur, utilisez CTRL-G.
Mode actions
La convention standard pour l'édition de contenu dans les traitements de texte consiste à utiliser copier,
couper et coller. Le programme vi n'en comporte aucun. Au lieu de cela, vi utilise les trois commandes
suivantes :
Standard Vi Signification
Les déplacements décrits dans la page précédente sont utilisés pour spécifier où l'action doit avoir lieu,
toujours en commençant par l'emplacement actuel du curseur. Les des formats généraux suivants pour
les commandes d'action sont acceptés :
Supprimer (Cut)
Supprimer supprime le texte indiqué de la page et l'enregistre dans le tampon, le tampon étant
l'équivalent du « presse-papiers » utilisé dans Windows ou Mac OSX. Le tableau suivant fournit des
exemples d'utilisation courants :
Action Résultat
Modifier
Modifier est très similaire à supprimer ; le texte est supprimé et enregistré dans le tampon, cependant, le
programme est commuté en mode insertion pour permettre des modifications immédiates au texte. Le
tableau suivant fournit des exemples d'utilisation courants :
Action Résultat
Arracher (Yank)
Yank place le contenu dans le tampon sans le supprimer. Le tableau suivant fournit des exemples
d'utilisation courants:
Action Résultat
yy Copier la ligne
Mettre (Put)
Put met le texte enregistré dans le tampon avant ou après la position du curseur. Notez que ce sont les
deux seules options, coller n'utilise pas les mouvements comme les commandes d'action précédentes.
Action Résultat
Recherche dans vi
Une autre fonction standard offerte par les traitements de texte est la recherche. Souvent, les gens
utilisent CTRL + F ou regardent sous le menu d'édition. Le programme vi utilise la recherche. La
recherche est puissante car elle prend en charge à la fois les motifs de texte littéral et les expressions
régulières.
Pour effectuer une recherche à partir de la position actuelle du curseur, utilisez le / pour lancer la
recherche, tapez un terme de recherche, puis appuyez sur la touche Entrée pour commencer la
recherche. Le curseur se déplace vers la première correspondance trouvée.
Pour passer à la correspondance suivante en utilisant le même motif, appuyez sur la touche n . Pour
revenir à une correspondance précédente, appuyez sur la touche N. Si la fin ou le début du document
est atteint, la recherche retourne automatiquement de l'autre côté du document.
Pour commencer à rechercher en arrière à partir de la position du curseur, commencez par taper ?, puis
tapez le motif à rechercher et appuyez sur la touche Entrée.
Mode insertion
Le mode Insertion permet d'ajouter du texte au document. Il y a plusieurs façons de passer en mode
insertion à partir du mode commande, chacune différenciée par l'endroit où l'insertion de texte
commencera. Le tableau suivant couvre les plus courants :
Saisie Résultat
Mode ex
À l'origine, l'éditeur vi s'appelait ex. Le nom vi était l'abréviation de la commande visuel dans
l'éditeur ex qui a basculé l'éditeur en mode « visuel ».
Originellement, en mode normal, l'éditeur ex autorisait uniquement les utilisateurs à voir et à modifier
une ligne à la fois. En mode visuel, les utilisateurs peuvent voir autant du document que le permet la
taille de l'écran. Comme la plupart des utilisateurs préféraient le mode visuel au mode d'édition de ligne,
le fichier programme ex était lié à un fichier vi , de sorte que les utilisateurs pouvaient
démarrer ex directement en mode visuel lorsqu'ils exécutaient l'éditeur vi.
Au final, le fichier programme réel a été renommé vi et l'éditeur ex est devenu un lien pointant vers
l'éditeur vi.
Lorsque le mode ex de l'éditeur vi est utilisé, il est possible d'afficher ou de modifier les paramètres,
ainsi que d'exécuter des commandes liées aux fichiers comme l'ouverture, l'enregistrement ou l'abandon
des modifications apportées à un fichier. Pour accéder au mode ex, tapez le caractère : en mode
commande. Le tableau suivant répertorie certaines actions courantes effectuées en mode ex :
Saisie Résultat
:w nom_de_fichier Enregistrer une copie du fichier actuel avec le nom du fichier spécifié
Une analyse rapide du tableau ci-dessus révèle que si un point d'exclamation ! est ajouté à une
commande, elle tente ensuite de forcer l'opération. Par exemple, imaginez que vous apportez des
modifications à un fichier dans l'éditeur vi, puis essayez de quitter avec :q, seulement pour découvrir
que la commande échoue. L'éditeur vi ne veut pas quitter sans enregistrer les modifications que vous
avez apportées à un fichier, mais vous pouvez le forcer à quitter avec la commande ex :q!.
Réfléchissez à ceci
Bien que le mode ex offre plusieurs façons d'enregistrer et de quitter, ZZ est aussi disponible en mode
commande; et est équivalent à :wq. Il existe de nombreuses fonctions qui se chevauchent entre le mode
ex et le mode commande. Par exemple, le mode ex peut être utilisé pour naviguer jusqu'à n'importe
quelle ligne du document en tapant : suivi du numéro de ligne, tandis que le G peut être utilisé en mode
commande comme indiqué précédemment.
Veuillez noter :
Si vous avez un fichier texte ouvert, quittez-le en exécutant la commande :q!. Il se fermera sans
enregistrer les modifications.
~
~
:q!_
« Apprenez les bases du système d'exploitation Linux, de la ligne de commande et des concepts de
base de l'open source. »
Le cours NDG Linux Essentials est conçu pour vous préparer au certificat de développement
professionnel Linux Essentials du Linux Professional Institute, qui valide une compréhension démontrée
de :
FOSS, les différentes communautés et les licences
Connaissance des applications open source en milieu de travail en comparaison leurs
équivalents de sources fermées
Concepts de base du matériel, des processus, des programmes et des composants du système
d'exploitation Linux
Comment travailler sur la ligne de commande et avec des fichiers
Comment créer et restaurer des sauvegardes et des archives compressées
Sécurité du système, utilisateurs/groupes et permissions de fichiers pour les répertoires publics et
privés
Comment créer et exécuter des scripts simples
Pour obtenir le certificat de développement professionnel Linux Essentials, vous devez réussir Linux
Essentials (LPI-010) qui couvre :
La communauté Linux et une carrière dans l'open source
Trouver son chemin dans un système Linux
La puissance de la ligne de commande
Le système d'exploitation Linux
Sécurité et permissions de fichiers
Le certificat de développement professionnel Linux Essentials est le début de votre chemin pour devenir
un professionnel certifié Linux. Pour obtenir des informations sur les certifications du Linux Professional
Institute, rendez-vous sur http://www.lpi.org.
Ne vous inquiétez pas si vous avez peu ou pas d'expérience Linux. Ce cours est le point de départ idéal
pour enseigner tous les concepts à partir de la case départ. Cependant, si vous ne trouvez pas cette
formation matériel assez difficile, vous pouvez commencer par NDG Introduction to Linux I, un cours
d'introduction plus rigoureux.
« Acquérir les compétences en administration de système Linux se préparer à la certification LPI LPIC1.
»
La série NDG Linux est conçue pour vous préparer à la certification Linux Professional Institute Level 1.
LPIC-1 est une certification Linux Server Professional pour les administrateurs Linux qui valide votre
capacité à effectuer les tâches suivantes :
Travailler sur la ligne de commande Linux
Effectuer des tâches d'entretien simples : aider les utilisateurs, ajouter des utilisateurs à un
système plus vaste, sauvegarder et restaurer, arrêter et redémarrer
Installer et configurer un poste de travail (y compris X) et le connecter à un réseau local ou à un
PC autonome sur Internet
Pour obtenir la certification LPIC-1, vous devez réussir les examens 101 et 102. NDG Introduction to
Linux I est conçu pour vous préparer à l'examen 101, qui couvre :
Architecture système
L'installation de Linux et la gestion des paquets
Les commandes GNU et Unix
Périphériques, Systèmes de fichiers Linux, Hiérarchie des systèmes de fichiers Standard
NDG Introduction to Linux II s'aligne sur les objectifs de l'examen 102, qui couvrent :
Shells, scripts et gestion des données
Interfaces et ordinateurs de bureau
Tâches administratives
Services de systèmes fondamentaux
Principes fondamentaux de networking
Sécurité
La certification LPIC-1 est la première des trois certifications professionnelles LPI. Des informations sur
toutes les certifications Linux Professional Institute sont disponibles à l'adresse
suivante : http://www.lpi.org.
IT Essentials
Pour en savoir plus sur les compétences fondamentales en informatique pour les postes informatiques
d'entrée de gamme, consultez le reste de IT Essentials.