ESPEO Module n°22

publicité
C++
CIP 2
Année 2016  2017
UNIX : GUIDE D’UTILISATION
UNIX est le système d'exploitation le plus répandu sur les stations de travail. Au même titre
que Windows, il est aussi disponible sur les PC à travers de nombreuses déclinaisons, dont
Linux est la plus répandue. L'objectif de ce guide est de présenter les commandes de base
d'UNIX.
1. CONNECTION (LOGIN)
UNIX est un système d'exploitation multi-utilisateurs. Il doit donc identifier chaque
utilisateur pour pouvoir lui proposer un environnement personnalisé (chemin de son répertoire
de travail par exemple). Lorsqu'on veut utiliser une station, il faut donc commencer par
fournir son nom d'utilisateur (login name) et son mot de passe. Le nom d'utilisateur est
généralement constitué des 8 premières lettres du nom propre de l'utilisateur. Le mot de passe
permet de garantir une certaine sécurité en empêchant aux utilisateurs qui connaissent le nom
d'un autre utilisateur de se connecter sous ce nom. Pour préserver cette sécurité, il est
indispensable d'avoir un mot de passe personnel et confidentiel. D'autre part, il faut aussi
penser à se déconnecter lorsque l'on arrête de travailler sur une station.
logout :
termine une session de travail. Attention : ne jamais éteindre les stations après
avoir tapé logout.
yppasswd
:
change le mot de passe d'un utilisateur.
whoami
:
affiche le nom de l'utilisateur connecté à une station.
who
:
affiche le nom de tous les utilisateurs connectés à une station.
id
:
affiche les numéros d'identification associés par UNIX à un utilisateur.
Exemple : id utilisateur.
rusers
:
affiche le nom de tous les utilisateurs connectés sur toutes les machines
du réseau.
su
:
permet la connection sous un autre nom d'utilisateur. Exemple :
su utilisateur. Remarque : il faut taper le mot de passe de cet utilisateur.
hostname
:
affiche le nom de la station.
rlogin
:
permet une connection a distance sur une autre machine. Exemple :
rlogin machine.
domainname :
affiche le nom de domaine (c'est à dire le "nom" du réseau local).
2. COMMANDES
Le shell est l'interprète des commandes. Il sert d'interface entre le système UNIX et
l'utilisateur en traduisant les commandes entrées par ce dernier en actions réalisables par le
système. Généralement, des options permettent de modifier ou préciser l'action d'une
commande (elles sont repérées par un tiret suivi d'un ou plusieurs caractère). Une commande
peut être entrée en tapant un mot, mais il est possible de les combiner de manière à ce que la
sortie d'une commande serve d'entrée pour une autre commande (pipeline). Plusieurs
commandes peuvent aussi être regroupées dans un fichier (shell procedures ou shell scripts)
pour les exécuter en tapant seulement le nom du fichier.
1/4
man
whereis
:
:
whatis
history
:
:
alias
:
|
:
affiche de l'aide sur une commande. Exemple : man commande.
localise l'emplacement des fichiers sources, binaires et d'aide d'un
programme. Exemple : whereis programme.
affiche la fonction d'une commande. Exemple : whatis commande.
affiche la liste des 128 dernières commandes entrées par un utilisateur.
Chaque commande est repérée par un numéro.
crée un raccourci pour une commande. Exemple : alias rm="rm -i"
demande confirmation pour effacer un fichier avec la commande rm.
crée un lien entre deux commandes (pipe). Exemple : cat fichier | sort
affiche les lignes d'un fichier texte, triées par ordre alphabétique.
3. PROCESSUS
Un processus est une commande ou un programme qui peut être exécuté. UNIX donne à
chaque processus exécuté un numéro unique (PID). Les processus peuvent être exécutés en
premier plan (interaction avec l'utilisateur, par défaut) ou en arrière plan (autonomie du
processus). Les démons (daemons) sont des processus exécutés en arrière plan, disponibles à
tout moment, et qui fournissent des services de base aux utilisateurs (impression,
communication, réseau ...).
&
at
:
:
ps
bg
:
:
fg
:
kill
nice
:
:
exécute un processus en arrière plan. Exemple : processus &.
spécifie l'heure de démarrage d'un ou plusieurs processus. Exemple : at
midnight <entrée> processus1 <entrée> processus2 ... <^D>. Le
caractère ^D est obtenu en tapant simultanément Ctrl et D.
affiche la liste des processus d'une machine. Exemple : ps -gv.
transforme un processus de premier plan en un processus d'arrière plan.
Exemple : bg PID.
transforme un processus d'arrière plan en un processus de premier plan.
Exemple : fg PID.
interrompt un processus. Exemple : kill -9 PID.
modifie la priorité d'exécution d'un processus. Exemple : nice ±n
processus incrémente ou décrémente la priorité du processus. n doit être
compris entre -20 (moins prioritaire) et 19 (plus prioritaire).
4. REDIRECTION
Lors de l'exécution d'une commande, trois fichiers sont généralement ouverts : les
fichiers d'entrée standard, de sortie standard, et d'erreur standard. Par défaut, ces trois fichiers
sont respectivement le clavier (stdin) et l'écran (stdout et stderr). Mais il est possible de
redéfinir ces valeurs par défaut vers d'autres fichiers.
>
:
<
:
>>
:
clear
echo
tee
:
:
:
redirection de la sortie standard. Exemple : ls > dirlist envoie le résultat
de la commande ls dans un fichier dirlist.
redirection de l'entrée standard. Exemple : commande < fichier ; la
commande utilise le fichier comme entrée.
redirection de la sortie standard. A l'inverse de >, l'écriture se fait en
ajout dans le fichier de sortie.
efface l'écran.
affiche un message vers la sortie standard. Exemple : echo message.
affiche la sortie d'un programme et la copie dans un fichier.
5. RÉPERTOIRES
2/4
Comme sous MS-DOS, les disques sous UNIX sont organisés en répertoires et sousrépertoires. Ces répertoires permettent de regrouper des fichiers et des sous-répertoires de
manière hiérarchique et modulaire.
.
..
~
/
mkdir
rmdir
mvdir
:
:
:
:
:
:
:
cd
pwd
cp
:
:
:
ls
:
représente le répertoire courant.
représente le répertoire juste au dessus du répertoire courant.
représente le répertoire de l'utilisateur connecté.
représente le répertoire racine.
crée un répertoire. Exemple : mkdir répertoire.
efface un répertoire. Exemple : rmdir répertoire.
renomme ou déplace (avec son contenu) un répertoire. Exemple : mkdir
répert1 répert2.
change le répertoire courant. Exemple : cd répertoire.
affiche le répertoire courant.
copie un répertoire (avec son contenu). Exemple : cp répertoire.
Remarque : pour copier un répertoire avec tous ses sous-répertoires, il
faut utiliser l'option -R. Exemple : cp -R répertoire.
affiche le contenu d'un répertoire. Exemple : ls répertoire. Pour afficher
tous les fichiers avec leur taille, il faut utiliser les options -la. Exemple :
ls -la. L'affichage est alors de la forme :
d rwx r-x r-x 2 owner 1024 Jun 16 18:33 name.
d indique que name est un répertoire,
le premier groupe rwx indique que owner a des droits de lecture,
écriture et exécution sur name, les second et troisième groupes r-x que
les autres utilisateurs n'ont pas ce droit d'écriture,
2 indique le nombre de sous répertoires de name,
1024 est la taille en octets occupée par name,
Jun 16 18:33 est la date et l'heure de dernière modification de name,
name est le nom du répertoire ou fichier.
6. FICHIERS
Les noms de fichiers sous UNIX peuvent posséder jusqu'à 255 caractères. Les fichiers
qui commencent par . sont considérés comme des fichiers cachés ; il faut utiliser l'option -a
pour les visualiser avec la commande ls. Habituellement, les fichiers d'un utilisateur peuvent
être lus par tous, mais sont protégés en écriture (seul l'utilisateur peut les modifier).
*
?
rm
:
:
:
del
:
mv
:
cp
cat
:
:
caractère générique qui remplace un groupe de caractères.
caractère générique qui remplace un caractère.
efface un fichier. Exemple : rm fichier. Attention : aucune confirmation
n'est demandée avant l'effacement et il n'existe aucun moyen de
récupérer un fichier effacé.
efface un fichier après avoir demandé confirmation. Exemple : del
fichier. Pour limiter les erreurs, on utilisera del plutôt que rm. Attention
: il n'existe aucun moyen de récupérer un fichier effacé.
déplace ou renomme un fichier. Exemple : mv chemin/fichier
nouveau_chemin/nouveau_fichier. Si nouveau_chemin est différent de
chemin, le fichier est déplacé. Si nouveau_fichier est différent de
fichier, le fichier est renommé.
copie un fichier. Exemple : cp fichier nouveau_fichier.
Affiche tout le contenu d'un fichier texte.
3/4
more
:
wc
:
nl
:
head
:
tail
:
find
:
grep
:
sort
:
diff
:
file
chown
:
:
chgrp
:
chmod
:
Exemple 1 : cat fichier.
Affiche le contenu d'un fichier texte en faisant une pause entre les
pages. Exemple : more fichier.
compte le nombre de mots, lignes et caractères d'un fichier texte.
Exemple : wc fichier.
affiche en les numérotant les lignes (non vides) d'un fichier texte.
Exemple : nl fichier.
affiche les 10 premières lignes d'un fichier texte. Si l'option -n est
utilisé, les n premières lignes sont affichées.
Exemple : head -5 fichier.
affiche les 10 dernières lignes d'un fichier texte. Si l'option -n est utilisé,
les n dernières lignes sont affichées.
Exemple : tail -20 fichier.
recherche des fichiers sur un disque. La syntaxe de find est assez
compliquée : find chemin -name fichier -print. Exemple 1 : find / -name
.profile -print affiche (-print) les fichiers .profile (-name .profile) qui se
trouvent dans tous les répertoires et sous-répertoires du disque
(recherche à partir de la racine /). Exemple 2 : find . -name '*.o' -exec
rm {} \; -print affiche (-print) et efface (-exec rm {} \;) tous les fichiers
d'extension .o (-name '*.o') qui se trouvent dans le répertoire courant et
ses sous-répertoires (.).
recherche une chaîne de caractères dans un fichier texte. Exemple : grep
chaîne fichier.
trie les lignes d'un fichier par ordre alphabétique. Exemple 1 :
sort fichier1 affiche le contenu trié de fichier1. Exemple 2 : sort fichier1
fichier2 affiche les contenus triés de fichier1 et fichier2. Exemple 3 :
sort -o fichier fichier trie le contenu de fichier et le sauve dans fichier.
compare deux fichiers ou les contenus de deux répertoires. Exemple :
diff fichier1.bak fichier1 affiche les différences entre les deux fichiers.
Si l'option -w est utilisé, les tabulations et les espaces différents ne sont
pas pris en compte.
affiche le type d'un fichier. Exemple : file fichier.c affiche 'ascii text'.
change le nom de propriétaire d'un fichier. Exemple : chown utilisateur
fichier.
change le groupe d'appartenance d'un fichier. Exemple : chgrp groupe
fichier.
change les droits d'utilisateurs d'un fichier. Exemple : chmod
u/g/o/a±r/w/x fichier
4/4
Téléchargement