Débutez avec Linux pour les Débutants
Débutez avec Linux pour les Débutants
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 !
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
Tour
Si vous n'avez jamais suivi de cours NDG Online auparavant, vous pouvez vous familiariser
avec l'interface du cours en commençant par une visite guidée (Start Tour). Vous pouvez y
accéder à tout moment en utilisant le menu Aide (Help) dans le coin supérieur droit.
Objectifs
Le contenu de ce cours aligne à divers objectifs de l'examen LPI Linux Essentials 010-160. Veuillez
noter que Linux Unhatched est conçu en tant que un module exploratoire pour les débutants.
Ce premier module aborde les principaux thèmes de LPI Linux Essentials.Toutefois, il n'est pas
complet et ne vous prépare pas pour l'examen. Pour plus d'informations, cliquez sur l'onglet
Objectifs :
Machines virtuelles
À droite du contenu se trouve une machine virtuelle Linux sur laquelle vous pourrez saisir les
lignes de commandes. Tous les exemples de ce cours ont été créés sur nos machines et nous
vous encourageons à les essayer ! Sachez que la sortie que vous voyez sur l'interface de ligne
de commande ne correspondra pas toujours exactement à l'exemple du contenu.
2. 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
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
2.1. 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.
« Linux est développé par une communauté, vous pouvez accéder au code source et y contribuer ! »
2.2. Options
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
!
La commande pwd peut être utilisée pour vous situer dans le système de fichiers. La commande
pwd affiche le répertoire de travail, c'est-à-dire votre emplacement actuel dans le système de
fichiers :
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$
Les fichiers sont utilisés pour stocker des données telles que du texte, des graphiques et des
programmes. Les répertoires sont un type de fichier utilisé pour stocker d'autres fichiers - ils
fournissent une structure organisationnelle hiérarchique. L'image ci-dessous montre une
version abrégée de la structure du système de fichiers sur les machines virtuelles.
Lorsque vous démarrez une nouvelle machine virtuelle, soit en ouvrant le cours, soit après avoir
utilisé le bouton de réinitialisation, vous êtes connecté en tant qu'utilisateur sysadmin dans votre
répertoire personnel, en bleu ci-dessous :
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.
4.1. 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 :
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
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
cd School/Art
cd School
cd Art
4.3. 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:~$
La commande ls est utilisée pour lister le contenu d'un répertoire. Vous l'avez déjà vu utilisée
dans des exemples précédents, mais cette page vous aidera à vous assurer que vous êtes à l'aise
avec son utilisation.
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 :
Symbole Type de fichier Description
d répertoire Un fichier utilisé pour stocker d'autres fichiers.
Inclut des fichiers lisibles, des fichiers images, des
- fichier
fichiers binaires et des fichiers compressés.
l lien symbolique Pointe vers un autre fichier.
s prise (socket) Permet la communication entre les processus.
p tuyau (pipe) Permet la communication entre les processus.
b fichier bloc (block file) Utilisé pour communiquer avec le matériel.
fichier de caractères
c Utilisé pour communiquer avec le matériel.
(character file)
Le premier fichier alternatives.log est un fichier normal -, tandis que le second fichier apache2
est un répertoire d.
Permissions
drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart
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
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
Réfléchissez à ceci
Dans le cas de liens symboliques (un fichier qui pointe vers un autre fichier) le nom du lien sera
affiché avec une flèche et le chemin du fichier d'origine.
lrwxrwxrwx. 1 root root 22 Nov 6 2012 /etc/grub.conf -> ../boot/grub/grub.conf
Les liens symboliques dépassent le champ d'application de ce module, mais sont abordés dans
le cours NDG Linux Essentials.
5.1 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
« Le saviez-vous ? Vous pouvez trouver Linux dans Facebook, Amazon, Google, McDonald's, NASA, BMW,
Tesla, Wikipédia, United States Postal Service, Tesla. »
6. 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.
6.1. 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 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.
7. 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.
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
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 :
-rw-r--r-- 1 sysadmin sysadmin 647 Dec 20 2017 hello.sh
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.
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 :
Permission Effets sur le fichier Effets sur le dossier
Réfléchissez à ceci
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.
8. Modification des permissions de fichier
La commande chmod est utilisée pour modifier les autorisations d'un fichier ou d'un répertoire. Seul
l'administrateur du système (root) ou l'utilisateur propriétaire du fichier peut modifier les autorisations d'un
fichier.
Considérez ceci
Pourquoi la commande s’appelle-t-elle chmod et non pas chperm? Les autorisations étaient
auparavant appelées modes d'accès, donc la commande chmod signifie changer les modes d'accès.
Il existe deux techniques pour modifier les autorisations avec la commande chmod: symbolique et
octal. La méthode symbolique permet de changer un ensemble d'autorisations à la fois. La
méthode octale ou numérique nécessite la connaissance de la valeur octale de chacune des
autorisations et exige que les trois ensembles d'autorisations (utilisateur, groupe, autre) soient
spécifiés à chaque fois. Par souci de simplicité, seule la méthode symbolique sera couverte.
Pour en savoir plus sur la méthode octale, veuillez consulter NDG Linux Essentials !
Poursuivons
sysadmin@localhost:~$ cd ~/Documents
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.
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
sysadmin@localhost:~$ cd ~/Documents
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é :
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
sysadmin@localhost:~/Documents$ ./hello.sh
-bash: ./hello.sh: Permission denied
Quelques commandes Linux permettent d’afficher le contenu des fichiers. La commande cat,
qui signifie « concaténer », est souvent utilisée pour visualiser rapidement le contenu des petits
fichiers.
La commande cat affichera tout le contenu du fichier, c’est pourquoi elle est principalement
recommandée pour les fichiers plus petits où la sortie est limitée et ne nécessite pas de
défilement. Pour afficher le contenu d'un fichier à l'aide de la commande cat, tapez simplement
la commande suivi du nom du fichier que vous souhaitez voir comme argument :
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 :
sysadmin@localhost:~/Documents$ head -n 5 alpha.txt
A is for Apple
B is for Bear
C is for Cat
D is for Dog
E is for Elephant
Poursuivons
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
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.
La commande dd permet de copier des fichiers ou des partitions entières au niveau du bit.
dd [OPTIONS] OPERAND
sysadmin@localhost:~/Documents$ cd ~
sysadmin@localhost:~$ dd if=/dev/zero of=/tmp/swapex bs=1M count=50
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.825745 s, 635 MB/s
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 :
Argument Description
L'exemple lit à partir du fichier /dev/zero, un fichier spécial contenant un nombre illimité de zéros.
Fichier de sortie : fichier de sortie à écrire.
of
dd if=/dev/zero of=/tmp/swapex bs=1M count=50
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.
bs
dd if=/dev/zero of=/tmp/swapex bs=1M count=50
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
12. Déplacement de fichiers
mv SOURCE DESTINATION
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
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.
« Des pingouins dans l'espace ! La Nasa utilise Linux. La Station spatiale internationale fonctionne en
utilisant Linux. Nous avons migré les fonctions clés de Windows vers Linux car nous avions besoin d'un
système d'exploitation stable et fiable. » Curiosity, le Rover de Mars.
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
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.
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
sysadmin@localhost:~/Documents$ cp /etc/passwd .
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:
Cette ligne est l'entrée /etc/passwd relative à l'utilisateur sysadmin et fournit des informations
qui dépassent le cadre de ce cours. Pour en savoir plus, consultez NDG Linux Essentials.
L'exemple ci-dessus utilise un terme de recherche simple comme motif, mais grep est capable
d'interpréter des motifs de recherche beaucoup plus complexes.
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 :
Caractères regex
Signification
basiques
. Un seul caractère
Si premier caractère du motif, le motif doit être au début de la ligne pour correspondre,
^
sinon cela correspond à un caractère caret ^ littéral.
Si dernier caractère du motif, le motif doit être à la fin de la ligne pour correspondre,
$
sinon cela correspond à un signe dollar $ littéral.
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.
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
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 :
sysadmin@localhost:~/Documents$ grep sysadmin passwd
sysadmin:x:1001:1001:System Administrator,,,,:/home/sysadmin:/bin/bash
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 parroot, utilisez
le pattern ^ root. Notez que ^ doit être le premier caractère du motif pour fonctionner.
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$ :
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 :
sysadmin@localhost:~/Documents$ grep '[^0-9]' profile.txt
Hello my name is Joe.
I am 37 years old.
My favorite food is avocados.
I have 2 dogs.
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.
Le caractère d'expression régulière * est utilisé pour faire correspondre zéro ou plusieurs
occurrences d'un caractère ou d'un motif le précédant. Par exemple, e * correspond à zéro ou
plusieurs occurrences de la lettre e :
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 oou 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
sysadmin@localhost:~/Documents$ cd ~
« Linux est Open Source, ce qui le rend extrêmement polyvalent! Internet des objets, Big Data, cloud
computing, DevOps, cybersécurité, mise en réseau, gestion des données, etc. »
15. 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.
Réfléchissez à ceci
L'horloge de notre système peut être réglée sur un fuseau horaire différent de celui dans lequel
vous vous trouvez. Pour vérifier l'heure du terminal, utilisez la commande date. Sur nos
machines, le format par défaut de la sortie de la commande date est le suivant :
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 :
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
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 :
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
root@localhost:~# exit
logout
L'exécution d'une commande entraîne la création d'un processus en mémoire. Dans le système
d'exploitation Linux, les processus sont exécutés avec les privilèges de l'utilisateur qui exécute
la commande. Cela permet de limiter les processus à certaines fonctionnalités en fonction de
l'identité de l'utilisateur.
Bien qu'il existe des exceptions, le système d'exploitation différencie généralement les
utilisateurs selon qu'ils sont ou non l'administrateur. En règle générale, les utilisateurs normaux,
comme l'utilisateur sysadmin, ne peuvent pas contrôler les processus d'un autre utilisateur. Les
utilisateurs disposant de privilèges d'administration, comme le compte root, peuvent contrôler
tous les processus utilisateur, y compris l'arrêt de tout processus utilisateur.
La commande ps peut être utilisée pour lister les processus.
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
« L'embauche de talents Open Source est une priorité pour 97 % des responsables du recrutement interrogés
en 2021. »
La gestion des paquets est un système par lequel les logiciels peuvent être installés, mis à jour,
interrogés ou supprimés d'un système de fichiers. Sous Linux, il existe de nombreux systèmes
de gestion de paquets de logiciels différents, mais les plus populaires sont ceux de Debian et de
Red Hat. Les machines virtuelles de ce cours utilisent Ubuntu, un dérivé de Debian.
Au niveau le plus bas du système de gestion des paquets Debian se trouve la commande dpkg.
Cette commande peut être compliquée pour les utilisateurs débutant sur Linux et l'outil
Advanced Package Tool, apt-get, un programme frontal de l'outil dpkg, permet de rendre la la
gestion des paquets plus simple.
Veuillez noter :
Un programme frontal est un programme que les utilisateurs peuvent voir et avec lequel ils
peuvent interagir.
Poursuivons
La plupart des commandes de gestion des paquets nécessitent un accès administratif, de sorte
qu'elles seront précédées par la commande sudo. Utilisez netlab123 comme mot de passe lorsque
vous y êtes invité.
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.
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 :
Nous vous recommandons d'inclure l'argument entre guillemets simples pour empêcher le shell
d'interpréter les caractères spéciaux.
Mise à jour des paquets
La commande apt-get install peut également actualiser un paquet, si celui-ci est installé et qu'une
version plus récente est disponible. Si le paquet n'est pas sur le système, il sera installé ; s'il est
déjà sur le système, il sera mis à jour.
La mise à jour de tous les paquets du système doit se faire en deux étapes. Tout d'abord, mettez
à jour le cache avec tous les paquets disponibles avec apt-get update. Ensuite, exécutez la
commande apt-get upgrade et tous les paquets et dépendances seront mis à jour.
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.
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 :
Nom de
sysadmin Le nom de l'usager.
l'utilisateur
Le nombre minimum de jours qui doivent s'écouler avant que le mot de passe
Minimum 0
actuel puisse être modifié par l'utilisateur.
Maximum 99999 Le nombre maximum de jours restants avant que le mot de passe expire.
Poursuivons
Basculez le compte root à l'aide de la commande suivante. Utilisez netlab123 comme mot de
passe :
sysadmin@localhost:~$ su root
Password:
root@localhost:~#
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 :
Poursuivons
root@localhost:~# exit
exit
20. 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 :
sysadmin@localhost:~$ ls ~/Documents
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos
sysadmin@localhost:~$ ls fakefile
ls: cannot access fakefile: No such file or directory
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 :
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.
21. É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.
[nombre] motion
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
$ 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.
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.
21.4. 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!_
22. Aller plus loin
Nous espérons que vous avez apprécié cette brève introduction au monde de Linux. Le contenu
abordé ici est aligné sur les connaissances Linux couvertes par les objectifs de l'examen LPI
Linux Essentials, mais il y a tellement plus à découvrir ! Obtenez des compétences Linux d'un
niveau de certification pour faire avancer votre carrière !
Si vous souhaitez élargir vos connaissances Linux, Cisco Networking Academy propose
également trois cours Linux. NDG Linux Essentials est parfait pour les débutants qui cherchent à
saisir les bases, tandis que la série NDG Linux offre aux débutants une couverture approfondie
plus rigoureuse.
« 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.
22.3. 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.
« Les points forts du travail en open source. Open Source gère tout. Plus de possibilités de travailler à
distance. Modèle de développement collaboratif. 58% des professionnels déclarent avoir poursuivi une
carrière open source parce que la technologie moderne fonctionne sur open source. »
Félicitations pour avoir terminé ce court cours d'introduction à Linux! Vous venez d'apprendre
de nombreux concepts Linux qui peuvent vous aider à aller plus loin dans votre parcours
informatique. Nous avons souligné que Linux est partout. Nous avons également souligné que
l'apprentissage de Linux est bénéfique pour une grande variété de carrières technologiques.
Vous pouvez envisager de poursuivre vos études informatiques dans divers domaines, y
compris le réseautage, l'IoT et l'une des spécialités informatiques les plus demandées
actuellement, la cybersécurité.
L'un des défis les plus importants auxquels nous sommes confrontés aujourd'hui dans notre
univers numérique est la cybersécurité. Il y a une quantité croissante d'appareils intelligents qui
peuvent être connectés aux réseaux, ce qui est pratique pour les utilisateurs qui veulent rester
connectés. Cependant, cela peut également rendre les réseaux vulnérables aux personnes et aux
organisations qui tentent d'obtenir un accès malveillant aux appareils et aux réseaux. En
conséquence, le domaine de la cybersécurité se développe et, ces dernières années, la formation
des professionnels de la cybersécurité est devenue une priorité pour les institutions de
technologie de l'information.
La Cisco Network Academy a développé un programme de certification pour préparer les
personnes intéressées à un cheminement de carrière en cybersécurité. La certification Cisco
Certified CyberOps Associate est conçue pour fournir une connaissance des tâches spécifiques
prévues pour la surveillance des systèmes d'information. Dans cette optique, si vous
commencez à peine vos études informatiques, ou si vous êtes intéressé à explorer des chemins
en informatique, il peut être intéressant de noter qu'il existe une demande de professionnels
formés aux cyber opérations du CCNA.
« Soyez le héro de la cyber-sécurité informatique de votre entreprise. Cours NDG Linux, la façon intelligente
de se préparer pour Cisco Certified CyberOps Associate. »
La meilleure partie est que les compétences Linux de base couvertes par ce cours peuvent être
appliquées, avec une formation supplémentaire, à une formation Cisco Certified CyberOps
Associate. L'apprentissage des compétences Linux de base peut améliorer la capacité
d'effectuer des tâches spécifiques dans la formation Cisco Certified CyberOps Associate, ainsi
que la compréhension des concepts et des objectifs enseignés dans le cours Cisco Certified
CyberOps Associate.
Considérez que lorsqu'ils apprennent à surveiller et à détecter les menaces, les apprenants Cisco
Certified CyberOps Associate sont tenus de se renseigner sur les différents systèmes
d'exploitation et sur la façon de dépanner et d'analyser ces systèmes d'exploitation. Puisque
Linux est utilisé sur les appareils mobiles, les serveurs et les machines client-clients, il est
important d'apprendre à naviguer dans le système d'exploitation Linux. Pour cette raison,
l'analyse des serveurs fonctionnant sous Linux constitue un des principaux objectif
d'apprentissage Cisco Certified CyberOps Associate.
La compréhension de Linux permet aux étudiants en cybersécurité d'analyser le système de
fichiers Linux, de surveiller les serveurs Linux, ainsi que les machines client-machines,
périphériques et autres technologies fonctionnant sous Linux. Certaines des commandes et
outils abordés dans ce cours sont des exigences de base pour les compétences mentionnées ci-
dessus. Le tableau ci-dessous montre comment ce que vous avez appris dans ce cours est
bénéfique pour une piste d'apprentissage Cisco Certified CyberOps Associate:
Linux Unhatched objectifs d'apprentissage Compétences Cisco Certified CyberOps Associate
Éditeurs de texte
Modification et création de fichiers configuration
Permissions de fichier
Permissions utilisateurs et groupes
Accès Administratif Permissions
Mise à jour des mots de passe utilisateur
Configuration réseau
Configuration réseau
Dans ce cours, vous avez appris à effectuer des opérations Linux de base, des tâches
administratives et des tâches liées à la sécurité. Les professionnels de la cybersécurité doivent
savoir comment effectuer ces tâches sur une variété de systèmes d'exploitation, y compris
Windows, macOS et Linux. Les cours NDG Linux sont conçus pour enseigner une variété de
commandes, termes et utilitaires qui vous aideront à vous préparer à une carrière dans la
cybersécurité. Découvrez quelques-unes des commandes Linux nécessaires pour Cisco
Certified CyberOps Associate ci-dessous:
« Commandes Linux pour Cisco Certified CyberOps Associate. Les commandes incluent apt, cat, cd, ls, sudo,
tail, ssh et plus encore ! »
Pour en savoir plus sur Linux, les commandes et les utilitaires afin de créer une base de
connaissances Linux pour vous aider à poursuivre la formation qui est bénéfique pour une
formation Cisco Certified CyberOps Associate, consultez d'autres cours NDG Linux. Pour en
savoir plus sur le cours Cisco Certified CyberOps Associate, cliquez ici.