Académique Documents
Professionnel Documents
Culture Documents
Notions de base
12-16 novembre 2017
Omar AKHAM
II. Notions de base
➔
Commande
➔
Arborescence du système de fichiers GNU/Linux
➔
Manipulations des fichiers & répertoires
➔
Editeurs de texte
●
Les commandes UNIX sont de la forme générale
nom-de-commande [option(s)] [argument(s)]
ex : ls -l
cd ..
●
Le nom de la commande est toujours précisé
●
Une commande peut :
●
n'avoir ni option ni argument. ex : ls
●
être suivie par une (ou plusieurs) option(s). ex: ls -l -a
●
posséder un (ou plusieurs) argument(s). ex: cd /home
●
être suivie d'une combinaison d'option(s) et d'argument(s). ex: ls -al
/etc
●
Une option est souvent représentée par un lettre précédée du
caractère « - ».
●
Plusieurs options peuvent être séparées par des espaces mais
peuvent être aussi rassemblées pour former un mot précédé par
un caractère « - »
Ex :
ls -l
ls -a -l
ls -al
●
Un argument représente souvent le chemin dans l'arborescence du
système de fichiers.
●
Man est le programme de visualisation des pages de manuel.
●
Une page de manuel est constituée de plusieurs parties :
●
NOM,
●
SYNOPSIS,
●
DESCRIPTION,
●
OPTIONS, FICHIERS,
●
VOIR AUSSI,
●
BOGUES,
●
AUTEUR.
●
...
●
man <commande>
●
L’arborescence Linux est un ensemble de systèmes de fichiers raccordés
les uns aux autres
●
La racine (unique) est le « / » et se dénomme root
●
Pour faire simple, il existe deux grands types de fichiers sous Linux :
●
les fichiers classiques : ce sont les fichiers que vous connaissez, ça comprend les
fichiers texte (.txt, .doc, .odt…), les sons (.wav, .mp3, .ogg), mais aussi les
programmes. Bref, tout ça, ce sont des fichiers que vous connaissez et que vous
retrouvez dans Windows ;
●
les fichiers spéciaux : certains autres fichiers sont spéciaux car ils représentent
quelque chose. Par exemple, votre lecteur CD est un fichier pour Linux. Là où
Windows fait la distinction entre ce qui est un fichier et ce qui ne l'est pas, Linux,
lui, dit que tout est un fichier. C'est une conception très différente, un peu
déroutante comme je vous l'ai dit, mais pas de panique, vous allez vous y faire.
●
Les répertoires principaux de Linux :
Répertoire Description
/ Répertoire racine: contient l’ensemble des répertoires
/boot contient les fichiers nécessaires au démarrage du système
/bin contient les commandes majeures souvent utilisées (ls, mkdir, ...).
/etc contient les fichiers de configuration du système
/home est destiné à recevoir les répertoires personnel des utilisateurs
/root contient le répertoire personnel de l’administrateur (/root figure
dans le système de fichier racine)
/tmp regroupent les fichiers temporaires (créés pendant l’utilisation de
certains programme, comme les éditeurs)
/var est l’emplacement des données variables (travaux d’impressions
en attente, courrier électronique reçu ...)
●
Presque tout dans Unix / Linux est un fichier
●
Même les répertoires sont des fichiers, contenant une liste de
fichiers et de répertoires.
●
Depuis le début d’Unix, aucune limitation majeure quant à la
longueur d’un nom de fichier. Tout caractère (les espaces en
particulier) peut être utilisé dans le nom, et les extensions sont
facultatives. Les différences de majuscules ou de minuscules
constituent des fichiers distincts (ex: Document != document).
●
Un chemin («path») est une séquence de répertoires imbriqués,
avec un fichier ou un répertoire à la fin, séparés par le caractère
“/“
12-16 novembre 2017 Linux RH124 9
Arborescence système de fichiers
●
Il existe 2 notations de chemins :
Ex :
chemin absolu : /var/log/mesages
chemin relatif (depuis /home) : ../var/log/messages
●
Les répertoires spéciaux :
●
./ : répertoire courant
●
../ : répertoire parent
●
~/ : répertoire personnel de l'utilisateur courant
●
~omar/ : répertoire personnel de l'utilisateur
“omar“
●
pwd : permet d'afficher le chemin absolu du répertoire
courant
●
ls : permet de lister le contenu d'un répertoire
●
tree : permet d'afficher l'arborescence d'un répertoire
●
cd : pour changer de répertoire
●
cd sans option ni argument permet de se déplacer vers le
répertoire personnel de l'utilisateur courant (home
directory)
●
Visualisation de fichiers ou de répertoires
ls [option] [fichiers/répertoires]
options:
– l affiche les informations
– a liste tous les fichiers
– r ordre inverse
– t tri par date
– d liste le nom du répertoire
– -i liste les inodes
●
Changer de répertoire
cd <nom-du-repertoire>
Cas particuliers :
– cd ..
– cd ou cd ~
– cd -
12-16 novembre 2017 Linux RH124 13
Manipulation fichiers & répertoires
●
Substitutions sur noms de fichiers
●
Il est possible d'utiliser des caractères ‘‘joker’’ (des wildcards)
pour remplacer un caractère ou une chaîne de caractères :
* : remplace n’importe quelle chaîne de caractères (meme vide)
? : remplace un caractère
[xx] : remplace les caractères ou plage de caractères particuliers
{mot1, mot2, …} : essayer avec chaque mot
ex :
– 1[89]99 => 1899 et 1999
– 1[1-9]99 => 1199, 1299, 1399, 1499, 1599, 1699, ... 1999
– 1*ab => 1ab, 1agagagaggdegzgab, 111111111ab, ....
– *a* (tous les noms contenant la lettre a)
– [A-Z][a-z] tous les mots de 2 lettres commençant par une majuscule.
12-16 novembre 2017 Linux RH124 14
Manipulation fichiers & répertoires
●
ls *txt
L’interpréteur remplace d’abord *txt par tous les noms de
fichiers et de répertoires finissant par txt (y compris .txt), sauf
ceux commençant par ., et enfin exécute la ligne de commande
ls.
●
ls -d .*
Affiche tous les fichiers et les répertoires commençant par .
-d indique à ls de ne pas afficher le contenu des dossiers .*
●
ls /etc/{p,gr}*
Affiche tous les fichiers et les répertoires commençant par p ou
gr
12-16 novembre 2017 Linux RH124 15
Manipulation fichiers & répertoires
●
Création d'un répertoire
mkdir <nom du répertoire>
mkdir p rep1/rep2/rep3
mkdir tient compte du mask: umask 077
●
Suppresion d'un répertoire
rmdir <nom du répertoire>
supprime le répertoire uniquement s'il est vide
●
Pour créer un nouveau fichier vide: ●
Déplacement de fichiers et
touch <nom_du_fichier> de répertoires
mv <fichier source>
●
Copie de fichiers et de répertoires
<fichier destination>
cp <fichier source> <fichier
destination> mv <fichier source>
cp <fichier source> <répertoire <répertoire destination>
destination>
mv <liste de fichiers>
cp <liste de fichiers> <répertoire
destination> <répertoire destination>
options: options:
– i interactif
– p conserve les attributs
– i interactif
– r récursif – f force
●
Suppression de fichiers et de répertoires
rm <fichier(s)>
options:
– i interactif
– f force
– r récursif
●
Avant de modifier le contenu d’un fichier, vous
voudrez sans doute en afficher le contenu :
cat <nom_du_fichier>
●
De nombreux fichiers dépassent la taille d’un
écran. Pour que l’affichage s’arrête à la fin de
la page:
more <nom_du_fichier> ou less <nom_du_fichier>
●
ln : pour effectuer un lien sur un fichier
●
ln <fichier-source> <fichier-destination> (lien matériel)
●
ln –s <fichier-source> <fichier-destination> (lien symbolique)
●
Les liens « matériel » (hardlink) qui créent des noms différents pour
désigner un même espace sur le disque. Le fichier sera
effectivement supprimé lorsque le dernier lien sera détruit.
●
Les liens symboliques qui sont eux-mêmes de petits fichiers qui
contiennent un chemin d’accès vers un autre fichier : il peut donc
pointer vers un fichier qui n’existe pas.
●
La différence essentielle est qu’un lien symbolique peut pointer vers
un fichier appartenant à un autre système de fichiers.
Argument Definition
chemin Chemin relatif ou absolu d'un répertoire
expression Critères de recherche
action L'action à exécuter pour chaque résultat trouvé
●
Commande locate : Outil de recherche à base d’expressions régulières, une
alternative à find beaucoup plus rapide.
●
locate clé
Affiche tous les fichiers sur votre système contenant clé dans leur nom.
●
locate “*.pdf”
Affiche tous les fichiers *.pdf existant sur votre système.
●
locate “/home/frigo/*mousse*”
Affiche tous les fichiers *mousse* dans le répertoire indiqué (chemin absolu)
●
locate est bien plus rapide grâce à l’indexation de tous les fichiers dans une base de
données dédiée, qui est mise à jour régulièrement avec la commande updatedb.
●
find est plus adapté aux recherches sur les fichiers créés récemment.
●
Commande whereis : commande pour rechercher les fichiers
exécutables, les fichiers de configuration, les sources et les pages
de manuel de commande. La recherche s'effectue dans /bin,
/usr/bin, /etc … :
whereis <commande>
whereis last
last: /usr/bin/last /usr/share/man/man1/last.1.bz2
●
Commande which : commande pour rechercher les chemin vers
les fichiers exécutables :
which last
/usr/bin/last
●
Éditeurs de texte graphiques
●
Conviennent pour la plupart des besoins
– gvim
– Gedit, kate
– Emacs, Xemacs
●
Éditeurs en mode texte uniquement
●
Souvent indispensables aux administrateurs système et
parfaits pour les utilisateurs expérimentés
– vi
– nano
– Joe
– etc. .
L’éditeur « vi »
●
L’éditeur « vi » se trouve systématiquement sur
toutes les versions de Linux et surtout utile
lorsque l’on intervient sur une machine à distance.
Il fonctionne en deux modes différents le mode
‘édition’ et le mode ‘commande’ : on bascule de
l’un à l’autre par la commande « esc ».
●
Ouvrir un fichier avec l’éditeur vi
$ vi <nom-de-fichier>
12-16 novembre 2017 Linux RH124 27
Editeur Vi
●
Entrée dans l'éditeur :
$ vi <nom_de_fichier>
●
Sortie de l'éditeur :
●
:x ou :wq enregistrement du fichier et sortie de l'éditeur
●
:q! sortie de l'éditeur sans enregistrement
●
:w nom Sauvegarder dans le fichier “nom”
●
:x,y w nom Sauvegarde les lignes de x à y dans le fichier “nom”
●
:f Affiche des informations sur le fichier en bas de l’affichage
●
Modes de foctionnement :
●
commande
●
edition
●
i,I,a,A,o,O Passer en mode édition
●
[Esc] Passer en mode commande (depuis le mode édition)
●
Visuel (v pour activer ce mode)
●
Déplacement dans le texte :
●
l vers la droite
●
h vers la gauche
●
j vers le haut
●
k vers le bas
●
L se déplace sur la dernière ligne de la page courante
●
H se déplace sur la première ligne de la page
courante
●
nG se déplace sur la ligne « n » du fichier courant
●
Recherche :
●
/mot<Return> recherche mot vers l'avant
●
?mot<Return> recherche mot vers l'arrière
●
n répète la dernière recherche (next)
●
Insertion :
●
On se met en mode insertion en tapant au choix I, i, a, A, o, O suivi du
texte à insérer et terminé par la touche <esc> :
– i... <esc> avant le curseur
– I... <esc> début de ligne courante
– a... <esc> après le curseur
– A... <esc> ajout en fin de ligne courante
– o... <esc> au-dessous de la ligne courante
– O... <esc> au-dessus de la ligne courante
●
Remplacement :
●
r# remplace le caractère courant par le caractère #
●
R...<esc> remplace une chaîne de caractère
●
:1,$s/ch1/ch2/g remplacer chaque occurence de ch1 par ch2, en partant de la
ligne 1 et jusqu’à la fin du texte
●
Effacement :
●
x du caractère sous le curseur
●
nx de n caractères à partir du curseur
●
dd de la ligne ou se trouve le curseur
●
ndd de n lignes à partir de la ligne courante
●
Copier - coller
●
yy ou ny (yank) copier une ou n lignes
●
P (paste) insérer (coller)
●
Annuler les modifications
●
u (Undo). Annuler la dernière modification(Undo).
●
U Annuler toutes les modifications sur une ligne,
tant que l’on n’en est pas sorti
●
Aide :
●
Pour obtenir plus d'information sur l'éditeur
taper : help
●
Pour lancer le tutoriel : vimtutor ou vimtutor fr