Ce document regroupe les principales commandes susceptibles d'être employées régulièrement par les utilisateurs Unix, rappelant leurs options les plus courantes. Pour avoir plus de détail sur une commande particulière, on consultera le manuel Unix (commande man).
apropos - Liste les pages du manuel concernant un sujet apropos shell
arch - Affiche l'architecture de la machine.
at, atq, atrm - Mémorise, examine ou supprime des jobs à exécuter ultérieurement.
-f lire les commandes dans le fichier indiqué. at now + 10 minutes < script.sh at 20:55 -f demarre_magnetoscope.sh
awk - Interpréteur du langage Awk.
NF nombre de champs sur la ligne
FS séparateur de champs
NR numéro d'enregistrement (de ligne)
$1, $2…$NF champs successifsls -l |awk '{sum+= $5} END{print sum}' additionne les tailles des fichiers du répertoire courant
basename - Élimine le chemin d'accès et le suffixe éventuel d'un nom de fichier.
$basename /usr/src/linux/signal.c signal.c
$basename /usr/src/linux/signal.c .c signal
bash - Shell Gnu Bash
batch - Lance un job en différé suivant la charge CPU
batch << FINtri_des_enregistrementsFIN
bc - Calculateur en précision arbitraire.
-l bibliothèque mathématique complète.
$ pi=$(echo “a(1)*4” | bc -l)
$ echo $pi3.14159265358979323844
bg - Relance à l'arrière-plan un job arrêté.
$ application(Ctrl-Z)[1]+ Stopped application$ bg[1]+ application &
bunzip2 - Décompresse un fichier .bz2.
bzip2 - Compresse un fichier.
cal - Affiche un calendrier. cal 5 2003
cat - Concatène des fichiers sur la sortie standard.
-n numérote les lignes en sortie,
-v caractères spéciaux sous forme symbolique.
cat entete corps.txt signature > mail
cc - Compilateur C.
cd - Change de répertoire de travail.cd /usr/src/linux
cd - revient au répertoire précédent
cd revient dans le répertoire personnel.
chgrp - Change le groupe propriétaire d'un fichier.
-R modifie récursivement les sous-répertoires.
chgrp equipe_2 fichier
chmod - Modifie les permissions d'un fichier.
-R modifie récursivement les sous-répertoires.
chmod 644 texte lecture pour tous, écriture seulement pour propiétaire
chmod 755 script lecture et exécution pour tous, écriture pour propriétaire
chmod u+s executableActivation du bit Set-UID du fichier.
chown - Modifie propriétaire et groupe d'un fichier.
-R modifie récursivement les sous-répertoires.chown user1.equipe1 fichier
chsh - Change le shell appelé à la connexion.
-l liste des shells disponibles,
-s utilise le shell de connexion indiqué.chsh -s /bin/ksh
cksum - Nombre d'octets et somme de contrôle.
clear - Efface l'écran.
cmp - Compare deux fichiers.
-l affiche le rang de chaque octet différent,
-s n'affiche rien, renvoie vrai ou faux.if cmp -s fichier1 fichier2; then …
col - Élimine les retours et sauts-de-ligne en arrière.
-b enlève tous les retours en arrière. man col | col -b > col.man.txt
compress - Compression simple de fichier.
cp - Copie de fichiers.
-R copie récursive des sous-répertoires,
-p garde horodatage, propriétaire, permissions,
-d copie les liens symboliques en tant que tels.
cp fichier fichier.sauvecp -Rdp fichier_* /autre/repertoire
crontab - Édite le fichier crontab personnel.
-l affiche le contenu actuel,
-e édite le fichier crontab,
-r supprime le fichier crontab.
csh - Shell C.
csplit - Découpe un fichier suivant des lignes de contexte.
-f préfixe pour nommer les nouveaux fichiers.
csplit -f prefixe fichier '/^$/' {*}crée prefixe00 prefixe01… en découpant le fichier à chaque ligne vierge
cut - Supprime une partie de chaque ligne.
-b affiche les caractères indiqués,
-f affiche les champs indiqués,
-d caractère séparateur de champ
ls -l | cut -b 20-28 affiche uniquement les caractères 20 à 28, c'est-à-dire le groupe des fichiers.
date - Affiche la date et l'heure du système.
-d indique la date à afficher
+ chaîne de format pour l'affichage.date +“Date = %D,
Heure = %X”date -d 20030401 +”%A”affiche “mardi” (1er avril 2003).
dd - Copie générique et conversion de fichiers.
if= nom du fichier d'entrée,
of= nom du fichier de sortie,
bs= taille des blocs à copier,
count= nombre maximal de blocs à copier,
skip= position de début de lecture,
seek= position de début d'écriture.
dd if=/dev/fd0 of=disquette.img bs=1024 count=1440
df - Place occupée sur les systèmes de fichiers.
-k affiche les tailles en kilo-octets,
-P affiche une ligne d'en-tête.df -k /tmp/sauvegarde
diff - Trouve les différences entre des fichiers.
-i ignore les différences majuscule/minuscule,
-b ignore les différences d'espaces blancs,
-u utilise un format compatible avec patch,
-r étudie récursivement les sous-répertoires.
diff -u original copie > modifs.patch
dirname - Affiche le répertoire d'un chemin d'accès.
dirname /usr/src/signal.c /usr/src
dos2unix - Conversion de texte du format Dos vers Unix.
du - Statistiques sur l'utilisation du disque.
-a affiche les statistiques pour les fichiers,
-s affiche seulement le total,
-x ignore les autres systèmes de fichiers,
-k affiche les tailles en kilo-octets.
echo - Affiche une ligne de texte.
-e interprète les caractères symboliques,
-n évite le saut-de-ligne final.
echo “Message d'avertissement” >&2
echo -n “Votre choix :”
echo -e ” effectué : ” $i ”%“echo -e “007”
ed - Éditeur ligne-à-ligne
egrep - Synonyme de grep -E
emacs - Éditeur Gnu pleine pageVersion X-Window : emacs.
env - Lance un programme en environnement modifié.
-i Démarre dans un environnement vide.
env affiche l'environnement en cours
env -i /bin/shdémarre le shell dans un environnement neuf.
expand - Convertit les tabulations en espaces.
-t largeur de tabulation désirée,
-i uniquement les tabulations en début de ligne.
expand -i < script.sh > listing.txt
export - Passe une variable dans l'environnement du shell
export REP_APPLI=/usr/local/lib/appli/ VERSION_APPLI=1.5 export VERSION_APPLI
expr Évalue des expressions. expr 4 “*” 3 + 2 affiche 14(les guillemets protègent l'étoile par rapport au shell)
false - Échoue en ne faisant rien. until false; do …
fc - Édite la dernière ligne de l'historique avec l'éditeur mentionné dans la variable d'environnement FCEDIT.
fg - Ramène un job à l'avant-plan.
fgrep - Synonyme de grep -F
file - Affiche le type d'un fichier
find - Recherche des fichiers dans une arborescence.
-name motif recherche sur le nom du fichier,
-regex expr recherche sur le nom complet,
-atime n dernier accès il y a n jours,
-ctime n dernière modif. de l'état du fichier,
-mtime n dernière modif. du contenu du fichier,
-perm mode autorisations d'accès au fichier,
-size n taille du fichier (en blocs),
-type t type du fichier,
-print affiche les noms des fichiers trouvés,
-exec …{} ; exécute l'action indiquée en remplaçant {} par le nom du fichier,
-ok …{}; exec avec confirmation.
find /tmp -ctime +30 -ok rm {} ;
find /home -name core -exec rm {} ;
fold- Coupe les lignes d'un fichier à une largeur donnée.
ftp - Transfert de fichiers entres machines.
fuser - Identifie les processus utilisant un fichier.
-k leur envoie le signal SIGKILL,
-i confirmation avant d'envoyer le signal,
-m tous processus accédant au système de fichiers.
fuser -k /mnt/cdrom
grep - Affiche les lignes correspondant à un motif.
-E le motif est une expression rationnelle étendue,
-F le motif est une chaîne pas une expression,
-i ignore différences majuscules/minuscules,
-v affiche les lignes ne correspondant pas,
-l affiche seulement le nom des fichiers.
grep -i “MoTiF” fichiers_*
grep -v “absent” fichier
groups - Affiche les groupes d'un utilisateur.
gunzip - Décompresse un fichier .gz.
gzip - Compresse un fichier.
head - Affiche le début d'un fichier.
-c n affiche les n premiers octets,
-n n affiche les n premières lignes.
hostid - Affiche l'identifiant de la machine
hostname - Affiche le nom de la machine
iconv
- Convertit des textes d'un jeu de caractères vers un autre
iconv -f LATIN1 -t UTF8 < fichier
id - Affiche les UIDs et GIDs effectifs et réels.
-u affiche seulement l'UID,
-g affiche seulement le GID,
-r affiche les identifiants réels.
if [ $(id -u) == 0 ]; then…
jobs - Affiche la liste des jobs en cours.
join - Fusionne les lignes de deux fichiers triés.
join fichier_1 fichier_2 > fichier_3
kill - Envoie un signal à un processus.
-numéro le signal dont le numéro est indiqué,
-l affiche la ligne des signaux disponibles.
kill -9 30582
killall - Envoie un signal aux processus de même nom.
-i demande confirmation individuellement,
-l affiche la liste des signaux disponibles.
killall xterm
ksh - Shell Korn
less - Affiche un fichier page-par-page. (alternative libre et puissante à more.)
lex - Générateur d'analyseur lexical
ln - Crée des liens entre fichiers.
-f force l'écrasement du fichier s'il existe,
-s crée un lien symbolique.
ln -sf appli-1.4.sh appli
logger - Journalise un message système.
login - Relance une connexion sur le système.
logname - Nom de connexion de l'utilisateur.
lp - Requête d'impression
-d sélection de l'imprimante
-n nombre de copiespr -l 66 appli.c | lp -d listing
ls - Liste les fichiers et le contenu des répertoires.
-a aussi les fichiers commençant par un point,
-d noms des répertoires, pas leur contenu,
-i affiche les numéros d'i-n?ud,
-l utilise un format d'affichage long,
-R affiche récursivement les sous-répertoires.
ls -al /home/usera
make - Construction d'application, et gestion des dépendances.
man - Affiche une page du manuel Unix.
numéro recherche dans la section indiquée,
-a affiche toutes les pages correspondant,
-t écrit la page Postscript sur la sortie standard,
-k équivalent à la commande
apropos.man 1 cman -k socket
md5sum - Calcule et affiche un compte-rendu MD5.
mkdir - Crée des répertoires.
-p crée récursivement les répertoires parents,
-m mode fixe les autorisations d'accès.
mkdir -p /var/lib/new-app/font/big
mkfifo - Crée des FIFOs (tubes nommés).
-m mode fixe les autorisations d'accès.
mkfifo -m 666 /tmp/fifo_serveur
mknod - Crée des fichiers spéciaux.
b ou c fichier spécial bloc ou caractère
mknod /dev/hda1 b 3 1crée le noeud de numéros majeur/mineur 3/1.
more - Consulte un fichier page par page (voir less)
mv - Déplace ou renomme des fichiers.
-f force l'écrasement du fichier destination.
for i in *.JPG; do mv $i ${i%JPG}jpg; done renomme tous les fichiers .JPG en .jpg
nice - Exécute un programme avec une courtoisie d'ordonnancement modifiée.
-n valeur augmente la courtoisie de la valeur.
nl - Numérote les lignes d'un fichier.
-f a numérote aussi les lignes vides.
nohup - Exécute un programme en le rendant insensible aux déconnexions.
$ nohup ~/bin/calcul &[1] 17300$ exit
od - Affiche le contenu d'un fichier en octal ou sous d'autres formats.
-c affiche les caractères imprimables en Ascii,
-x affiche les codes hexadécimaux.
passwd - Change le mot de passe.$ passwd
# passwd utilisateur
patch - Applique une série de modifications à un fichier.
-pn enlève n répertoires au début des noms de fichiers
$ patch -p1 ../new_version/patch_1
pathchk - Vérifie la validité d'un nom de fichier.
-p vérification stricte de la portabilité.
if pathchk “$rep/$fic” ; then…
perl - Interpréteur du langage Perl.
-w mode de vérification stricte
ping - Test de liaison entre machines.
-c nombre de tentatives-w délai maximal en secondes
pr - Prépare des fichiers de texte pour l'impression.
-h texte indique l'en-tête de chaque page,
-l n affiche n lignes par pages,
-t supprime les en-têtes et pieds de pages.
printf - Affiche des données numériques formatées.
printf ”%05d %4.2f” $x $y
ps - Affiche l'état des processus en cours.
-ax tous les processus (BSD)-u informations complètes (BSD)
-e tous les processus (SysV)
-f informations complètes (SysV)
-w lignes larges.
ps -aux (BSD)
ps -ef (SysV)
pwd - Affiche le nom du répertoire de travail.
quota - Affiche les quotas d'utilisation du disque.
rcp - Copîe de fichiers entre systèmes différents.
renice - Modifie la priorité d'un processus en cours.
renice +20 14210
rev - Inverse les lignes d'un fichier (voir aussi tac).
rlogin - Connexion sur un système distant(préférer ssh)
rm - Efface des fichiers.
-f pas de confirmation,
-i confirmation avant chaque effacement,
-r efface récursivement les sous-répertoires.
rm -rf /home/usera/tmp
rmdir - Suppression de répertoires vides.
rsh - Exécution de commande sur système distant.(préférer ssh).
script - Enregistre une session de travail .
-a fic ajoute le résultat dans le fichier.
sed - Éditeur non-interactif.
-e ”…” commandes fournies sur la ligne,
-f fic commandes dans un fichier,
-n supprime l'affichage des lignes traitées.
Commandes essentielles de Sed :
p affiche la ligne sélectionnée
d ignore la ligne sélectionnée
n affiche la ligne et passe à la suivante
s recherche un motif et le remplace
sed -ne '1,/^$/p' < mail.txtextrait l'en-tête d'un mail.
sh - Shell Bourne.
sleep - Attend une durée déterminée.
sleep 14(14 secondes)
sleep 3m(3 minutes)
sort - Trie les lignes d'un fichier texte.
-b ignorer les blancs en début de ligne,
-f ignorer les différences majuscules/minuscules,
-r inverser l'ordre du tri.
split - Découpe un fichier en différentes partie.
-l n en fichiers de n lignes,
-b n en fichiers de taille n.
split -b 1440k gros_fichier disquette_
ssh - Connexion sécurisée sur un système distant.
ssh user@hostname
ssh -l user hostname /usr/bin/commande
strings - Cherche les chaînes Ascii dans un fichier
stty - Configuration du terminal.
-a affiche la configuration en cours,
sane revient en configuration normale,
-echo pas d'écho des caractères frappés,
-icanon min 0 time 1lecture des caractères à la volée.
su - Exécute un shell avec un UID et un GID différents.
- exécute un shell de login.
sum - Somme de contrôle, et nombre de blocs.
tac - Concatène et affiche des fichiers à l'envers.
tail - Affiche la fin d'un fichier.
-num affiche le nombre de lignes indiqué,
-f affiche en continu les modifications.
tail -f /var/log/messages
tar - Utilitaire de gestion d'archives.
-f fic nom de l'archive,
-c crée une archive,
-t affiche le contenu d'une archive,
-x extrait le contenu d'une archive,
-z invoque Gnu gzip pour les (dé)compressions,
-j invoque bzip2 pour les (dé)compressions,
-v mode volubile.
tar -czf save.tar.gz /home/usera/*
tar -xzf appli-1.10.tgz
tcl - Interpréteur du langage Tcl (voir aussi wish).
tee - Copie entrée sur sortie standard et dans un fichier.
-a ajout en fin de fichier sans écrasement. …| tee hublot_1.log | …
telnet - Connexion sur un système distant.(préférer ssh)
test - Type d'un fichier, ou comparaison de valeurs.
Synonyme de la commande shell […].
if test -f $fichier ; then
time - Chronométre une commande simple.
touch - Modifie l'horodatage d'un fichier.
-t MMJJhhmm utilise l'horodatage indiqué,
-r fichier utilise l'horodatage du fichier,
tr - Transpose ou élimine des caractères.
tr 'àâçéèêïîôöùû' 'aaceeeiioouu'|…
true - Réussit à ne rien faire… while true; do …
tty - Affiche le nom du terminal de l'entrée standard.
uname - Affiche des informations sur le système.
-m type de matériel,
-n nom d'hôte,
-r version du système,
-s système d'exploitation,
-a toutes les informations.
uncompress - Décompression de fichier .Z.
unexpand - Convertit les espaces en tabulation. (voir aussi expand)
uniq - Ôte les lignes dupliquées d'un fichier trié.
-u n'affiche que les lignes uniques,
-d n'affiche que les lignes dupliquées,
-c affiche le nombre d'occurrences des lignes.
unix2dos - Conversion de textes du format Unix vers Dos.
unzip - Décompresse un fichier .zip.
uptime - Temps fonctionnement et charge système.
users - Nom des utilisateurs connectés.
uudecode - Décode un fichier .uu.
uuencode - Code un fichier binaire en Ascii.
Vi - Éditeur interactifVersion X-Window : gvim
wait - Attend la fin d'un processus.
$ ./commande &
[1] 2927 ./commande
$ wait 2927
[1]+ Done ./commande
wc - Nombres de caractères, mots et lignes d'un fichier.
whereis - Recherche les fichiers exécutables, les sources et les pages de manuel d'une commande.
which - Affiche le chemin d'accès des commandes.
who - Montre qui est connecté.
whoami - Affiche notre UID effectif.
wish - Interpréteur Tcl avec bibliothèque Tk.
xargs - Construit et exécute une ligne de commande. find . -name “*.c” | xargs grep “init()”
yacc - Générateur d'analyseur syntaxique.
yes - Affiche indéfiniment une chaîne(par défaut 'y')yes | rm -r /var/old-backup/
zcat - Affiche le contenu d'un fichier compressé.
zip - Compresse un fichier.
grep, sed, find -regex utilisent des expressions rationnelles
simples.grep -e, awk, perl utilisent des expressions rationnelles
étendues.
Éléments communs supprime la signification des caractères spéciaux,prix=25$
. remplace n'importe quel caractère,g.n.rique
$ représente la fin de chaîne,
* indique zéro, une ou plusieurs occurrences,
[ ] représente une liste, un intervalle ou une classe, [eéêèë][0-9] [ [:upper:] ]
i contenu du ième regroupement entre parenthèses.
Classes de caractères
alpha caractères alphabétiques,
digit chiffres décimaux,
xdigit chiffres hexadécimaux,
alnum caractères alphanumériques,
lower minuscules,
upper majuscules,
blank caractères blancs,
space caractères séparateurs,
punct signes de ponctuation,
graph symboles visibles,
print symboles visibles ou blancs,
cntrl caractères de contrôle d'impression.
Éléments des expressions rationnelles étendues
| représente une alternative,Y|y
+ réclame une ou plusieurs occurrences,
? réclame zéro ou une occurrence,
[+-]? [ [:digit:] ] +
{ } réclament un certain nombre de répétitions,
( ) regroupent des éléments.