Vous êtes sur la page 1sur 75

COMMANDES UNIX

Pr. M.A. EL KIRAM


Commandes UNIX
Les commandes Unix sont le plus souvent introduites au clavier. Ces
commandes respectent des règles bien établies connues sous le nom de
« syntaxe de la ligne de commande ». Celle-ci est généralement la
suivante :

$ nom-commande options paramètres

Exemple:

$ wc –l doc.txt
Commandes systèmes de fichiers

Commande cat

$ cat fichier [> | >>] [fichier de destination]

Exemples:
$ cat doc.txt
$ cat doc1.txt doc2.txt doc3.txt > doc.txt
$ cat doc4.txt >> doc.txt
Commandes systèmes de fichiers

Commande ls

La commande ls (liste file) permet de lister le contenu des répertoires. Sa


syntaxe est :

$ ls [options] [noms]

ls liste les répertoires et les fichiers précisés dans noms. Par défaut, la sortie
est envoyée à l’écran par ordre alphabétique.
Commandes systèmes de fichiers

Commande ls

Options courantes

-l : liste en format long les principales caractéristiques des


fichiers.
-a : liste aussi les fichiers cachés (commençant par « . »).
-R : liste les répertoires de manière récursive.
Exercices

 afficher le contenu de votre répertoire de travail.


 Relever la taille des différents fichiers de votre répertoire de travail.
 Quelles sont les caractéristiques du fichier fich.txt de votre répertoire de
travail.
 Afficher le contenu du répertoire /usr/bin
 Quel est le fichier de grande taille de /usr/bin
 Afficher le contenu du répertoire /home
 Afficher le contenu du répertoire de travail de votre collègue.
 Afficher tous le contenu de votre répertoire de travail.
 Afficher tous le contenu de /usr/bin.
 Comment afficher les droits d’un répertoire donné ;
Commandes systèmes de fichiers

Changement de répertoire

La commande cd (change directory) permet de changer le répertoire de


travail. Sa syntaxe est :

$ cd [nom-répertoire]

nom-répertoire est le répertoire à atteindre.

Si nom-répertoire n’est pas précisé, alors le répertoire à atteindre et le


répertoire de travail.
Commandes systèmes de fichiers

Changement de répertoire

$ cd.. Remonter d’un niveau.

$cd Revenir au répertoire de travail.

$cd / Revenir au répertoire racine.

$cd ~ aller à home


Commandes systèmes de fichiers

commande pwd

La commande pwd permet d’afficher le répertoire courant sa syntaxe est :

$ pwd

Cette commande n’a pas d’option.


Exercices
 Dans quel répertoire vous vous trouvez quand vous loguez.
 De votre répertoire passer à la racine.
 Passer à media
 De media passer à sbin
 Passer à home
 Passer etc
 Passer à bin
 Passer à votre répertoire
 Passer au répertoire d’un autre utilisateur
 Lister son contenu.
Création de répertoires mkdir

La commande mkdir (make directory) crée des répertoires.


Le nom d’un répertoire ne peut dépasser 255 caractères et les noms
peuvent contenir n’importe quel caractère sauf le slash /.
Sa syntaxe est :

$ mkdir [-p] nouveaux-repertoires.


Création de répertoires mkdir

Exemple

$ mkdir rep1 rep2 rep3

Si l’un des répertoires intermédiaires n’existe pas, la commande retourne un


code d’erreur sans créer le répertoire.

L’option –p permet de créer tous les répertoires intermédiaires qui


n’existent pas.
Création de répertoires mkdir
Exemple

$ mkdir /home/rep1

$ cd /home/rep1

$ mkdir rep11

$ mkdir rep11/rep111
Creation de rep111 puisque rep11 existe déjà

$ mkdir rep12/rep112
Erreur de création puisque rep12 n’existe pas
NB. Pour pouvoir créer un répertoire, le répertoire d’origine doit avoir les droits en écriture
positionnée.
Exercices
 créer trois répertoires en une seule ligne de commande.
 Que ce passe-t-il si vous tapez
$mkdir mkdir
 A quelle condition est ce que la ligne de commande
$ mkdir rapports/annexes
Peut créer effectivement ce sous répertoire.
 Comment créer un répertoire en spécifiant des droits.
 Quels sont les droits nécessaires pour créer un répertoire dans le répertoire de
travail de votre binôme.
 Comment créer l’arborescence suivante en une ligne de commande :
Créer l’arborescence suivante en une seule ligne de commande

/home/user

a b c

a1 a2 b1 b2 c1 c2

c22
a22
Suppression de répertoires rmdir
La commande rmdir (remove directory) supprime des répertoires vides ; Sa
syntaxe est :

$ rmdir [option] repertoires

rmdir supprime les répertoires spécifiés sur la ligne de commande. S’il


existe des sous répertoires ou des fichiers, la commande retourne un
message d’erreur.
Suppression de répertoires rmdir

L’option –p efface les répertoires parents s’ils deviennent vides après la


suppression des répertoires mentionnés en argument. Ainsi :

$ rmdir –p a/b/c

Est équivalent à

$ rmdir a/b/c
$rmdir a/b
$ rmdir a
Suppression de répertoires rmdir

Si on désire effacer également des répertoires non vides, il faut utiliser la


commande:

$ rm –r nom-rep
Questions
 Placez vous dans le répertoire a2.
 De la supprimer le répertoire a22
 De a2, supprimer aussi a1.
 Passer dans votre répertoire de travail.
 De la supprimer a2.
 Placez vous dans a.
 De la supprimer b1.
 Créez deux fichiers et les enregistrer respectivement dans c1 et c22.
 Effacez le répertoire c.
 Supprimer un sous de répertoire du répertoire de travail de votre binôme.
 Attribuer les droits nécessaires pour permettre à votre binôme de supprimer un sous répertoire de votre
répertoire de travail.
 Attribuer les droits nécessaires pour permettre l’enregistrement dans un sous répertoire de votre répertoire
de travail.
 Attribuer le droit de listage seul d’un sous répertoire de votre répertoire de travail lors de sa création.
 Effacez en une seule ligne de commande l’arborescence restante ainsi que celle de l’exercice précédent.
Commandes relatives au fichiers
Commande cp

La commande cp (copy) permet de copier des fichiers


(et éventuellement des répertoires).
Sa syntaxe est l’une des formes suivantes :

F1 $ cp [options] fichier1 fichier2


F2 $ cp [options] fichier1 fichier2…..fichiern repertoire
F3 $ cp [options] fich/rep1 fich/rep2….fich/repn repertoire
Commandes relatives au fichiers
Commande cp

F1 $ cp [options] fichier1 fichier2

Dans cette forme, le fichier fichier1 est dupliqué sous le nom fichier2.
Si ce dernier existe déjà, il est écrasé.
L’option –i permet d’éviter ce genre d’incident.

$ cp -i fichier1 fichier2
Cp : overwrite fichier2 ?
Commandes relatives au fichiers
Commande cp

F1 $ cp [options] fichier1 fichier2

L’option –p permet de conserver pour le nouveau fichier les permissions du


fichier d’origine ainsi que la date de la dernière modification.

Les droits nécessaires sont :


Droit de lecture sur fichier1
Droit d’écriture sur fichier2
Commandes relatives au fichiers

F2 $ cp [options] fichier1 fichier2…..fichiern repertoire

Permet de copier tous les fichiers fichier1, fichier2…fichiern dans le


répertoire rep en conservant les mêmes noms.

Les droits nécessaires sont :


Droit de lecture sur fichier1, fichier2…fichiern
Droit d’écriture sur le répertoire rep.
Commandes relatives au fichiers
La syntaxe :
$ cp -r fich/rep1 fich/rep2….fich/repn rep

Permet de copier les répertoires ainsi que leur contenu récursivement dans
le repertoire rep.

Les droits nécessaires sont :


Droit de lecture des fichiers à copier.
Droits d’exécution sur les répertoires contenant les fichiers à
copier.
Droit d’écriture sur le répertoire de destination.
Exercices
 Permettez à votre binôme de copier un fichier dans un sous répertoire de votre répertoire de
travail.
 Comment interdire quiconque de copier un fichier dans votre répertoire de travail.
Copier un fichier dans le répertoire de travail de votre binôme :
 En gardant le même nom
 En lui attribuant un nouveau nom.
 comment récupérer un fichier ou un répertoire du répertoire de travail de votre binôme.
 Copier en une seule ligne de commande tous les fichiers d’extension .c dans un sous répertoire.
 Copier en une seule ligne de commande les fichiers doc1.txt ; doc2.txt ;…doc9.txt ;
ficha.doc ; fichb.doc…fichk.txt dans un sous répertoire.
 Sauvegarder en une seule ligne de commande les fichiers et répertoires de votre répertoire
de travail.

Commandes relatives au fichiers
Commande mv

La commande mv (move) permet de renommer un fichier ou de le déplacer


dans l’arborescence des fichiers.

Sa syntaxe est l’une des formes suivantes :

F1 $ mv [options] fichier1 fichier2

F2 $ mv [options] fich/rep1 fich/rep2….fich/repn repertoire


Commandes relatives au fichiers
Commande mv

F1 $ mv [options] fich1 fich2

Si fich2 n’existe pas, fich1 est renommé en fich2.


Si fich2 existe sont contenu est écrasé par celui de fich1.

Pour éviter cette dernière situation, on peut demander une confirmation par
l’option –i :
Commandes relatives au fichiers
Commande mv

F1 $ mv [option] fich/rep1 fich/rep2 …fich/repn repdest

Cette commande permet de déplacer les fichiers ou répertoires fich/repi


dans le répertoire de destination repdest.
Commandes relatives au fichiers
Commande mv
Options courantes

-i : interactivité
Demander la confirmation pour écraser tout fichier existant.

-f : force
Ecraser les fichiers de destination sans demander confirmation de l’utilisateur.

-u : update
Ne pas déplacer un fichier qui écraserait un fichier destination ayant une date de
modification plus récente.
Exercices
 Expliquer pour forme 1 et forme 2 les différences avec la commande cp.
 Supposer que vous avez chez vous l’arborescence que voici, et que vous vous trouvez
dans …./rapport/doc/
 Comment faites vous pour y amener rapport.ttx qui se trouve dans le répertoire père?
 Comment faites-vous ensuite pour ramener ce fichier à son emplacement d’origine.
 Comment renommer un répertoire bla en blo ? que se passe t-il si le répertoire blo existe
déjà ?
 Comment faire pour à la fois déplacer un fichier et changer son nom ? Que se passe t-il s’il
existe un fichier de ce nom dans le répertoire d’arrivé ?
 Comment faire pour à la fois déplacer un répertoire et changer son nom ? Que se passe t-il
s’il existe un répertoire de ce nom dans le répertoire d’arrivé ?
 Que se passe t-il si on lance mv avec les options –i et –f ensemble ?
Commandes relatives au fichiers
Commande rm
La commande rm (remove) permet de supprimer des fichiers. En faite cette commande efface
un lien sur un fichier. (si ce lien est unique, les données du fichier sont également détruite).
Sa syntaxe est :

$ rm [option] fich/rep1 fich/rep2… …fich/repn

Options courante:

-i: mode interactive


-r: si fich/rep est un répertoire; l’option –r permet de l’effacer
récursivement.
-f : si le fichier n’existe pas, rm n’affiche pas de message d’erreur.
Exercices

 Supprimer en une seule ligne de commande les fichiers et répertoires qui


contiennent un chiffre
 Supprimer un répertoire vide
 Supprimer un répertoire non vide.
Commandes relatives au fichiers
Commande find

Cette commande permet d’effectuer une recherche récursive dans le système des fichiers et
d’associer une action lorsqu’on satisfait aux critères de recherches.

Sa syntaxe est :

$ find [chemin] [-type fd] [-name masque] [-atime [+ -] nombres jours]


 [-exec commande] {}\; [empty]
Commandes relatives au fichiers
Commande find

$ find [chemin] [-type fd] [-name masque] [-atime [+ -] nombres jours]


[-exec commande] {}\; [empty]

Exemples:

$ find -type d
Recherche tous les sous répertoires du répertoire courant.

$ find -type f
Recherche tous les fichiers du répertoire courant et dans ses sous répertoires.
Commandes relatives au fichiers
Commande find

$ find [chemin] [-type fd] [-name masque] [-atime [+ -] nombres jours]


[-exec commande] {}\; [empty]

Exemples:

$ find –type f -name ‘*.txt’

Recherche tous les fichiers d’extension txt situés dans le répertoire courant et dans ses sous
répertoires.
Commandes relatives au fichiers
Commande find

$ find [chemin] [-type fd] [-name masque] [-atime [+ -] nombres jours]


[-exec commande] {}\; [empty]

Exemples:

$ find -type f -name ‘*.txt’ -exec grep foo {} \;

Recherché toutes les lignes des fichiers .txt dans le répertoire courant et dans ses sous
répertoire qui contiennent le mot foo.
Commandes relatives au fichiers
Commande find

$ find [chemin] [-type fd] [-name masque] [-atime [+ -] nombres jours]


[-exec commande] {}\; [empty]

Exemples:

$ find -type f -name *.txt -atime -1

Recherche tous les fichiers d’extension .txt qui ont été modifiés dans les dernières 24h.
Commandes relatives au fichiers
Commande find

$ find [chemin] [-type fd] [-name masque] [-atime [+ -] nombres jours]


[-exec commande] {}\; [empty]

Exemples:

$ find -type f -empty

Recherche tous les fichiers vides dans le répertoire courants et ses sous répertoires.
Exercices

 Rechercher tous les fichiers d’extension .c dans les répertoires /home/potse1 et


/home/poste2.
 Chercher tous les fichiers dont les noms commencent par un « a » majuscule ou une
minuscule, suivi éventuellement de quelques lettres ou chiffres, et se terminent par un
chiffre entre 3 et 6.
 Comment fait-on pour indiquer que le fichier recherché à été modifié il y’a plus de
30 jours ? il y’a 30 jours ? il y’a moins de 30 jours ?
 Comment rechercher des fichiers de taille supérieure à une taille donnée ?
 Effacer tous les fichiers d’extension .doc qui ont plus d’un mois.
 Attribuer les permissions 766 à tous les fichiers de votre répertoire de travail.
Solutions
 S1
 $ find /home/poste1 /home/poste2 –type f -name ‘*.c’ -print
 S2
 $ find . –name ‘[aA]*[3-6]’ -print
 S3
 -mtime 30 : le fichier a été modifié il y’a 30 jours.
 -mtime +30 : le fichier a été modifié il y’a 30 jours.
 -mtime -30 : le fichier a été modifié il y’a 30 jours ou moins.
 S4
 On utilise l’option –size, suivi d’un nombre et d’une lettre indiquant l’unité de mesure (c :octet, k pour kilo octet)
 Exemple, on recherche un fichier modifié il y’a moins de 30 jours et dont la taille soit supérieure à 30k
 $ find . –type f -size +30k -mtime -12 -print.
 S5
 $find -type f-name ‘*.doc’ -mtime +30 -exec rm {} \;
 S6
 $ find -type f -exec chmod 766{} \;
Localisation

Commande locate
La commande locate trouve l’emplacement ou chemin d’accès d’un fichier ou
une commande.

Sa syntaxe est :

$ locate mot-clés
Localisation

Commande whereis
La commande whereis trouve l’emplacement ou chemin d’accès d’une
commande.

Sa syntaxe est :

$ whereis nom_commande
Les liens links
Commande ln
La commande ln permet de créer un lien sur un fichier. Un lien est en fait la
définition d’un deuxième nom pour un fichier qui existe déjà.
Sa syntaxe est :

$ ln fich1 fich2

Le fichier fich1 doit exister et fich2 ne doit pas exister et devient un autre
nom possible du fichier fich1.
Exercices
- Créer un fichier fich1.
- Créer un lien de fich1 sur fich2.
- Vérifier les droits de fich1 et fich2.
- Faire une modification dans fich1 et vérifier fich2.
- Faire une modification dans fich2 et vérifier fich1.
Commande head

La commande head affiche les premières lignes d’un ou plusieurs fichiers mentionnés
en argument. Sa syntaxe est :

$ head [-n] fich1 fich2 ….fichn


Sans option la commande affiche les dix premières lignes.

Exemple
$ head –5 doc.txt
Affiche les cinq premières lignes de doc.txt.
$ head -2 doc1.txt doc2.txt
Dans ce cas un entête est affiché mentionnant le nom de fichier entre ==> et <==.
Commande tail

La commande tail affiche les dernières lignes d’un fichier.

Sa syntaxe est :
$ tail -n nb fich1 fich2 …fichn
Commande stat

Cette commande affiche les différentes statistiques sur un fichier ou un


répertoire. Sa syntaxe est :

$ statfich/rep
Comparaison de fichiers
Commande cmp
La commande cmp compare le contenu de deux fichiers. Sa syntaxe est :

$ cmp fich1 fich2


cmp n’affiche aucun message si les deux fichiers sont identiques. Si les deux
fichiers différent d’un caractère, la commande renvoi l’ordre du caractère
et le numéro de ligne.
Exemple:
$ cmp fich1 fich2
fich1 fich2 differ: char13, line 5
Comparaison de fichiers
Commande diff
La commande diff permet de déterminer les différences entre deux fichiers
ou deux répertoires. Par défaut, cette commande n’affiche aucun résultat si
les deux fichiers sont identiques.
Sa syntaxe est :

$ diff[op] fich1 fich2

Diff compare les deux fichiers et renvoie les lignes de différences.


Les lignes du premiers fichier sont précéder du signe <, tandis que celles du
second sont précéder du signe >.
Commande cut
La commande cut permet d’extraire des colonnes de données. Les données
peuvent être des octets, des caractères ou des champs.

Sa syntaxe est:

$ cut [option] [nombres] fichier


Commande cut
$ cut [option] [nombres] fichier

Exemples:

$ cut –b m info
Extrait le mième caractère de info (-b ou –c)
Commande cut
$ cut [option] [nombres] fichier

Exemples:

$ cut –b 1,2,4 info


extrait les caractères 1 2 et 4 de info
Commande cut
$ cut [option] [nombres] fichier

Exemples:

$ cut –b 1-4 info


Extrait 1 2 3 et 4 caractères de info.
Commande cut
$ cut [option] [nombres] fichier

Exemples:

$ cut –b 1-4 info


Extrait 1 2 3 et 4 caractères de info.
Commande cut
$ cut [option] [nombres] fichier

Exemples:

$cut -f 1 info
Affiche les premiers champs de info (les champs sont déterminés par
tabulation).
Commande cut
$ cut [option] [nombres] fichier

Exemples:

Pour spécifier le caractère « : » au lieu de tabulation :


$ cut –f 1 -d : info
$ cut -f 1,3 -d : info

Exercices:
Extraire dans un fichiers les noms et répertoires des utilisateurs.
Commandes de compressions et
d’archivage

Commandes de compression
compress
La commande compress permet de compresser des fichiers de nature
quelconque d’après l’algorithme de compression Lempel-zip
Sa syntaxe est :

$ compress fich1 fich2 …. Fichn

Les fichiers compressés sont remplacés par des fichiers de même nom et
possédant l’extension .Z
Commandes de compressions et
d’archivage

Commandes de compression
Commande gzip
Gzip est un autre programme de compression avec un taux meilleur. Les
fichiers compressés avec gzip prennent l’extension .gz
Sa syntaxe est :

$ gzip fich1 fich2 … fichn


Commandes de compressions et
d’archivage

Commandes de compression
Commande zip
L’utilitaire zip compresse les fichiers dans le format zip permettant ainsi la
compatibilité avec beaucoup de systèmes tels que : MSDOS, Windows…
La syntaxe de compression avec zip est :

$ zip fich1 fich2 … fichn

Les fichiers compressés prennent l’extension .zip


Commandes de compressions et
d’archivage

Commandes de décompression
Commande uncompress
L’utilitaire uncompress permet de décompresser un fichier préalablement
compressé avec la commande compresse.

Sa syntaxe est
$ uncompress essai.doc

uncompress décompresse les fichiers d’extension .Z. Il n’est donc pas


nécessaire d’indiquer cette extension dans la commande.
Commandes de compressions et
d’archivage

Commandes de décompression
Commande gunzip

Gunzip décompresse les fichiers d’extension .gz ; -gz ; .Z ; -Z

Sa syntaxe est :

$ gunzip fich1 fich2 fichn


Commandes de compressions et
d’archivage

Commandes de décompression
Commande unzip

L’utilitaire unzip décompresse les fichiers d’extension .zip. Sa syntaxe est :

$ unzip fichiers
Commandes d’archivage
Commande Tar
La commande tar permet d’archiver plusieurs fichiers et répertoires dans un
seul fichier d’extension .tar. Elle permet aussi d’extraire des fichiers et des
répertoires à partir d’un fichier archive.

Sa syntaxe est :
$ tar [c] [x] [v] [z] [f nom fichier] fich/rep
Commandes d’archivage
Commande Tar
Exemples:

$ tar cf source.tar *.c

(c: creat, f: file)

Crée le fichier source.tar contenant tous les fichiers d’extension .c du


répertoire courant.
Commandes d’archivage
Commande Tar
Exemples:

$ tar cvf source.tar *.c


(v : visualise)

Permet de visualiser les fichiers archives d’extension .c


Commandes d’archivage
Commande Tar
Exemples:

L’option z permet en plus de l’archivage de compresser le fichier d’archive.

$ tar czf source.tar *.c

Archivage de *.c dans source.tar puis compression de source.tar.


Commandes d’archivage
Commande Tar
Exemples:

Pour extraire les fichiers d’archives :

$ tar xzf nomfichier.

$ tar xzf source.tar


Montages des systèmes de fichiers

Commande mount
La commande mount permet d’attacher un système de fichiers trouvé sur un
périphérique à l’arborescence du système de fichier Unix

La forme standard de la commande mount est :

$ mount -t type périphérique répertoire

Cette commande indique au noyau d’attaché le système de fichier se


trouvant sur le périphérique mentionné dans le répertoire indiqué.
Montages des systèmes de fichiers

Le fichier /etc/fstab contient des lignes décrivant les périphériques


habituellement montés, leurs répertoires et leurs options.

LABEL =/ / ext3 defaults 11


LABEL =/boot /boot ext3 defaults 12
None /proc proc defaults 00
/dev/hda3 swap swap defaults 00
/dev/cdrom /mnt/cdrom iso9960 noauto, owner,kudzu,ro 00
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 00
Montages des systèmes de fichiers

LABEL =/ / ext3 defaults 11


LABEL =/boot /boot ext3 defaults 12
None /proc proc defaults 00
/dev/hda3 swap swap defaults 00
/dev/cdrom /mnt/cdrom iso9960 noauto, owner,kudzu,ro 00
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 00

Pour monter un cdrom:


$ mount -t iso 9960 /dev/cdrom repertoire
Si on veut garder le nom de /etc/fstab
$ mount /mnt/cdrom
Montages des systèmes de fichiers

LABEL =/ / ext3 defaults 11


LABEL =/boot /boot ext3 defaults 12
None /proc proc defaults 00
/dev/hda3 swap swap defaults 00
/dev/cdrom /mnt/cdrom iso9960 noauto, owner,kudzu,ro 00
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 00

$ mount -a
Permet de monter tous les fichiers contenus dans /etc/fstab
Montages des systèmes de fichiers

Commande umount
La commande umount démonte un système de fichier.
Exemple :

$umount/mnt/floppy
Démonte le périphérique de disquette.
Installation fichiers binaires
Nom: nom_logiciel.tar.gz

$tar xzvf nom_logiciel.tar.gz


$cd nom_logiciel
$./configure
$make
$make install
Installation rpm
installer un nouveau package
$ rpm -i nom_package.rpm

mettre à jour
$ rpm –U nom_package.rpm

désinstallé
$ rpm –e nom_packahe

afficher la totalité des packages


$rpm -Va
Installation en ligne

$ apt-get install nom_programme


$ yum install nom_programme

Vous aimerez peut-être aussi