Aide-m ém oire des
com m andes Unix de A à L
Ce document regroupe les principales commandes susceptibles d’être employée dans le cours
« Programmation Shell et Langages de
Scripts », en rappelant leurs options les plus utilisées.
Pour avoir plus de détail sur une commande particulière, on consultera le manuel Unix (commande man).
a
propos Liste les pages dumanuelconcernant unsujet apropos shellarch Affiche l'architecture de lamachine.
at, atq, atrm M émorise, examine ousupprime des jobs à exécuter ultérieurement.
-flire les commandes dans le fichier indiqué.
$ at now + 10 minutes < script.sh
$ at 20:55 -f demarre_magnetoscope.sh awk Interpréteur dulangage Awk.
NF nombre de champs sur laligne FSséparateur de champs
NRnuméro d'enregistrement (de ligne)
$1, $2...$NFchamps successifs
ls -l | awk '{somme+= $5} END{print somme}'
additionne les tailles des fichiers durépertoire courant
b
asename Élimine le chemin d'accès et le suffixe éventueld'unnom de fichier.$ basename /usr/src/linux/signal.c signal.c
$ basename /usr/src/linux/signal.c .c signal
$
bash ShellGnuBash
batch Lance unjobendifférésuivant lacharge système batch << FIN
tri_des_enregistrements FIN
bc Calculateur enprécisionarbitraire.
-lbibliothèque mathématique complète.
$ pi=$(echo "a(1)*4" | bc -l)
$ echo $pi
3.14159265358979323844
$
bg Relance à l'arrière-planunjobarrêté.
$ application (Ctrl-Z)
[1]+ Stopped application
$ bg
[1]+ application &
$
bunzip2 Décompresse unfichier .bz2.
bzip2 Compresse unfichier.
c
al Affiche uncalendrier.cal 5 2003
cat Concatène des fichiers sur lasortie standard.
-nnumérote les lignes ensortie,
-vcaractères spéciauxsous forme symbolique.
cat entete.txt corps.txt signature.txt mail.txt
cc Compilateur C.
cd Change de répertoire de travail. cd /usr/src/linux cd –
revient aurépertoire précédent cd
revient dans le répertoire personnel.
chgrp Change le groupe propriétaire d'unfichier.
-Rmodifie récursivement les sous-répertoires.
chgrp equipe_2 fichier
chmod M odifie les permissions d'unfichier.
-Rmodifie récursivement les sous-répertoires.
chmod 644 texte
lecture pour tous, écriture seulement pour propiétaire chmod 755 script
lecture et exécutionpour tous, écriture pour propriétaire chmod u+s executable
Activationdubit Set-UID dufichier.
chown M odifie propriétaire et groupe d'unfichier.
-Rmodifie récursivement les sous-répertoires.
chown user1.equipe1 fichier chsh Change le shellappeléà laconnexion.
-lliste des shells disponibles,
-sutilise le shellde connexionindiqué.
chsh -s /bin/ksh
cksum Nombre d'octets et somme de contrôle.
clear Efface l'écran.
cmp Compare deuxfichiers.
-laffiche le rangde chaque octet différent, -sn‘affiche rien, renvoie vrai oufaux.
if cmp –s fichier1 fichier2; then ...
col Élimine les retours et sauts-de-ligne enarrière.
-benlève tous les retours enarrière.
man col | col -b > col.man.txt compress Compressionsimple de fichier.
cp Copie de fichiers.
-Rcopie récursive des sous-répertoires, -pgarde horodatage, propriétaire, permissions, -dcopie les liens symboliques entant que tels.
cp fichier fichier.sauve
cp -Rdp fichier_* /autre/repertoire crontab Édite le fichier crontabpersonnel.
-laffiche le contenuactuel, -eédite le fichier crontab, -rsupprime le fichier crontab.
csh ShellC.
csplit Découpe unfichier suivant des lignes de contexte.
-fpréfixe pour nommer les nouveauxfichiers.
csplit -f prefixe fichier '/^$/' {*}
crée prefixe00 prefixe01... endécoupant le fichier à chaque ligne vierge
cut Supprime une partie de chaque ligne.
-baffiche les caractères indiqués, -faffiche les champs indiqués, -dcaractè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.
d
ate Affiche ladate et l'heure dusystème.-dindique ladate à afficher + chaîne de format pour l'affichage.
date +"Date = %D, Heure = %X"
date -d 20030401 +"%A"
affiche "mardi"(1er avril2003).
dd Copie générique et conversionde fichiers.
if=nom dufichier d'entrée, of=nom dufichier de sortie, bs=taille des blocs à copier,
count=nombre maximalde blocs à copier, skip=positionde début de lecture, seek=positionde 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.
-kaffiche les tailles enkilo-octets, -Paffiche une ligne d'en-tête.
df –k /tmp/sauvegarde
© Noreddine ABGHOUR
diff Trouve les différences entre des fichiers.
-iignore les différences majuscule/minuscule, -bignore les différences d‘espaces blancs, -uutilise unformat compatible avecpatch, -rétudie récursivement les sous-répertoires.
diff -u original copie > modifs.patch dirname Affiche le répertoire d'unchemind'accès.
$ dirname /usr/src/linux/signal.c /usr/src/linux
$
dos2unix Conversionde texte duformat Dos vers Unix.
du Statistiques sur l'utilisationdudisque.
-aaffiche les statistiques pour les fichiers, -saffiche seulement le total,
-xignore les sous-répertoires sur autre système de fichiers, -kaffiche les tailles enkilo-octets.
e
cho Affiche une ligne de texte.-einterprète les caractères symboliques, -névite le saut-de-ligne final.
echo "Message d'avertissement" >&2 echo -n "Votre choix :"
echo -e "\r effectué : " $i "%"
echo –e "\007"
ed Éditeur ligne-à-ligne egrep Synonyme de grep -E emacs Éditeur Gnupleine page VersionX-W indow :xemacs.
env Lance unprogramme avec environnement modifié.
-iDémarre dans unenvironnement vide.
env
affiche l'environnement encours env -i /bin/sh
démarre le shelldans unenvironnement neuf. expand Convertit les tabulations enespaces.
-tlargeur de tabulationdésirée,
-iuniquement les tabulations endébut de ligne.
expand –i < script.sh > listing.txt export Passe une variable dans l‘environnement dushell
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 aushell)
f
alse Échoue enne faisant rien.until false; do ...
fc Édite ladernière ligne de l‘historique avecl‘éditeur mentionné dans lavariable d‘environnement FCEDIT.
fg Ramène unjobà l‘avant-plan.
fgrep Synonyme de grep -F file Affiche le type d‘unfichier
find Recherche des fichiers dans une arborescence.
-name motifrecherche sur le nom dufichier, -regex exprrecherche sur le nom complet, -atime ndernier accès ilyanjours, -ctime ndernière modif. de l'état dufichier, -mtime ndernière modif. ducontenudufichier, -perm modeautorisations d'accès aufichier, -size ntaille dufichier (enblocs), -type ttype dufichier,
-print affiche les noms des fichiers trouvés,
-exec ...\{\} \; exécute l'action indiquée en remplaçant
\{\}par le nom dufichier,
-ok ...\{\}\; execavecconfirmation.
find /tmp -ctime +30 -ok rm \{\} \;
find /home -name core -exec rm \{\} \;
fold Coupe les lignes d‘unfichier à une largeur donnée.
ftp Transfert de fichiers entres machines.
fuser Identifie les processus utilisant unfichier.
-kleur envoie le signalSIGKILL, -iconfirmationavant d'envoyer le signal, -mtous processus accédant ausystème de fichiers.
fuser -k /mnt/cdrom
g
rep Affiche les lignes correspondant à unmotif. -Ele motifest une expressionrationnelle étendue, -Fle motifest une chaîne pas une expression, -iignore différences majuscules/minuscules, -vaffiche les lignes ne correspondant pas, -laffiche seulement le nom des fichiers.grep -i "MoTiF" fichiers_*
grep -v "absent" fichier groups Affiche les groupes d‘unutilisateur.
gunzip Décompresse unfichier .gz.
gzip Compresse unfichier.
h
ead Affiche le début d'unfichier.-c naffiche les npremiers octets, -n naffiche les npremières lignes.
hostid Affiche l‘identifiant de lamachine hostname Affiche le nom de lamachine
iconv Convertit des textes d‘unjeude caractères vers unautre iconv –f LATIN1 –t UTF8 < fichier
i
d Affiche les UIDs et GIDs effectifs et réels.-uaffiche seulement l'UID, -gaffiche seulement le GID, -raffiche les identifiants réels.
if [ $(id -u) == 0 ]; then...
j
obs Affiche laliste des jobs encours.join Fusionne les lignes de deuxfichiers triés.
join fichier_1 fichier_2 > fichier_3
k
ill Envoie unsignalà unprocessus.-numérole signaldont le numéro est indiqué, -laffiche laligne des signauxdisponibles.
kill -9 30582
killall Envoie unsignalauxprocessus de même nom.
-idemande confirmationindividuellement, -laffiche laliste des signauxdisponibles.
killall xterm ksh ShellKorn
l
ess Affiche unfichier page-par-page.(alternative libre et puissante à more.) lex Générateur d‘analyseur lexical ln Crée des liens entre fichiers.
-fforce l'écrasement dufichier s'ilexiste, -scrée unliensymbolique.
ln -sf appli-1.4.sh appli logger Journalise unmessage système.
login Relance une connexionsur le système.
logname Nom de connexionde l'utilisateur.
lp Requête d‘impression -dsélectionde l‘imprimante -nnombre de copies
pr -l 66 appli.c | lp -d listing ls Affiche l‘état des fichiers et le contenudes répertoires.
-aaussi les fichiers commençant par unpoint, -dnoms des répertoires, pas leur contenu, -iaffiche les numéros d'i-nŒud, -lutilise unformat d'affichage long, -Raffiche récursivement les sous-répertoires.
ls -al /home/usera
ls -lR /var/ftp/pub > /var/ftp/liste- fichiers.txt
//
© Noreddine ABGHOUR
Ce document regroupe les principales commandes susceptibles d’être employées dans le cours
« Programmation Shell et Langages de Scripts », en rappelant leurs options les plus utilisées.
Pour avoir plus de détail sur une commande particulière, on consultera le manuel Unix (commande man)
ake
man ! " #
numéro $
-a
-t %
-k $ & !! apropos man 1 c
man -k socket
md5sum ! ' ( )*
mkdir
-p !
-m mode # + ,
mkdir -p /var/lib/new-app/font/big mkfifo -.-/ 0 1 !! 2
-m mode # + ,
mkfifo -m 666 /tmp/fifo_serveur
mknod #
b c 1 ,
mknod /dev/hda1 b 3 1
! ! 3 4! 546
more 0 less2
mv) !!
-f + !
for i in *.JPG; do mv $i ${i%JPG}jpg;
done
!! 7%8 3
ice # !!
! ! -n valeur !
nl9 ! +
-f a !
nohup # !! 1 #
#
$ nohup ~/bin/calcul &
[1] 17300
$ exit
d + +
!
-c , ! ! 1
-x # ! #
asswd !
$ passwd
# passwd utilisateur
patch $ ! &
-pn , 1 !
$ patch –p1 ../new_version/patch_1
pathchk: + !
-p 1
if pathchk "$rep/$fic" ; then...
perl. %
-w!
ping; !
-c !1 -w ! #!
pr% # +!
-h texte $ + ' < $ -l n
-t ! ' <
printf ! $ !
printf "%05d %4.2f" $x $y ps +
-ax 0 )2
-u ! ! , 0 )2
-e 0 =:2
-f ! ! , 0 =:2 -w
ps -aux (BSD) ps -ef (SysV)
pwd !
uota $ + $
cp > = ,!
renice( +
renice +20 14210
rev. + 0 tac2
rlogin # = ,!
0 ssh2
rm
-f !
-i ! $ !
-r ! '
rm -rf /home/usera/tmp rmdir
rsh # !! = ,!
0 ssh2 cript 'a fic 3
sed? '
-e "..." !!
-f fic !!
-n ! +
!! @
p d
n &
s ! !
sed -ne '1,/^$/p' < mail.txt
# + ' < + ! sh
sleep !
sleep 14
06 2
sleep 3m 05! 2
sort; + #
-b 1 1
-f ! 3 4!
-r
split)
-l n -b n
split -b 1440k gros_fichier disquette_
ssh # = ,!
ssh user@hostname
ssh –l user hostname /usr/bin/commande
strings >
stty !
-a
sane !
-echo + ,
-icanon min 0 time 1 , &
© Noreddine ABGHOUR
su # ".) 8.) - #
sum !! A !1 1
ac , & +
tail +
-num !1 $
-f !
tail -f /var/log/messages
tar" +
-f fic ! + -c
-t +
-x # +
-z $ 8 B 0 2 !
-j $ 1B 0 2 !
-v! 1
tar -czf save.tar.gz /home/usera/*
tar -xzf appli-1.10.tgz
tcl. ; 0 wish2
tee
-a 3 !
...| tee hublot_1.log | ...
telnet # = ,!
0 ssh2
test;= + !
= =! !! [...]
if test –f $fichier ; then
time ! !! !
touch( + +
-t MMJJhhmm $
-r fichier +
tr; ! ,
tr ‘àâäçéèêïîôöùû’ ‘aaaceeeiioouu’|...
trueC &
while true; do ...
tty ! ! +
name ! = ,!
-m = ! -n ! +A
-r = ,!
-s = ,! +#
-a !
uncompress) ! .Z
unexpand 1
0 expand2
uniqD $
-u + $ $
-d + $ $
-c !1 +
unix2dos # ! " # ! )
unzip) ! .zip
uptime; ! ! = ,!
users9 !
uudecode) .uu
uuencode 1
i?
: E'F G @gvim
ait +
$ ./commande &
[1] 2927 ./commande
$ wait 2927
[1]+ Done ./commande
$
wc9 !1 , ! +
whereis C # 1
! + !!
which ! + , !!
who( $
whoami ".)
wish. ; 11 ,$ ;H
args # !!
find . -name "*.c" | xargs grep "init()"
acc8 = = #$
yes ! >
0 Iy2
yes | rm -r /var/old-backup/
cat !
zip !
Expressions rationnelles
grep sed find –regex
# grep –e awk perl
#
Éléments communs
\ ! , #
prix=25\$
. ! ! $ ,
g.n.rique
J 1 >
K >
^$ 0 2
* $ B [ ]
[eéêèë]
[0-9]
[[:upper:]]
\i ,! ! ,
Classes de caractères
alpha , 1 $
digit ! # xdigit # ! #
alnum , ! $
lower! upper! 3 blank , 1 space , punct
graph =!1 1
print =!1 1 1
cntrl , A !
Éléments des expressions rationnelles étendues
| Y|y
+ !
? ! B
[+-]?[[:digit:]]+
{ } ! !1
( ) !
Équivalences pour les expressions rationnelles simples
\| | #
\+ + #
\? ? #
\{ \} #{} #
\( \) #() #
© Noreddine ABGHOUR