View
214
Download
0
Category
Preview:
Citation preview
MANSOUR Sihem
Les commandes de base sous Shell
TP 2 Linux
Plan du cours
2
1. Présentation su Shell
2. Invite de commande
3. Présentation des commandes Shell
4. Les fichiers sous Shell
5. Manipulation des commandes de base sous Shell
Ens: MANSOUR Sihem
Présentation du Shell
3
Shell un nom anglais qui signifie «coquille».
Le shell est chargé de faire l'intermédiaire entre le système d'exploitation et
l'utilisateur grâce aux lignes de commandes saisies par ce dernier. Son rôle
consiste ainsi à lire la ligne de commande, interpréter sa signification,
exécuter la commande, puis retourner le résultat sur les sorties.
Il existe plusieurs shells possédant chacun des spécifications qui lui sont
propres (compétence, interactivité).
Le choix de shell dépend du système installé ou de préférence de l’utilisateur.
Ens: MANSOUR Sihem
Présentation du Shell
4
Voici une liste non exhaustive des différentes Shells:
Bash(Bourne Again Shell): est utilisé par défaut
sur la plupart des distributions (nous allons l’utiliser
dans le reste de nos TPS)
Csh (C shell), développé par l’université de
Berkeley, utilisé par les systèmes BSD
Sh, le shell original développé par Steve Bourne
Ens: MANSOUR Sihem
Présentation du Shell
5
Pour avoir une idée les
différents Shells installés sur
votre système, taper la
commande
cat /etc/shells
Ens: MANSOUR Sihem
Invite de commande
6
Lorsque vous ouvrez le terminal, la
première chose que vous voyez est l’invite
de commande
Avec Bash Shell, l’invite de commade par
défaut prend la forme:
machine:/repertoire/courant$
«$» indique qu'il s'agit d'un utilisateur
normal
«#» indique qu'il s'agit de l'administrateur,
appelé «root»
Ens: MANSOUR Sihem
Passer en super-utilisateur
7
Si vous voulez vous connecter entant que super
utilisateur ou (root), taper la commande
sudo su
Ens: MANSOUR Sihem
Présentation des commandes Shell
8
La forme des commandes Shell
Les commande Shell sont de la forme générale suivante:
nom_de_commande [options] [arguments]
Une commande peut n’avoir ni option ni argument : ls
Une commande peut être suivis par une ou plusieurs options:
ls -a -l ou ls –al (on peut regrouper les options)
Si l’option est un mot, on doit la précéder par -- :
ls --all
Ens: MANSOUR Sihem
Présentation des commandes Shell
9
Une commande peut avoir un ou plusieurs
arguments: ls /dev
Une commande peut être suivie d’une combinaison
d’options et d’arguments: ls -al /dev
Remarque: faites attention Shell respecte la casse
donc ls n’est pas LS
Ens: MANSOUR Sihem
Présentation des commandes Shell
10
Retrouvez les commandes
Shell
Si vous voulez chercher
une commande, taper les
premières lettres puis
appuyer deux fois sur la
touche tab. Une liste des
commandes s’affiche Ens: MANSOUR Sihem
Présentation des commandes Shell
11
l’historique des commandes
appuyez sur la flèche directionnelle Haut ; vous verrez
apparaître la dernière commande que vous avez tapée.
Si vous appuyez de nouveau sur la flèche directionnelle
Haut, vous verrez l'avant-dernière commande, puis
l'avant-avant-dernière, etc.
Ens: MANSOUR Sihem
Présentation des commandes Shell
12
avoir l’aide sur une commande
Utilisation de la commande man
Exemple: man ls
Voici quelques commandes pour défiler ou
sortir des pages de man :
Ens: MANSOUR Sihem
Présentation des commandes Shell
13 Ens: MANSOUR Sihem
PgUP Page précédente
PgDwn Page suivante
Entrer Ligne suivante
space Page suivante
b Page précédente
q Quitter l’aide
Présentation des commandes Shell
14
Utilisation de l’option --help
Exemple: ls --help
cette option nous évite de fastidieuse recherche sur
l’utilisation d’une commande et elle nous fournie
une aide simplifiée qui ne contient que les options
les plus utilisées pour une commande donnée.
Ens: MANSOUR Sihem
Présentation des commandes Shell
15
Utilisation de la commande info
info <nom_de_commande>
Cette commande donne des informations plus précises et,
parfois, agrémentées d’exemples
Vous pouvez vous déplacez dans les pages avec les touches de
direction. Passez aux pages suivantes avec la touche n, aux
pages précédentes avec la touche p et enfin, vous pouvez
quitter en utilisant la touche q.
Ens: MANSOUR Sihem
Présentation des commandes Shell
16
Quelques raccourcis sur les commandes
Shell
Pour interrompre une commande, on peut
utiliser la combinaison ctrl+C
Pour se déconnecter du terminal, on peut
utiliser encore la combinaison ctrl +D
Ens: MANSOUR Sihem
Les fichiers sous Shell
17
Les différentes catégories de fichiers
fichiers normaux
* texte : courrier, sources des programmes, scripts,
configuration ...
* exécutables : programmes en code binaire
fichiers répertoires
ce sont des fichiers conteneurs qui contiennent des références
à d'autres fichiers.
Ens: MANSOUR Sihem
Les fichiers sous Shell
18
fichiers spéciaux
situés dans /dev, ce sont les points d'accès préparés par
le système aux périphériques.
fichiers liens symboliques
Ce sont des fichiers qui ne contiennent qu'une
référence (un pointeur) à un autre fichier. Cela permet
d'utiliser un même fichier sous plusieurs noms sans
avoir à le dupliquer sur le disque.
Ens: MANSOUR Sihem
Les fichiers sous Shell
19
Pour savoir le type du
fichier sous Shell, tapez la
commande suivante: file
nom_fichier
Voici un exemple
d’utilisation de cette
commande
Ens: MANSOUR Sihem
Les fichiers sous Shell
20
Nomenclatures des fichiers sous Linux
Les caractères autorisés
La plupart des caractères (chiffres, lettres, majuscules,
minuscules, certains signes, caractères accentués) sont
acceptés, y compris l'espace (très déconseillé).
Cependant quelques caractères sont à éviter : & ; ( ) ~
<espace> \ | ` ? - (en début de nom)
Ens: MANSOUR Sihem
Les fichiers sous Shell
21
La notion d’extension
UNIX et Linux ne proposent aucune gestion des extensions.
L’utilisateur est libre de se servir du caractère point autant qu’il
désire. Ce signe n’ayant aucun sens particulier.
Ainsi le nom suivant est tout à fait correct: cours.unix.2004.
si le système Linux ou UNIX n’exploite pas la notion
d’extension, en revanche certains logiciels l’utilisent. C’est le
cas du compilateur C, qui attribue l’extension « .c » pour les
programme source et « .o » aux programme objet.Ens: MANSOUR Sihem
Les fichiers sous Shell
22
Les caractères jokers
Certains caractères jouent un rôle particulier pour
l’interpréteur de commandes « shell ».ces caractères
appelés jokers ou caractères de substitutions.
Ces caractères peuvent être placés n’importe ou dans
le nom du fichier
Ens: MANSOUR Sihem
Les fichiers sous Shell
23
Ces caractères sont:
*: remplace un nombre de caractères (y compris
aucun)
?: remplace un caractère et un seul
[]: se comportent comme le point d’interrogation. Mais
la substitution ne s’effectue qu’avec l’un des caractères
présents entre les crochets
Exemple:
Ens: MANSOUR Sihem
Les fichiers sous Shell
24 Ens: MANSOUR Sihem
[abc] Le caractère de remplacement est la a, le b ou le c
[0..9] Le caractère de remplacement est chiffre compris entre 0 et 9
[!abc] Remplace par un caractère différent de a, b et c
[!0..9] Remplace par un caractère autre que les chiffres entre 0 et9
Les chemins d’accès sous Shell
25
Les chemins d’accès
Dans les chemins d'accès aux fichiers, les noms de
répertoires et de fichiers sont séparés par un
caractère spécial.
Ce caractère est traditionnellement, sous Linux, la
barre oblique de division (nommée « slash » en
anglais) : « / ».
Ens: MANSOUR Sihem
Les chemins d’accès sous Shell
26
Les utilisateurs du DOS et de Windows prendront garde
ici au fait que Microsoft a préféré la barre oblique
inverse (nommée « backslash » en anglais) « \ »
L'exemple suivant vous montre l'allure d'un chemin
d'accès typique sous Linux :
/home/dupond.jean/lettres/professionnelles/m
arketing/ventes2005.odt
Ens: MANSOUR Sihem
Les chemins d’accès sous Shell
27
Les chemins relatif et absolu
Chemin absolu d’un fichier est son emplacement pris à
partir de la racine « / ». La séparation entre les niveau se
fait par des « / »
Exemple:
/home/kmaster/DOCS/LINUX/cours.sdw
Chemin relatif d’un fichier est son emplacement pris à
partir du répertoire courant.
Exemple : DOCS/LINUX/cours.sdw
Ens: MANSOUR Sihem
Des commandes Shell d’ordre général
28
date : affiche la date et l’heure système
who : indique les utilisateurs connectés au
système
cal : affichage d’un calendrier
Clear : effacer l’écran
Exit: se déconnecter du terminal
Ens: MANSOUR Sihem
Des commandes Shell d’ordre général
29
history: affiche les commandes précédemment lancées par
l’utilisateur courant.
halt, qui permet d'arrêter le système (on doit être un super
utilisateur)
reboot, qui permet de redémarrer le système (on doit être un super
utilisateur).
Echo:affiche la ligne de texte passée en paramètre
syntaxe : echo "chaîne"
options echo -n chaîne : n'ajoute pas de retour à la ligne automatique
à la fin
Ens: MANSOUR Sihem
Des commandes Shell d’ordre général
30
Les commandes relatives aux
fichiers
which: connaître
l’emplacement d’une
commande
Exemple: $which pwd
pwd: permet d’afficher le
chemin absolu du répertoire
courant
Ens: MANSOUR Sihem
Des commandes Shell liées aux fichiers et répertoires
31
Créer un répertoire
o Pour créer un répertoire, la commande à utiliser est la
suivante : mkdir <nom_de_repertoire>+
o où <nom_de_repertoire>+ est une liste non vide de
noms de répertoire séparés par un ou des espace(s).
Exemple : $ mkdir toto (création d’un seul rep)
$ mkdir lulu B212 (création de 2 reps)
Ens: MANSOUR Sihem
Des commandes Shell liées aux fichiers et répertoires
32
Avec l’option –p la commande mkdir peut
créer une arborescence
Exemple: $ mkdir –p
document/texte/perso
Ens: MANSOUR Sihem
Des commandes Shell liées aux fichiers et répertoires
33
Afficher le contenu du répertoire
o Pour lister les fichiers d’un répertoire, vous pouvez
utiliser la commande ls. Sa syntaxe est la suivante :
ls [<options>] [<fichiers>]
o Si le nom de <fichiers> n’est pas spécifié, la
commande liste les fichiers du répertoire courant.
Ens: MANSOUR Sihem
Des commandes Shell liées aux fichiers et répertoires
34
Quelques options de la commande ls:
o -a ou --all : Liste tous les fichiers, y compris ceux
cachés (avec un nom commençant par .) ;
o -B : Ne liste pas les backups-fichiers (se terminant par
˜) ;
o -c : Trie par date. Agrémenté de l’option -l c’est plus
clair ;
o -C : Liste par colonne ;
Ens: MANSOUR Sihem
Des commandes Shell liées aux fichiers et répertoires
35
Pour savoir les caractéristiques d’un fichier
quelconque, taper : ls –l nom_fichier
Ens: MANSOUR Sihem
Ens: Mansour Sihem
Changer de répertoires:
Exemple: cd nom_repertoire
Dans le cas où le nom de répertoire
est absent, la commande cd vous
dirige vers votre répertoire
utilisateur
36
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Astuces:
cd .. Permet de passer dans le répertoire
parent
cd~ déplacement dans son répertoire
personnelcd~jeans déplacement dans le répertoire
personnel de jeanscd / déplacement vers la racinecd - Revient dans le répertoire précédent le
dernier changement de répertoire
37
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Connaître l’espace disque occupé par le répertoire
La commande du permet de connaître l'utilisation disque par le
répertoire spécifié et ses sous répertoires .Exemple: du /home
du :une commande qui possède des paramètres, telles que:
-h: pour afficher des capacités compréhensibles par les humains.
–c: afficher le total d’espace occupé par le répertoire
-a: afficher l’espace occupé par chaque fichier et chaque sous
répertoire existant sous le répertoire en question
38
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Supprimer un répertoire
Pour supprimer un répertoire, la commande à utiliser est la suivante :
rmdir <nom_de_repertoire>+
où <nom_de_repertoire>+ est une liste non vide de noms de
répertoire séparés par un ou des espace(s).
Si le répertoire est non vide la commande affiche un message d’erreur.
Exemple : : $ rmdir MonRep
Remarque: La commande rm –r permet de supprimer tout une
arborescence.
39
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Création des fichiers
pour créer un fichier, on a plusieurs possibilités. Parmi elles,
on peut utiliser la commande touch
Exemple: $touch fichier
Remarque:
Si on veut créer plusieurs fichiers avec la même
commande, il faut séparer ces noms par des espaces.
Exemple: touch fichier1 fichier2 … fichiern
40
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Copier des fichiers
pour copier des fichiers, on utilise la commande cp
Exemple 1 : dupliquer un fichier dans le même répertoire
cp fichiersource fichiercopie
Exemple 2 : Copier un fichier dans un autre dossier
cp fichiersource dossier/
Exemple 3 : Copier un fichier dans un autre dossier avec un autre nom :cp
fichiersource dossier/fichierdestination
Exemple 4 : Copier des dossiers : cp –R dossier1 dossier2 41
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Remarque: on peut utiliser les caractères jockers avec la
commande cp
Exemple: cp *.jpeg mondossier/
Déplacer/renommer des fichiers:
la commande mv a deux utilités:
Le déplacement des fichiers
Renom mage des fichiers
Exemple1: Déplacer un fichier du répertoire source vers un
répertoire destination: mv fichiersource dossier/
42
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Exemple 2 : Déplacer un répertoire vers un autre répertoire
mv dossier dossierconteneur
Remarque: On peut utiliser des caractères jokers avec la
commande mv.
Exemple 3: renommage du fichier: mv source destination
Exemple 4: déplacement et renommage des fichiers
mv source dossier/destination
Le graphique suivant, comment peut on déplacer et renommer en
même temps un fichier ou un répertoire. 43
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem44
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
L’option –i : s’applique sur les commande cp et mv , elle sert
à afficher un message de confirmation.
Afficher un fichier:
Les commandes sont: cat, more ou less
Exemple: $ cat t1.text
Une option utile de cat est -n qui permet de numéroter les
lignes (ne pas oublier que cat permet de lire et non de modifier
un fichier. Ainsi la numérotation de ligne apparaît à l'écran mais
le fichier t1.text n'en est pas pour autant modifié).45
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Vous pouvez utiliser la commande more pour
visualiser un fichier. La commande more a l'avantage
d'afficher le fichier page par page. Pour passer
d'une page à l'autre, tapez sur la touche ESPACE.
less a le même fonctionnement que more, mais elle
possède plus d’options. Voici qu’elles unes
46
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem47
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Supprimer un fichier:
La commande rm (remove) supprime un ou plusieurs fichiers, et
éventuellement une arborescence complète, suivant les options. La
suppression est définitive.
rm [Options] fic1 [fic2...]
Options :
-d ou --directory : Efface les répertoires, même si ils ne sont pas vides
(en super-user seulement) ;
-i : la commande demandera une confirmation pour chacun des
fichiers à supprimer. 48
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Afficher le début du fichier
La commande head ("tête" en anglais) affiche seulement les
premières lignes du fichier. Elle ne permet pas de se déplacer
dans le fichier comme less, elle permet juste de récupérer les
premières lignes.
Afficher la fin du fichier
La commande tail affiche seulement les dernières lignes du
fichier. Elle ne permet pas de se déplacer
49
Des commandes Shell liées aux fichiers et répertoires
Ens: Mansour Sihem
Remarque: ces deux commandes possèdent une option –n qui
sert à préciser le nombre de lignes à afficher au début ou à la
fin du fichier.
Exemple 1: afficher 3 lignes au début du fichier
mateo21@mateo21-desktop:/var/log$ head -n 3 syslog
Exemple 2: afficher 3 lignes à la fin du fichier
mateo21@mateo21-desktop:/var/log$ tail -n 3 syslog
50
Des commandes Shell liées aux fichiers et répertoires
Ens: MANSOUR Sihem51
Recommended