Académique Documents
Professionnel Documents
Culture Documents
4
Notion de chemin
Il s’agit de l’emplacement d’un fichier ou d’un répertoire dans
l’arborescence du système de fichier. Les différents types de
chemins que nous pouvons avoir sont les suivants :
• « / »: chemin absolu à partir de la racine.
• « ~ »: chemin relatif au répertoire d’accueil (home).
• « . »: chemin relatif au répertoire courant.
• « .. »: chemin relatif au répertoire père.
• Remarque: les fichiers cachés sous linux commencent par un
point.
• Exemple:
~/.bashrc : est un fichier caché dans le répertoire home de
l’utilisateur, qui contient la configuration de son shell.
5
Définition d’une commande
• Une commande est l’exécution d’un programme dans
l’interprète (shell).
• Elle prend en entrée des options et/ou des paramètres.
• Elle peut afficher de l’information à l’écran ou dans un fichier,
modifier un fichier ou produire un message d’erreur.
• Une description de toutes les commandes est disponible avec la
commande « man » ou « help ».
• Intérêts :
Historiquement : pas d’interface graphique
Commandes complexes : interfaces graphiques peu adaptées
Efficacité : souvent plus rapide d’utiliser une commande que
l’interface graphique.
Gestion à distance
6
Commandes de navigation
Les commandes de navigation sont très utiles pour se retrouver en mode texte, les
plus utilisées sont les suivantes :
• pwd (Print Working Directory): retourne le chemin absolu du répertoire
courant.
• cd (Change Directory): change le répertoire courant. Sans argument, ramène
dans le répertoire de connexion (home).
• ls (List): affiche le contenu du répertoire courant.
Exemples:
cd .. : va dans le répertoire père du répertoire courant
cd nom-rep: le répertoire de travail devient le répertoire nom-rep.
ls –l nom-rep: affiche le contenu du répertoire nom-rep de manière détaillée (nom
des fichiers /sous répertoires, tailles, droits, propriétaire, date de dernière
modification, etc).
ls –a /home/user: affiche le contenu du répertoire courant ainsi que les fichiers
cachés.
7
Commandes de manipulation des fichiers et
des répertoires
Les principales commandes de manipulation des fichiers et des
répertoires sont les suivantes :
• touch: commande de création d’un fichier.
• touch nom-fic: si le fichier existe, mettre à jour la date de la dernière
modification. Sinon, créer un fichier vide avec le nom nom-fic.
• cat nom-fic: affiche le contenu du fichier nom-fic dans le terminal.
• more nom-fic: idem, mais page par page.
• cp (Copy): pour copier un fichier.
• cp ancien-fic nouveau-fic: copier le fichier ancien-fic dans
nouveau-fic.
• mv (move): pour déplacer un fichier.
• mv ancien nouveau: déplacer le fichier ancien dans nouveau, en le
renommant si nouveau désigne un fichier.
• rm (remove): pour effacer un fichier.
8
Création et suppression de répertoire
mkdir (Make Directory): créer un répertoire.
rmdir (Remove Directory): effacer un répertoire s’il est vide.
Exemples:
mkdir /home/user/mesdocuments : crée le répertoire mes
documents dans le sous répertoire home/user.
rmdir /home/user/TP : efface le répertoire TP de home/user si
celui-ci est vide.
9
Méta-caractères du shell
*: Toute chaîne de caractères ne commençant pas par « . »
?: Un caractère quelconque.
[abc]: Un caractère quelconque parmi a, b ou c.
[a-d]: Un caractère quelconque dans la plage allant du caractère a au
caractère d.
{1..4}: Spécifie l’ensemble d’éléments qui vont de 1 à 4.
Exemples:
ls –l *.txt : Affiche seulement les fichiers ayant l’extension txt.
rm td[1-3].pdf : Efface les fichiers td1.pdf, td2.pdf et td3.pdf.
touch td-M11{05,21}.pdf : Met à jour la date (ou crée) les fichiers
td-M1105.pdf et td-M1121.pdf.
cp /tmp/?2018.data : Copie dans le répertoire courant tous les
fichiers qui sont dans le répertoitr /tmp dont le nom est composé
d’une chaîne de cinq caractères qui se termine par 2018 et qui ont
10
l’extension data.
Commandes de recherche
Les commandes de recherche les plus utilisées sont les suivantes :
• find: Trouve un fichier répondant à certains critères.
• grep: recherche une chaîne dans un fichier.
• which: Trouve le répertoire dans le lequel se trouve une
commande.
Exemples:
find /home –name ‘*bash*’ : Trouve tous les fichiers contenant le
mot bash dans leur nom se retrouvant dans le répertoire home.
grep chaine *.txt : Recherche ‘chaine’ dans tous les fichiers dont
l’extension est txt.
which ps : Retourne le nom du répertoire dans lequel se trouve la
commande ps.
11
Redirections des entrées/sorties (1)
• Chaque programme sous linux dispose au moins de deux flux de
données:
l’entrée standard, utilisée en lecture, qui est normalement associée
au clavier du terminal, et
la sortie standard, utilisée en écriture, normalement associée à l’
écran du terminal (ou à la fenêtre de lancement le cas échéant).
• Il est très simple de rediriger l’entrée ou la sortie standard d’un
programme lors de son lancement depuis un shell.
• Pour la sortie, on utilise la commande suivante :
ls > resultat
• Dans ce cas, au lieu d’afficher sur l’écran, la commande ls va créer
un fichier nommé ici résultat et y écrire.
Rien n'apparaît à l’écran (sauf s’il se produit une erreur).
12
Redirections des entrées/sorties (2)
• Si l’on désire ne pas effacer l’ancien contenu du fichier, mais écrire
à sa fin, on peut utiliser >> :
ls >> resultats
• Pour rediriger l’entrée standard, on utilise < :
cat < UnFichier
• Il est possible de rediriger l’entrée et la sortie en même temps :
cat < UnFichier > Resultat
• Il existe aussi un troisième flux standard, utilisé pour l’écriture des
messages d’erreur (nommé stderr en C). Il se redirige avec >& .
• Il est possible de réaliser une redirection vers une autre commande
commande1 | commande2
• Toutes les données affichées en sortie par la commande 1 sont
envoyées à la commande 2 qui les prend comme entrée.
13
Droits d’accès aux fichiers
• On spécifie pour chaque ressource 3 groupes de droits
d’accès:
Les droits du propriétaire: user
Les droits des utilisateurs appartenant au même groupe que le
propriétaire: group
Les autres: others
• Pour chaque groupe, il existe 3 types de droits d’accès:
Le droit de lecture (read) désigné par: r
Le droit d’écriture (write) désigné par: w
Le droit d’exécution (execute) désigné par: x
14
Codage des droits d’accès
• Les droits d’accès sont codés sur 9 bits:
15
Manipulation des droits d’accès
• chmod droits référence : Changer les droits d’accès de référence.
Les droits d’accès peuvent être exprimés de deux manières:
• code octal : chmod 640 exemple.txt
• code symbolique : chmod cible opérateur droit
cible: u (user), g (group), o (others)
opérateur: + (ajouter), - (enlever), = (attribuer seulement ces droits)
droit: r (read), w (write), x (exécuter)
Exemples:
chmod ug + rw , u + x nom_fic : Le propriétaire et le groupe ont le
droit de lire et de modifier, le propriétaire a le droit d’exécuter. Les
autres droits restent inchangés.
chmod o = g , o - x nom_fic : Les autres ont les mêmes droits que le
groupe mais sans le droit d’exécution.
16
Manipulation des comptes utilisateurs et
des groupes
Les commandes de création et de suppression de compte utilisateur
et de groupe sont les suivantes :
• sudo adduser nom_utilisateur: permet de créer un nouvel utilisateur.
• sudo addgroup nom_groupe: permet d’ajouter un nouveau groupe.
• sudo adduser nom_utilisateur nom_groupe: permet d’affecter un
compte utilisateur au nouveau groupe.
Remarque: le fichier /etc/passwd contient des informations sur les
comptes utilisateurs (nom_utilisateur, mot de passe, uuid, guid, etc.)
• sudo deluser nom_utilisateur: permet de supprimer un compte
utilisateur et son groupe primaire.
• sudo delgroup nom_groupe: permet de supprimer un groupe.
17
Les Scripts
• Les scripts sont des programmes écrits dans un langage interprété
(langage du shell).
• Un script peut être une simple liste de commandes.
• La première ligne du script doit préciser l’interpréteur utilisé, elle
commence par les deux caractères #!, suivis du chemin absolu de
l’interpréteur.
Exemple : #!/bin/bash
• Le script doit être entré à l’aide d’un éditeur de texte, enregistré
dans un fichier, puis rendu exécutable grâce à la
commande chmod.
Remarque: Il est possible aussi d’écrire des scripts plus sophistiqués
(avec arguments, tests, boucles, etc.)
18
Les Scripts
Exemple
Le script suivant affiche le contenu du répertoire courant:
#!/bin/bash
echo Contenu du repertoire courant
ls -l
echo Fin de la commande
• Si le script précédent est nommé par exemple « liste » donc il faut
d’abord le rendre exécutable à l’aide de la commande suivante :
$ chmod a+x liste
• Exécution du script :
$ liste
19