Fiche n° 25 : Je sais utiliser les commandes UNIX(Linux)

publicité
Fiche n° 25 :
Je sais utiliser les commandes UNIX(Linux)
Fenêtre de commande
Les commandes Unix permettent de lancer des tâches (dont des applications), de les contrôler mais aussi de
gérer les fichiers, les files d’attentes des impressions, envoyer des mails etc… même si des utilitaires plus
transparents sont disponibles.
Pour lancer une commande, il faut disposer d’une fenêtre de commande (bash ou shell) comme le montre la
figure 3.2 (le répertoire courant est ici : /home ; commande pwd)
Généralité sur les commandes
Les commandes sont exécutées grâce à un interprète de commande (shell). Pour connaître les commandes
disponibles et leur mode d’utilisation :
man <commande recherchée>
puis validez (return/enter)
man command Ã
De manière générale, une commande est tapée après le prompt sous la forme (NB il peut également s’agir
d’un fichier exécutable contenant des commandes, voir des variables):
<nom commande> [option] [arguments]
les options sont en général précédées d’un tiret ‘-‘
A chaque processus (donc à chaque commande) sont associés trois fichiers : fichier d’entrée, sortie et de
messages d’erreur. De manière implicite il s’agit des entré/sortie standard (clavier/écran) qui peuvent être
redirigées de manière explicite (vers un fichier par exemple). Cette banalisation des entrées-sorties permet une
grande facilité d’utilisation d’où l’intérêt pour les « programmeurs » pour les re-directions et l’enchaînement de
processus à l’aide de tubes ‘|’ et de caractères.
Entrée
standard
Sortie
standard
Commande 1
Tube
Entrée
standard
Commande 2
Sortie
standard
tee
fichiers
Figure 25.1: les tubes : ex. : commande1 | commande2 & [Simonot et al., 1991]
Les caractères possibles sont :
&
processus exécuté en arrière plan, on récupère son ID
&&
la commande 2 sera exécutée que si la commande 1 réussie
||
la commande 2 sera exécutée que si la commande 1 échoue
;
chaque commande est exécutée
| ou(|&)redirection de la sortie (et message d’erreur) vers commande 2
> ou (>$)
redirection de la sortie (et message d’erreur) vers un fichier
<
redirection de l’entrée à partir d’un fichier
Gérer les fichiers et les répertoires
Comme sous Windows, les fichiers sont stockés dans des répertoires (dossiers). Vous disposez d’un répertoire
personnel (dont il faudra protéger l’accès en lecture/écriture) sur lequel vous pouvez stocker vos données. Vous
possédez donc des droits d’accès sur les fichiers dont vous êtes propriétaire et ceux sur lesquels on vous
donne des autorisations.
Ce répertoire porte le nom de votre <login> et est situé sur la machine Hainaut. Le chemin d’accès est le
suivant (à partir de la racine) : /home/<groupe>/<login>
[email protected]
page 18
Les droits d’accès sont de 3 types lecture (r), écriture (w) et exécution (x). Il s’appliquent aux dossiers (d) ou
aux fichiers (-) voirs au fichiers liés (l). Ces droits concernent le propriétaire, le groupe auquel il appartient et
tous les autres utilisateurs selon le format suivant (voir figure 3.5) :
<fichier/dossier>< droit propriétaires rwx>< groupe rwx>< utilisateurs rwx>
Ex. :
droits
proprietaire
groupe
taille
date
nom
Le fichier exemple1.doc est autorisé en rwx pour le groupe et le propriétaire mais pas pour les autres
utilisateurs. Ce fichier appartient à wnuninge du groupe iaalEns.
Pour changer les droits d'accès on utilise la commande
chmod [a=] [u=] [g=] [code] <nomfichier>
Commandes utiles
ls –la
donne le contenu du répertoire courant (dir sous DOS)
pwd
donne le chemin du répertoire courant
cd <dossier>, cd ..
pour aller dans le répertoire dossier depuis où l’on est
cd ~<login>
vous ramène à votre répertoire personnel
cp, mv, ln
copier, renommer, faire un lien entre fichiers
rm, rmdir
effacer un fichier, effacer un dossier
chmod, umask permet de modifier les droits (ex. chmod 700 * è –rwx------)
Figure 25.2 : fenêtre de commande Unix – résultat des commande pwd, cd, ls -la
Exemples :
pwd
ls –la
cd
è dossier courant : exemple ; chemin : /home/iaalEns/wnuninge/exemple
è Dans le dossier exemple : 3 répertoires : dossier1 (protégé en rwx pour tous les utilisateurs
sauf le propriétaire), dossier2 (ouvert en écriture pour tous) et pdf (protégé); un fichier :
exemple1.doc.
è permet de se déplacer dans dossier2. Le fichier exemple5.ppt n’est autorisé quand lecture
pour tous.
Gérer les applications et les tâches (processus)
Comme pour tout système d’exploitation, les tâches (« applications » ou commandes) sont lancées (exécutées)
au travers de processus repérés par un ID (numéro). Ainsi, lorsque vous ouvrez une session vous lancer un
processus. Les fenêtres de commandes sont des processus.
Les processus, qui se partagent le processeur (1 à la fois) et la mémoire suivant des niveaux de priorité,
peuvent avoir différents états R (en exécution), S (en arrêt), SW (en arrêt pendant une écriture sur disque) pour
les principaux.
[email protected]
page 19
A tout moment on peut connaître les processus tournant sur la machine (ils consomment de la mémoire de
l’unité centrale) grâce à la ligne de commande UNIX :
ps aux
ps aux | grep <login>
kill –9 <ID>
rlogin <machine>
su <login>
donnera les ID de tous les processus ainsi que leur état etc.
ne retiendra de la liste que ceux contenant <login>
tuera (arrêtera) le processus <ID> qui ne répond plus (cas d’un logiciel
bloqué…). Attention à ne pas vous tromper de processus
pour vous connecter à distance sur une autre <machine>
pour suspendre un utilisateur et prendre la main avec vos droits.
Le processus 15829 appartient à wnuninge, il exécute la tâche /usr/local/bin/netscape (ie. Le navigateur
tourne), il utilise 4.3% du processeur et 8.8% de la mémoire, son état de fonctionnement est S (arrêté), en
attente W, ou… fantôme !
Figure 25.3 : résultats de la command ps aux
Différents utilisateurs dont « root » (super utilisateur), « daemon » (impression)
Autres commandes utiles
alias
more fichier
xedit
man
cat
ps2pdf
pdf2ps
pour connaître les alias définis ou en créer
pour éditer un fichier sans editeur de texte
éditeur de texte si disponible (fonction machines)
en général le manuel (aide) pas toujours disponible
pour ajouter des données à un fichier
convertir un fichier pdf en fichier postscript
convertir un fichier postscript en fichier pdf
Pour en savoir plus, consultez les Annexes et un ouvrage traitant des commandes UNIX.
[email protected]
page 20
Fiche n° 26 :
Les principales commandes UNIX / Linux
Pour les options, faire : man <commande>
Syntaxe
commande [- option] [argument]
[
Commandes
pwd
indique le chemin et le nom du répertoire courant
ls
indique le contenu du répertoire (voir les options avec man ls)
mkdir
creation répertoire
rmdir <dossier>
efface le répertoire "dossier"
rm <fichier>
efface le fichier "fichier"
mv <fichier>
renomme le fichier
su <login>
"login" prend la main sur un bash d'un utilisateur (suspend)
whoami
donne le login du propriétaire d'un bash/shell
rlogin <machine>
login à distance sur une "machine" du réseau
logout
fin de session
exit
fin de session, arrêt d'un su ou rlogin
alias
liste des alias, faire un alias (si option)
unalias
ex
annule l'alias "ex"
ps
donne les processus tournant sur une machine (option aux)
kill ID
tue le processus "ID"
lpr –P<printe><file>
lance une impression sur <Printer> du <file> au format TXT
man
le manuel
more
edition fichier
cat
concaténation fixhier
cp <f1> <f2>
copie du fichier "f1" vers le fichier "f2"
cd
se déplacer dans l'arborescence (cd .. revient d'un niveau)
vi
editeur de texte
mdir
donne la liste des fichiers sur la disquette
mcopy xxxxx a:
copie le fichier xxxxx sur la disquette a : si c’est a :
mdelete xxx a:
efface le fichier xxxxx de la disquette a : si c’est a :
mcopy a:xxxxx
copie le fichier xxx de la disquette a : vers le disque dur.
chmod
modifie les droits (r :lecture ; w :écriture ; x : exécution)
umask
cf. chmod
cd ~<login>
chemin absolu vers votre répertoire (/home/<groupe>/<login>)
uname -a
affichage du nom systeme
tty et pts
lecture du nom d un terminal
mount
Affichage des partitions montées
passwd
Changement motdepasse
date
Changement d’heure
cal
Calendrier
finger <login>
pour avoir le profil de quelqu’un
who
Liste des utilisateurs
df
Occupation des disques
lpstat
liste des impressions
enable <printer>
Débloquer une imprimante <printer>
cancel num_impression Détruire une édition
clear
efface l'écran
grep <chaine> <f1>
recherche de caracteres <chaine> dans un fichier <f1>
find / -name <F1> -print recherche d un fichier
du
taille et contenu d’un répertoire
vi
éditeur de texte (attention aux codes pour insérer, sauvegarder)
i pour insérer du texte ; CRTL C puis Q pour les commandes ( :) enfin, viusage
pour la liste des commade, w <fichier> pour sauvegarder et q! pour sortir.
* ajout d'un tube:
|
quand on redirige les sorties (écran/fichier/nouvelle commande)
* séparation des commandes avec ou sans condition : || ou &&
[email protected]
page 21
Téléchargement