Vous êtes sur la page 1sur 32

Atelier Linux

« Redhat Admin I - RH124 »

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

12-16 novembre 2017 Linux RH124 2


Commande


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

12-16 novembre 2017 Linux RH124 3


Commande


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.

12-16 novembre 2017 Linux RH124 4


Commande


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>

12-16 novembre 2017 Linux RH124 5


Arborescence système de fichiers


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.

12-16 novembre 2017 Linux RH124 6


Arborescence système de fichiers

12-16 novembre 2017 Linux RH124 7


Arborescence système de fichiers


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 ...)

12-16 novembre 2017 Linux RH124 8


Arborescence système de fichiers


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 :

– Absolu : représente l'arborescence complète à partir de la racine / et


commence toujours par « / ».

– Relatif : représente l'arborescence depuis le répertoire courant et ne


commence jamais par « / ».

Ex :
chemin absolu : /var/log/mesages
chemin relatif (depuis /home) : ../var/log/messages

chemin absolu : /home/cnf/lpi


chemin relatif (depuis /home/cnf) : lpi

12-16 novembre 2017 Linux RH124 10


Arborescence système de fichiers


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“

12-16 novembre 2017 Linux RH124 11


Manipulation fichiers & répertoires


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)

12-16 novembre 2017 Linux RH124 12


Manipulation fichiers & répertoires


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

12-16 novembre 2017 Linux RH124 16


Manipulation fichiers & répertoires


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

12-16 novembre 2017 Linux RH124 17


Manipulation fichiers & répertoires


Suppression de fichiers et de répertoires
rm <fichier(s)>

options:
– i interactif
– f force
– r récursif

12-16 novembre 2017 Linux RH124 18


Manipulation fichiers & répertoires


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>

12-16 novembre 2017 Linux RH124 19


Manipulation fichiers & répertoires


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.

12-16 novembre 2017 Linux RH124 20


Recherche de fichiers & dossiers

find <chemins> <expressions> <actions>

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é

12-16 novembre 2017 Linux RH124 21


Recherche de fichiers & dossiers

find <chemins> <expressions> <actions>


– Les expressions de la commande find
Expression Definition
-name filename Finds files matching the specified filename .
Metacharacters are acceptable if placed inside “ “.
-size [+|-]n Finds files that are larger than +n , smaller than –n , or
exactly n . The n represents 512-byte blocks.
-atime [+|-]n Finds files that have been accessed more than +n days,
less than -n days, or exactly n days.
-mtime [+|-]n Finds files that have been modified more than +n days
ago, less than -n days ago, or exactly n days ago.
-user loginID Finds all files that are owned by the loginID name.
-type Finds a file type, for example, f (file) or d (directory).
-perm Finds files that have certain access permission bits.

12-16 novembre 2017 Linux RH124 22


Recherche de fichiers & dossiers

find <chemins> <expressions> <actions>


– Les actions de la commande find
Action Definition
-exec command {} \; Runs the specified command on each file located. A set of
braces, {}, delimits where the file name is passed to the
command from the preceding expressions. A space,
backslash, and semicolon ( \;) delimits the end of the
command. There must be a space before the backslash (\).
-ok command {} \; Requires confirmation before the find command applies the
command to each file located. This is the interactive form
of the -exec command.
-print Instructs the find command to print the current path name
to the terminal screen. This is the default.
-ls Displays the current path name and associated statistics,
such as the inode number, the size in kilobytes, protection
mode, the number of hard links, and the user.

12-16 novembre 2017 Linux RH124 23


Manipulation fichiers & répertoires


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.

12-16 novembre 2017 Linux RH124 24


Manipulation fichiers & répertoires


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

12-16 novembre 2017 Linux RH124 25


Editeurs de texte


É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. .

12-16 novembre 2017 Linux RH124 26


Editeur Vi

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)

12-16 novembre 2017 Linux RH124 28


Editeur Vi


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

12-16 novembre 2017 Linux RH124 29


Editeur Vi


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

12-16 novembre 2017 Linux RH124 30


Editeur Vi


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)

12-16 novembre 2017 Linux RH124 31


Editeur Vi


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

12-16 novembre 2017 Linux RH124 32

Vous aimerez peut-être aussi