0% ont trouvé ce document utile (0 vote)
36 vues39 pages

Commandes de base Linux et métacaractères

Ce document décrit divers méta-caractères et commandes utilisés dans la ligne de commande Linux pour manipuler les fichiers et répertoires, notamment ls, cat, grep, touch, mkdir, rmdir, mv, du et df.

Transféré par

kezadfati
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
36 vues39 pages

Commandes de base Linux et métacaractères

Ce document décrit divers méta-caractères et commandes utilisés dans la ligne de commande Linux pour manipuler les fichiers et répertoires, notamment ls, cat, grep, touch, mkdir, rmdir, mv, du et df.

Transféré par

kezadfati
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

• 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

[email protected]

$ echo "Mon mail : $EMAIL"

Mon mail : [email protected]

$ 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