Vous êtes sur la page 1sur 39

• Exemples:

• echo *
Tous les fichiers sauf ceux dont le nom commence par un point
• echo *c
Tous les fichiers dont le nom se termine par un ‘c’
• echo .*
Tous les fichiers dont le nom commence par un point
• echo [0-9]*
Tous les fichiers dont le nom commence par un chiffre
• Exemples de commande:

• Date
• touch fic
crée un fichier vide fic

• whoami
affiche le nom de l’utilisateur connecté

• echo
affiche un message (echo "bonjour ! »)
• méta caractères - Caractères spéciaux:

^ * ? \ ; & < > | >> ! ~ ^ [ -


] { } $ @ ( ) # /

• L'astérisque ou étoile: *
• interprété comme toute suite de caractères alphanumériques
• utiliser avec précaution (commande rm * par ex...)

• Le point d’interrogation: ?
• remplace 1 seul caractère alphanumérique
• Le point-virgule: ;
• Séparateur de commandes
• Les crochets: []
• Remplace un caractère choisi parmi ceux énumérés
entre les crochets
• [a-Z] : les lettres
• Exemples :
• [Aa] désigne les caractères A ou a ;
[0-9a-zA-Z] désigne un caractère alphanumérique
quelconque.
• [!0-9] désigne l'ensemble des caractères sauf les chiffres.
- méta caractères - Caractères spéciaux:
• L’anti-slash: \
• Inhibe la signification du méta-caractère qui suit

• Attention aux guillemets et aux « quotes », ils ont


également une signification particulière :

• ' ' quotes


• " " doubles quotes ou guillemets
•` back quote
- méta caractères - Caractères spéciaux:
• Interprétation des chaînes de caractères
• Texte entre '' (simples quotes): le texte n’est pas
interprété mais considéré comme un mot
• Texte entre "" (doubles quotes): seuls sont
interprétés les métacaractères $, \ et `
• Texte entre `` (anti quotes, back quote ): considéré
comme une commande à interpréter, et c’est le
résultat qui sera utilisé.
$ echo \* => le caractère * perd sa signification de
caractère générique
*
$ echo *
tata toto
$
$ echo \\ => le deuxième caractère \ perd sa signification de caractère de
protection

\
$ echo N\'oublie pas !
N'oublie pas !
$
• Le caractère \ permet également d’ôter la signification
de la touche Entrée. Cela a pour effet d’aller à la ligne
sans qu’il y ait exécution de la commande.

$ echo coucou \Entrée

>salut Entrée => terminaison de la commande : le


shell l’exécute !

$ coucou salut
à l’intérieur d’une paire de guillemets "" le caractère $ sera
quand même interprété comme une substitution.

$ echo "< * $PWD * >"


< * /home/rachid * >
$
$ echo "< * \"$PWD\" * > "
< * "/home/rachid" * >
$
Protection totale 'chaîne'
Entre une paire d’apostrophes (ʹ), aucun caractère
de chaîne (sauf le caractère ') n'est interprété.

$ echo '< * $PWD * >'


< * $PWD * >
$
• Exemples :

$ echo $EMAIL

rachid@multimania.com

$ echo "Mon mail : $EMAIL"

Mon mail : cyberzoide@multimania.com

$ echo 'Mon mail : $EMAIL'

Mon mail : $EMAIL


$ echo \?\*\$
?*$
$ echo \\\?\\\*\\\$
\?\*\$
$ echo '$?*'
$?*
$ echo ” ’ ” ’ ” ’
’"
Quand on juxtapose deux chaînes de caractères quotées,
le shell les concatène, et elles ne forment qu'un
argument.
Les métacaractères

• Syntaxe
• ; sépare les commandes
• & lance en tâche de fond
• || séparateur conditionnel, si échoue
• && séparateur conditionnel, si succès

• commande1; commande2 : exécute commande1, puis commande2

• commande1 & : le système lance commande1 et redonne immédiatement


la main à l’utilisateur pour d’autres travaux

• commande1 || commande2 : exécute commande1, si le code de retour


est mauvais alors il exécute commande2

• commande1 && commande2 : exécute commande1, si le code de retour


est bon alors il exécute commande2
vLe système de fichiers
• Stocke les données:
• de façon hiérarchique
• structure arborescente
• TOUT est fichier
• 3 types de fichiers:
• fichiers ordinaires
• répertoires
• fichiers spéciaux (périph., …)
v système de fichiers

• Le système de fichier offre à l’utilisateur une vision homogène et structurée


des données et des ressources : disques, mémoires, périphériques.

• Le système gère la création des fichiers, leur destruction, leur correspondance


avec les dispositifs physiques, ainsi qu’un certain nombre d’autres
caractéristiques, telles que la protection .

• Il les organise enfin, en général, en une structure arborescente


Ø Système de fichiers
• Arborescence de répertoires et de fichiers
• Répertoire courant = .
• Répertoire parent = ..
• Répertoire racine = /
• Répertoire d’accueil = ~
(exemple : /home/nestor)

1
6
Ø Système de fichiers

• Répertoire (par exemple) :


• /home/votrelogin/

• Par exemple, /home/rachid

• Chemin absolu d'un fichier (nom absolu)


• « / » + liste des répertoires traversés pour y accéder
Remarque :
• Par exemple, /home/rachid/cours/index.html Commence par « / »

• Chemin relatif d'un fichier (nom relatif)


• Liste des répertoires traversés à partir du répertoire dans lequel on se trouve à ce
moment là

• Par exemple, je suis dans /home/rachid, je veux accéder à /home/rachid/public-


1
7
html/cours/index.html

./public-html/cours/index.html
Ø Système de fichiers
• ls : affiche la liste des fichiers et répertoires

• options courantes de ls :

• -l : affichage des fichiers avec les champs suivants


• permissions

• nombre de références (sous répertoires ou liens)

• utilisateur

• groupe

• taille

• date de dernière modification

• nom

• -a : affichage de tous les fichiers même « cachés » (i.e. les fichiers


commençant par un .)

• -R : affichage récursif (répertoires à sous-répertoires à …)


Ø ls avec options

• Les principales options sont :


• -l : format détaillé
• -a : liste aussi les fichiers qui commencent par « . »
•-t : affiche en triant par date de dernière modification
• -g : affiche les informations sur le groupe

Autorisation d’accès propriétaire Taille du fichier Nom du fichier

drwxrwxrwx 6 elkhyari profs 8425 Mar 2 11:38 Tps_Linux/

Type du fichier Nb de liens groupe date de dernière


qui amènent modification
au même fichier
Ø Type du fichier

• L’indicateur du type de fichier peut prendre :


• - : un fichier ordinaire
• d : un répertoire
• l : un lien symbolique
• b : un fichier spécial de type bloc (périphériques …)
• c : un fichier spécial de type caractère (périphériques …)
• s : socket
•…
Ø Commandes Fichiers

• touch mon-fichier : création d'un fichier vide

• more mon-fichier : visualisation d'un fichier par page

• rm mon-fichier : suppression

• mv mon-fichier répertoire : déplacer

• mv mon-fichier nouveau-nom : renommer

• cp nom-fichier répertoire-d'accueil/autre-nom : copie

• file mon-fichier : type de fichier


ØOpérations sur les fichiers textes

§ cat <fichier> : affiche le contenu du fichier


§ more : Similaire à cat mais l'affichage s'arrête en fonction de la taille du
terminal, il suffit de taper espace pour faire défiler le texte
§ less : Similaire à more mais en mieux
§ touch : touch <toto> : crée un fichier “toto” vide
§ grep : grep <motif> <fichier> : affiche les lignes du fichier contenant le
“motif”
- l'option -i permet d'ignorer la casse
- l'option -v permet d'inverser la recherche (“tout sauf ...”)
Commandes liées aux répertoires

• La commande servant à créer des répertoires est :


mkdir [options] répertoires… (make directory)

• Il suffit d’avoir le droit d’écrire (w) dans le répertoire père

• Pour créer une arborescence entière, on utilise l’option –p


Exemple : créer l’arborescence ~/TP_Linux/TP_Groupe1
mkdir –p TP_Linux/TP_Groupe1

• La commande servant à supprimer un répertoire est :


rmkdir répertoire (remove directory)
• Le répertoire doit être vide
Commandes liées aux répertoires

• La commande servant à déplacer des répertoires est :


mv répertoire répertoire-d’accueil
mv répertoire nouveau-nom

• Il suffit d’avoir le droit d’écrire (w) dans le répertoire père

La commande servant Connaitre le repertoire courant “Print Working


Directory”

pwd
Ø Fichiers et répertoires
Listage, taille et arborescence
du (“Disk Usage”) : affiche des informations sur l'occupation du disque :

Exemple :
# du -h
24k ./doc
432k ./lib
236k ./patches
8.0k ./packaging/lsb
8.0k ./packaging/solaris
20k ./packaging
92k ./testsuite
6.2M .

df (“Disk Free”) : affiche l'espace libre et l'espace utilisé d'un disque :


Exemple :
turing:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda1 109G 14G 89G 14% /
Ø Fichiers et répertoires

• cp (“Copy”) : copier un fichier/répertoire


- Syntaxe : cp <fichier source> <fichier destination>

1- cp aaa bbb : copie aaa en bbb si bbb n'est pas un répertoire, sinon, copie aaa dans
bbb
2- si bbb est un fichier déjà existant, il sera remplacé par la copie de aaa

Les options de cp :

-i : confirmation de copie
-f : retrait de tout genre de confirmation
-r : copie récursive (répertoires)
-rf : copie récursive sans confirmation
ØFichiers et répertoires

• mv (“Move”) : déplacer (ou renommer) un fichier/répertoire


- Syntaxe similaire à cp : mv <source> <destination>
- La différence est que le fichier source est supprimé (il est déplacé à
l'emplacement spécifié en destination)
ØFichiers et répertoires

• rm (“Remove”) : supprimer un fichier/répertoire


- Syntaxe : “rm <fichier>” ou “rm -r <répertoire>”

Les options de rm :

-i : confirmation de suppression
-f : retrait de tout genre de confirmation
-r : suppression récursive (répertoires)
-rf : suppression récursive sans confirmation (DANGEREUX !!!)
Ø Les liens
• Liens physiques
ln <nom_fic> <nouveau_nom_fic>
• permet de donner plusieurs noms à un fichier
• pas pour les répertoires
• ne traverse pas les partitions
• un fic est détruit quand TOUS ses liens physiques sont supprimés (≠
raccourcis)

• Liens symboliques
ln -s <nom_fic> <nouveau_nom_fic>
• crée un raccourci
• traverse les partitions
• fonctionne aussi pour les répertoires

• Lister les liens d’un fichier: ls -l <nom_fic>


ØFichiers et répertoires

Archivage et compression
tar : permet de créer et de récupérer une archive
Syntaxe :
- tar cvf archive.tar fichier1 fichier2 fichier3 ...
pour créer une archive contenant les fichiers 1 à 3

- tar xvf archive.tar


pour récupèrer les fichiers contenus dans l'archive

gzip et bzip2
- permettent de compresser/décompresser des fichiers

Association de tar et de gzip/bzip2 : meilleure compression


Exemple : tar xfz archive.tar.gz / tar xfj archive.tar.bz2
Ø Les alias

• On peut lancer des commandes qui ne possèdent pas un exécutable


du même nom en créant un alias avec la commande alias du shell
alias nom_alias=‘commandes’

% alias ll=‘ls –l’


% ll
-rw-r----- 1 rachid profs 362514 Sep 5 12:40 Cours.tex
drw-r--rw- 4 rachid profs 10 Jan 7 15:41 Recherche/

• La liste des alias peut être obtenu par la commande : alias

% alias
b=‘/bin’
ll=‘ls –l’
rm=‘rm –i‘

• On peut enlever un alias en utilisant la commande : unalias


unalias nom_alias
Ø Propriétés et droit d’accès

• Un fichier (ou un répertoire) appartient à un utilisateur et


au groupe de l’utilisateur

• Chaque fichier est affecté d’un type et des droits d’accès

3
2
• Accès aux fichiers réglementé
(sauf: tous les droits pour root)
• 3 types d’utilisateurs:
• propriétaire (user)
• personnes du mm groupe (group)
• les autres (others)
• 3 types de permissions
• lecture (r) afficher le contenu afficher le contenu
• écriture (w) modifier créer/supp fichiers
• exécution (x) exécuter traverser
fichier répertoire
• Affichage des caractéristiques: ls -
groupe
l
-rw-r--r-- 1 rachid ensa1 58K 16 Jul 09:19 tp1.tex
nb liens propriétaire taille date nom

group
type

-rw-r--r--
user others
• Changer les permissions: chmod
chmod <classe op perm, …>|nnn <fic>

• classe: – chaque perm = 1 valeur:


u : user r 4
g : group w 2
o : others x 1
a : all rien 0
• op:
= : affectation – déf. des permissions (par addition) pour chaque classe
- : suppr.
+ : ajout
• perm:
r : lecture exemples:
w : écriture chmod u=rwx,g=rx,o=rx tp1.tex
x : exécution chmod a+x script.sh
chmod 755 script.sh
Ø Modification des droits d’accès aux fichiers

• La protection d’un fichier ne peut être modifier que par le propriétaire


• La commande utilisée est : chmod (Change MODe)
• Il existe deux modes d’utilisation de cette commande :

Par un nombre octal Symbolique

% chmod [nombre octal] fichier % chmod [who]op[permission] fichier

rwx r-x r-- who : est une combinaison de lettre


u = user = propriétaire
111 101 100
g = groupe
o = other = autres
754 a = all = tous = ugo
op : + ajoute un droit d’accès
Représentation binaire - supprime un droit d’accès
7 = 1x2^2 + 1x2^1 + 1x2^0
= affecte un droit de manière absolue
5 = 1x2^2 + 0x2^1 + 1x2^0 permission : r, w, x
Ø Modification des droits d’accès aux fichiers

Exemple :
% ls –l Cours.tex
-rw-r----- 1 elkhyari profs 362514 Sep 5 12:40 Cours.tex
% chmod 777 Cours.tex
% ls –l Cours.tex
-rwxrwxrwx 1 elkhyari profs 362514 Sep 5 12:40 Cours.tex
% chmod g-w,o-wx Cours.tex
% ls –l Cours.tex
-rwxr-xr-- 1 elkhyari profs 362514 Sep 5 12:40 Cours.tex
% chmod go=r Cours.tex
% ls –l Cours.tex
-rwxr--r-- 1 elkhyari profs 362514 Sep 5 12:40 Cours.tex
Ø Droits d’accès à la création d’un fichier
• La protection d’un fichier, le nom du propriétaire et le nom du groupe
auquel vous appartenez sont établis à sa création
• Ces paramètres ne peuvent être modifiés que par son propriétaire
• La commande permettant de définir un masque de protection des
Fichiers (et répertoires) est : umask
• la commande umask dans un terminal donne la valeur par defaut
Il existe deux modes d’utilisation de cette commande :

Par un nombre octal Symbolique


% umask [nombre base 8] % umask [who]op[permission]
permission
111 111 111 permanente
111 101 100 à 754 % umask u=rwx,g=rx,o=r
% umask
000 010 011
023
% umask -S
023 u=rwx, g=rx, o=r
% umask 023

Question : umask 002 ????????


Ø Droits d’accès aux répertoires

• L’interprétation des droits est différente de celle des fichiers


• Les informations concernant un répertoire est données par la commande : ls –dl répertoire

• L’interprétation des protections est :


r : autorise la lecture du contenu du répertoire, permet de voir la liste des fichiers (et
sous-répertoires) contenu dans le répertoire. Permet de lister le contenu avec ls

x : autorise l’accès au répertoire ( à l’aide de la commande cd).

w : autorise la création, la suppression et le changement du nom d’un élément du


répertoire. Cette permission est indépendante de l’accès aux fichiers du répertoire.

Vous aimerez peut-être aussi