Вы находитесь на странице: 1из 4

Commandes Unix : complments

Juliusz Chroboczek Septembre

Expansion de paramtres
Un paramtre de ligne de commande qui contient lun des caractres * ou ? est un motif pour lensemble de tous les chiers qui peuvent tre obtenus en remplaant * par une suite quelconque de caractres, et ? par un seul caractre. Par exemple, le motif ala* reprsente tous les chiers qui commencent par ala , et *.tex reprsente tous les chiers qui se terminent par .tex . Lorsquun tel motif apparat dans une ligne de commande, il est remplac par les noms de tous les chiers prsents sur le systme de chiers qui correspondent ce motif. Ainsi,
$ echo *.tex

pourra par exemple a cher


tp0.tex tp1.tex guide-unix.tex

et on pourra copier tous ces chiers en excutant une commande de la forme


$ cp *.tex ~/archives/

Permissions et privilges
. Utilisateurs et groupes
Chaque utilisateur dun systme Unix a un nom dutilisateur, unique sur le systme, et appartient un groupe. Par exemple, lutilisateur jch des machines de lUFR dinformatique appartient au groupe enseignants. chaque nom dutilisateur et groupe sont associs un certain nombre de privilges ou droits, comme par exemple celui de modi er un chier donn ou daccder au CD-ROM. Il existe un compte distingu, appel root, qui a tous les privilges possible. Comme ce compte est trs puissant, et permet trs facilement de casser le systme, on vite normalement de passer du temps en tant root ; les commandes su et sudo permettent de devenir root de faon temporaire.

. Permissions de chier
Chaque chier dans le systme de chiers appartient un utilisateur, son propritaire, et un groupe, son groupe propritaire. Il est aussi accompagn dun ensemble de permissions, qui indiquent quels utilisateurs ont le droit de le manipuler. Les permissions dun chier consistent de neufs bits. Ce sont les droit dexcution , dcriture et de lecture pour le propritaire du chier, les autres membres du groupe, et les autres utilisateurs. Les permissions sont a ches par la commande ls -l, et changes par la commande chmod. Le propritaire peut tre chang laide de la commande chown.

Variables denvironnement
Lorsque le shell excute un programme (une application, une commande), il lui passe un environnement, soit un ensemble de chanes de la forme
NOM=valeur

par exemple
EDITOR=emacs

Une application peut varier son comportement selon les valeurs des variables denvironnement ; par example, utiliser lditeur de texte spci par EDITOR.

. Visualisation des variables denvironnement


Dans une commande shell, la notation $EDITOR est remplace par la valeur de la variable EDITOR ; ainsi, on pourra vri er quel diteur est utilis par dfaut en tapant
$ echo $EDITOR

La commande set donne la liste de toutes les variables denvironnement et de leurs valeurs.
$ set | grep EDITOR

. A ectation des variables denvironnement


Il est possible de changer ou dajouter des variables denvironnement au shell courant laide de la commande export ; par exemple, on pourra changer la valeur de la variable EDITOR en tapant
$ export EDITOR=emacs

Pour supprimer la d nition dune variable denvironnement, on peut utiliser la commande unset, qui prend un seul argument, le nom de la variable denvironnement supprimer.
$ unset EDITOR
Vous remarquerez la di rence avec Windows, o le droit dexcution est encod dans le nom du chier un chier sous Windows est excutable si son nom se termine par .exe ou .com. Certaines versions trs anciennes du Bourne Shell ne comprennent pas cette syntaxe, et il faudra alors taper EDITOR=emacs puis export EMACS.

. A ectation temporaire des variables denvironnement


Pour a ecter une variable denvironnement uniquement pour la dure de lexcution dune commande, on fait prcder linvocation de la commande par la ectation. Par exemple,
$ EDITOR=emacs mutt

Quelques variables denvironnement

EDITOR : lditeur par dfaut. PAGER : le paginateur par dfaut (more, less, etc.). HOME : le rpertoire home de lutilisateur. PATH : la suite de rpertoires o les commandes sont recherches, spars par des deux-points : .

Redirections, tubes
Lendroit do un processus Unix obtient ses entres sappelle son entre standard ; lendroit o il crit sa sortie sappelle sa sortie standard ; et lendroit o il a che ses messages derreur sappelle sa sortie derreur. Normalement, lentre standard est connecte au clavier, tandis que la sortie et la sortie derreur sont connectes lcran. Il est possible de connecter ces descripteurs des chiers, ou dautres processus.

. Redirections
On connecte la sortie standard dun processus un chier en faisant suivre linvocation dun programme dun signe suprieur > et du nom de chier vers lequel on veut la rediriger. Par exemple, la commande suivante stocke la chane Ala ma kota dans un chier nomm ala.text :
$ echo Ala ma kota > ala.text

De mme, lentre standard peut tre redirige en faisant suivre linvocation dun programme dun signe infrieur < :
$ sort < ala.text

Normalement, la sortie derreur nest pas redirige : mme si la sortie standard lest, les messages derreur apparaissent sur le terminal. Cependant, on peut rediriger la sortie derreur en faisant suivre linvocation dun programme de la syntaxe 2> :
$ grep -r Ala ~/enseignement 2> erreurs.log

Rediriger la sortie derreur est particulirement utile lorsquun processus sexcute en tche de fond et on ne veut pas quil nous drange :
$ grep -r Ala ~/enseignement > resultats.log 2> erreurs.log

. Tubes
On peut aussi connecter la sortie standard dun processus lentre standard dun autre. Pour cela, on spare les invocations de deux programmes par le symbole | . Par exemple, la ligne de commande suivante connecte la sortie du processus qui excute ls lentre du processus qui excute grep :
$ ls | grep ala

Accs distance
La commande ssh permet daccder une machine distance. Elle prend un seul argument, qui spci e le nom de lutilisateur et la machine laquelle on veut accder.
$ ssh jch@machine.exemple.fr Password:

La commande scp permet de faire une copie dun chier entre machines. Sa syntaxe est analogue celle de la commande cp, sauf quau moins un des chiers doit contenir une spci cation dutilisateur et de machine.
$ scp jch@machine.exemple.fr:enseignement/bioinfo/tp1.tex .

ou bien
$ scp jch@machine.exemple.fr:/home/jch/enseignement/bioinfo/tp1.tex .

La commande scp est connatre, car elle est installe sur toutes les machines Unix rcentes. Il existe cependant des commandes plus puissantes de copie de chiers entre machines ; personnellement, jutilise souvent rsync et unison. Utilisation depuis Windows Le programme putty est une version pour Windows de ssh, et permet donc dutiliser une machine Unix depuis une machine Windows. Vous le trouverez sur http://www.chiark.greenend.org.uk/~sgtatham/putty/.

Вам также может понравиться