Commandes UNIX
Les commandes Unix
par Jiel
Introduction
Cette documentation a pour but de recenser les principales commandes UNIX communes à tous les Unices et à GNU/Linux. La liste ne sera peut-être pas exhaustive, mais elle devrait vous mettre un bon pied à l'étrier.
Certaines d'entre elles font partie du shell, d'autres sont des exécutables situés dans /usr/bin ou /usr/local/bin.
Les commandes ci-dessous ont été regroupées par catégories pour plus de clarté, elles sont fournies avec un exemple et éventuellement un lien vers une documentation de Léa donnant plus de précision.
Pour rappel, une commande est un mot clef que l'ont tape dans un shell, souvent suivie de paramètres appelés arguments : des options (habituellement précédées du caractère -
pour leur forme courte ou des caractères --
pour leur forme longue) et des chaînes de caractères (très souvent un fichier ou une expression rationnelle).
Il peut être utile de lire la documentation sur Le shell avant de jouer avec les commandes.
Enfin, certaines commandes existent en plusieurs versions. Dans cette documentation, c'est la version GNU ou la version présente sous GNU/Linux qui a été choisie pour les exemples.
N'oubliez pas non plus que certaines commandes ne sont accessibles qu'au super-utilisateur.
Aide et informations
@ Voir sur Léa : Découvrir GNU/Linux - Trouver de l'aide .
man
man
affiche le manuel d'une commande. S'il n'y avait qu'une seule commande à connaître, ce serait assurément celle-là.
Exemple : afficher la page de manuel (ci-dessous le début, elles sont généralement très longues) de la commande ls.
$ man ls
LS(1L) Manuel de l'utilisateur Linux LS(1L)
NOM
ls, dir, vdir - Afficher le contenu d'un répertoire.
SYNOPSIS
ls [options] [fichier...]
Options POSIX : [-1acdilqrtuCFR]
Options GNU (forme courte) : [-1abcdfgiklmnopqrstuxABCD FGLNQRSUX] [-w cols] [-T cols] [-I motif] [--full-time] [--format={long,verbose,commas,across,vertical,single-col umn}] [--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}] [--color[={none,auto,always}]] [--help] [--version] [--]
DESCRIPTION
La commande ls affiche tout d'abord l'ensemble de ses arguments fichiers autres que des répertoires. Puis ls affiche l'ensemble des fichiers contenus dans chaque répertoire indiqué. dir et vdir sont des versions de ls affichant par défaut leurs résultats avec d'autres for mats.
info
info
est une commande GNU, alternative à man
, qui permet d'afficher des informations très complètes en anglais sur une commande passée en argument, et de naviguer dans les pages info.
Exemple : Informations (ci-dessous le début) sur la commande d'archivage tar.
$ info tar
File: tar.info, Node: tar invocation, Next: operations, Prev: Tutorial, Up: Top
3 Invoking GNU `tar'
********************
This chapter is about how one invokes the GNU `tar' command, from the command synopsis (*note Synopsis::). There are numerous options, and many styles for writing them. One mandatory option specifies the operation `tar' should perform (*note Operation Summary::), other options are meant to detail how this operation should be performed (*note Option Summary::). Non-option arguments are not always interpreted the same way, depending on what the operation is.
You will find in this chapter everything about option styles and
rules for writing them (*note Styles::). On the other hand, operations and options are fully described elsewhere, in other chapters. Here, you will find only synthetic descriptions for operations and options, together with pointers to other parts of the `tar' manual.
whatis
whatis
affiche la description courtes de la page de manuel d'une commande passée en paramètre.
Exemple : trouver à quoi sert la commande grep.
$ whatis grep
grep (1) - print lines matching a pattern
apropos
apropos
ressemble à whatis
, mais au lieu de passer le nom exact de la commande en argument, on donne un mot-clef (utile quand on cherche une commande).
Exemple : savoir les commandes qui contiennent le mot-clef « grep ».
$ apropos grep
zgrep (1) - rechercher une expression rationnelle dans des fichiers pouvant être compactés
zipgrep (1) - recherche dans les fichiers d'une archive zip les lignes contenant un motif
bzegrep [bzgrep] (1) - search possibly bzip2 compressed files for a regular expression
bzfgrep [bzgrep] (1) - search possibly bzip2 compressed files for a regular expression
bzgrep (1) - search possibly bzip2 compressed files for a regular expression
egrep [grep] (1) - print lines matching a pattern
fgrep [grep] (1) - print lines matching a pattern
grep (1) - print lines matching a pattern
pgrep (1) - look up or signal processes based on name and other attributes
pkill [pgrep] (1) - look up or signal processes based on name and other attributes
xzgrep (1) - search compressed files for a regular expression
zgrep (1) - search possibly compressed files for a regular expression
zipgrep (1) - search files in a ZIP archive for lines matching a pattern
Remarque : la commande man -k
donne le même résultat.
--help et -h
L'option --help
(ou -h
en forme courte) fonctionne avec presque toutes les commandes. Affiche une aide succincte et liste les arguments qui peuvent être passés à la commande.
Exemple : --help sur la commande shell de Firefox.
$ mozilla-firefox --help
Usage: mozilla-firefox [ options ... ] [URL]
where options include:
X11 options
--display=DISPLAY X display to use --sync Make X calls synchronous --no-xshm Don't use X shared memory extension --xim-preedit=STYLE --xim-status=STYLE --g-fatal-warnings Make all warnings fatal
Firefox options
-h or -help Print this message. -v or -version Print Firefox version. -P <profile> Start with <profile>. -migration Start with migration wizard. -ProfileManager Start with ProfileManager. -no-remote Open new instance, not a new window in running instance. -UILocale <locale> Start with <locale> resources as UI Locale. -safe-mode Disables extensions and themes for this session. -jsconsole Open the Error console. -browser Open a browser window. -private Enable private browsing mode. -setDefaultBrowser Set this app as the default browser.
uname
uname
affiche les informations systèmes de la machine.
Exemple : afficher toutes les informations disponibles sur la version du système d'exploitation et le type de la machine.
$ uname -a
date
date
affiche ou initialise la date et l'heure du système.
Exemple : afficher la date au format européen.
$ date +%d/%m/%Y
Exemple : définir la date du jour comme le 18 février 2011 et l'heure à 3h05.
$ date -s "02/18/2011 03:05:00"
cal
cal
(calendar) affiche le calendrier.
Exemple : afficher le calendrier au format français.
$ cal -m
bc
bc
(bench calculator) est une calculatrice basique pour les nombres entiers.
Exemple : calculer la multiplication 273 x 24.
$ bc
type
type
affiche des informations sur le type d'une commande, c'est à dire si c'est une commande du shell, un alias, une sous-routine etc.
Exemple : afficher les informations sur ls, ll et echo.
$ type ls $ type ll $ type echo
Utilisateurs et permissions
id
id
(identity) affiche le nom de l'utilisateur courant et le numéro associé, ainsi que son groupe et le numéro associé.
Exemple : afficher mes numéros d'utilisateur et de groupe.
$ id
finger
finger
affiche des informations sur un utilisateur.
Exemple : afficher les informations de l'utilisateur Léa.
$ finger lea
who
who
affiche la liste des utilisateurs connectés au système.
Exemple : savoir qui est connecté.
$ who
w
w
affiche la liste des utilisateurs connectés au système et ce qu'ils font actuellement.
Exemple : savoir qui fait quoi.
$ w
whoami
whoami
affiche sous quel nom d'utilisateur on est actuellement connecté au système.
Exemple : savoir qui on est.
$ whoami
lea
who am i
who am i
affiche sous quel nom d'utilisateur on s'est connecté au système au départ.
Exemple : je suis actuellement en root, mais je voudrais savoir qui j'étais au départ.
- whoami
root
- who am i
lea
su
su
(switch user ou super user) permet de changer d'utilisateur.
Exemple : se loguer en root.
$ su
Exemple : lancer un nouveau terminal en Léa avec les variables d'environnements de Léa.
$ su - lea
sudo
sudo
exécute un processus avec les droits d'un autre utilisateur selon les règles définies dans le fichier /etc/sudoers.
Exemple : on est déjà logué en léa et on veut lister les partitions, ce qui normalement nécessite les privilèges root.
sudo fdisk -l
useradd
useradd
créé un utilisateur.
Exemple : création de l'utilisateur Léa avec répertoire principal, groupe, numéro de compte et mot de passe.
$ useradd -d /home/lea -g manchots -u 1010 -p durmotdepasse lea
adduser
adduser
créé un utilisateur de manière interactive. Les paramètres du nouveau compte d'utilisateur sont demandés un à un.
Exemple : création de l'utilisateur Léa.
$ adduser lea
userdel
userdel
supprime un utilisateur.
Exemple : supprimer l'utilisateur stevejobs.
$ userdel stevejobs
groupadd
groupadd
crée un groupe.
Exemple : créer le groupe manchots.
groupadd -g 123 manchots
addgroup
addgroup
crée un groupe de manière interactive.
Exemple : créer le groupe manchots.
addgroup manchots
groupdel
groupdel
supprime un groupe.
Exemple : supprimer le groupe fenêtres.
$ groupdel fenetres
chown
chown
(change owner) change le propriétaire d'un fichier ou dossier, et éventuellement le groupe associé en même temps.
Exemple : attribuer un fichier à l'utilisateur Léa du groupe Manchots.
$ chown lea:manchots mon_fichier
chgrp
chgrp
(change group) change le groupe d'utilisateur possédant un fichier ou un dossier.
Exemple : attribuer un fichier le groupe Manchots.
$ chgrp manchots mon_fichier
chmod
chmod
(change mode) changer les permissions d'un fichier ou d'un répertoire. Il existent deux façons de passer les permissions : notation octale ou avec des lettres.
- r (4) : autorisation de lecture
- w (2) : autorisation d'écriture
- x (1) : autorisation d'exécution
Exemple : Donner tous les droits à l'utilisateur, le droit de lecture et d'éxécution pour les membres de son groupe et rien pour les autres sur un répertoire (via la notation octale).
$ chmod 750 mon_rep
Exemple : la même chose avec des lettres.
$ chmod u+rwx mon_rep
$ chmod g+rx mon_rep
$ chmod o-rwx mon_rep
cd
cd
(change directory) permet de se déplacer dans l'arborescence.
Exemple : aller dans le répertoire /tmp.
$ cd /tmp
Exemple : reculer dans le répertoire parent.
$ cd ..
ls
ls
(list) liste les éléments présents dans un répertoire.
Exemple : lister avec détails la liste des fichiers présents dans le répertoire courant en incluant les fichiers cachés.
$ ls -la total 40 drwx------ 2 jiel users 256 Aug 2 17:07 . drwxr-xr-x 26 bin bin 4096 Jul 28 14:12 .. -rwxr----- 1 jiel users 325 Jul 7 15:30 .profile -rw------- 1 jiel users 476 Aug 2 17:07 .sh_history -rw------- 1 jiel users 18 Aug 2 17:07 .vi_history -rwx------ 1 jiel users 50 Aug 2 17:07 lea.txt
pwd
pwd
(print working directory) affiche l'endroit où l'on est dans l'arborscence.
Exemple : où suis-je ?
$ pwd
/var/log
find
find
cherche des fichiers dans un ou plusieurs répertoires selon des critères précis.
Exemple : chercher des fichiers dont le nom contient youpi à partir de la racine.
$ find / -name "*youpi"
Exemple : afficher la liste des fichiers sous /usr/lib qui ont été modifiés ces 7 derniers jours.
$ find /usr/lib -type f -a -mtime -7 -print
locate / slocate
locate
(slocate
en version plus sécurisée) permet de trouver des fichiers dans une base de données de fichiers précédemment créée par la commande updatedb
.
Exemple : afficher les dix premiers fichiers contenant la chaîne conf.
$ locate -n 10 conf
which
which
informe où se trouve un programme dans l'arborescence.
Exemple : savoir où est situé le compilateur GCC.
$ which gcc
/usr/bin/gcc
whereis
whereis
localise les fichiers binaires, sources et les pages de manuel d'un programme.
Exemple : trouver les fichiers binaires, sources et pages de manuel de GRAMPS.
$ whereis gramps
lsof
lsof
(list open files) liste les fichiers actuellement ouverts sur le système.
Exemple : lister les fichiers ouverts sur sa machine.
$ lsof
Fichiers et répertoires
cp
cp
(copy) copie un fichier ou un répertoire dans un autre répertoire.
Exemple : copier un répertoire.
$ cp mon_fichier /tmp/toto/
dd
dd
permet de copier un fichier en effectuant des conversions. Cette commande est très utilisée pour les copies bits à bits.
Exemple : faire une image de sauvegarde d'un CD dans un fichier.
$ dd if=/dev/cdrom of=image_cd.iso
mv
mv
(move) déplace un fichier ou un répertoire dans un autre répertoire, ou renomme un fichier ou un répertoire.
Exemple : déplacer tous fichiers textes dans /home/lea.
$ mv *.txt /home/lea
Exemple : renommer le fichier ma_vie.odt en biographie.odt.
$ mv ma_vie.odt biographie.odt
du
du
(disk usage) donne une estimation de la taille d'un fichier ou d'un répertoire.
Exemple : afficher la taille des répertoires locaux en kilo-octets.
$ du -sk .
df
df
(disk free) affiche l'espace disque disponible des systèmes de fichiers.
Exemple : afficher l'espace disque disponible sur notre machine.
$ df
ln
ln
(file) crée un lien avec un autre dossier ou fichier.
Exemple : créer un lien symbolique en local vers le plugin flash de Firefox.
$ ln -s /usr/lib/mozilla/plugins/libflashplayer.so .
mkdir
mkdir
(make directory) créé un répertoire.
Exemple : créer le répertoire toto dans /tmp.
$ mkdir /tmp/toto
touch
touch
permet de modifier l'horodatage de dernier accès et de dernière modification d'un fichier. Cette commande permet également de créer un fichier vide.
Exemple : changer la date d'un fichier.
$ touch -d 'Feb 18 2011 3:15:00' mon_fichier
Exemple : créer un fichier vide dans /tmp.
$ touch /tmp/fichier_vide
file
file
affiche le type d'un fichier donné en paramètre.
Exemple : afficher le type du fichier lea.jpg.
$ file lea.jpg
rm
rm
(remove) supprime des fichiers ou des répertoires.
Exemple : supprimer un fichier.
$ rm lea.txt
Exemple : supprimer un répertoire et son contenu sans confirmation.
$ rm -rf mon_repertoire
rmdir
rmdir
(remove directory) supprime un répertoire vide.
Exemple : supprimer un répertoire vide ainsi que ses répertoires parents s'ils sont vides également.
$ rmdir -p /tmp/bazar/lea/mon_repertoire
cat
cat
(concatenate) concaténe des fichiers ou afficher leur contenu.
Exemple : afficher deux fichiers et les concaténer.
$ cat fichier1 1111111111 $ cat fichier2 2222222222 $ cat fichier* > fichier3 $ cat fichier3 1111111111 2222222222
more
more
affiche le contenu d'un fichier page par page en partant du début. more
est fréquemment combiné avec une commande dont le résultat est long et fait défiler l'écran.
Exemple : afficher le contenu de /var/log/messages page par page.
$ more /var/log/messages
Exemple : voir page par page les processus actifs sur le système.
$ ps -ef|more
less
less
affiche le contenu d'un fichier page par page. A la différence de la commande more, less
permet de revenir en arrière ou de rechercher une chaîne. De plus, à la différence d'éditeurs de texte comme vi, less n'a pas besoin de charger entièrement le fichier en mémoire pour l'afficher, ce qui est pratique avec les gros fichiers.
Exemple : afficher le contenu de /var/log/messages page par page.
$ less /var/log/messages
Archivage et compression
@ Voir sur Léa : Archivage et compression avec tar, pax, zip, rar etc.
gzip / gunzip
gzip
compresse et décompresse un fichier avec l'algorithme Deflate.
Exemple : compresser un fichier.
$ gzip mon_fichier
Exemple : décompresser un fichier gzippé.
$ gzip -d mon_fichier_compresse.gz
Remarque : la commande gunzip
peut remplacer gzip -d
.
bzip2 / bunzip2
bzip2
compresse un fichier avec l'algorithme bzip2. Son inverse est bunzip2
.
Exemple : compresser un fichier.
$ bzip2 mon_fichier
Exemple : décompresser un fichier bzippé.
$ bunzip2 mon_fichier_compresse.bz2
xz
xz
compresse et décompresse un fichier avec l'algorithme LZMA.
Exemple : compresser un fichier.
$ xz mon_fichier
Exemple : décompresser un fichier compressé.
$ xz -d mon_fichier_compresse.xz
tar
tar
permet d'archiver ou de désarchiver des fichiers. La commande GNU tar est capable de faire également de la compression.
Exemple : archiver et compresser un dossier avec Gunzip.
$ tar cvzf mon_archive.tar.gz dossier1/
Exemple : extraire une archive tar.gz.
$ tar xvzf mon_archive.tar.gz
pax
pax
, alternative à tar
, permet d'archiver ou de désarchiver des fichiers ainsi que de faire de la compression.
Exemple : archiver un dossier.
$ pax -wf mon_archive.pax -x pax dossier1/
Exemple : extraire une archive pax.
$ pax -rf mon_archive.pax
zip
zip
permet de créer et d'extraire des archives compressées au format ZIP.
Exemple : compresser un dossier.
$ zip -r nom_de_larchive.zip dossier
Exemple : décompresser une archive zip.
$ unzip nom_de_larchive.zip
Voir aussi
- Utiliser Unix, cours très complet de Philippe Marquet, sous GFDL.
@ Retour à la rubrique Administration système
Copyright
© 2011 Jiel Beaumadier
![]() |
Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. |