Accueil
ContactLe centre Infobiogen

Banques de données Analyse et traitement Documents Formation Deambulum

Plan Recherche Glossaire English version

 
Documents en bioinformatique
 
 
Documents en informatique
 

Principales commandes unix

Répertoire /doc/info

Manuel de référence BASH

Man BASH

HTML Reference Manual

Lynx Users Guide

The Mutt E-Mail Client

Pine Technical Notes

The LaTeX2HTML Translator

RTFtoHTML Users Guide

Langage Perl

Packages unix pour Solaris
 
Tutoriaux
 
 
Tables et Standards
 


Accueil Documents - Principales commandes Unix

Imprimer
Principales commandes Unix

Introduction
Syntaxe d'une commande UNIX
Commandes de contrôle
Aides en ligne
man | apropos
Connexion et transfert
ssh | ftp
Commandes utilitaires
passwd | who | date | cal | echo | groups | finger | quota | du | script
Répertoires et fichiers
Syntaxe
Troncature
Droits d'accès aux fichiers
chmod | umask
Commandes d'édition et de manipulation de fichiers
pwd | ls | cd | mkdir | rmdir | cat | more | tee | less | head | tail | wc | sort
cp | mv | touch | rm | grep | find | cmp | diff
Commandes de compression, encodage, archivage
compress | uncompress | zcat | zgrep | gzip | gunzip | uuencode | uudecode
tar | sh
Editeurs de fichiers
vi | pico | emacs
Redirection - Pipe
Processus
ps | kill | jobs | fg | bg | truss
Lancement d'un programme en différé
batch | at | atq | cancel
Messagerie
Introduction

Le système UNIX est un système d'exploitation multi-utilisateurs et multi-tâches : plusieurs personnes peuvent partager les ressources de la même machine et plusieurs programmes ou logiciels peuvent s'exécuter concurremment.
Le shell est un interpréteur de commandes : il permet à l'utilisateur de dialoguer avec le système. C'est le programme généralement exécuté lorsqu'un utilisateur se connecte. Il affiche un "prompt" et attend les commandes de l'utilisateur. Le shell est aussi un langage de programmation interprété puissant. Il offre à l'utilisateur un environnement composé d'un ensemble de variables et d'alias et un langage de commandes.
Il existe différents shells :
sh : Bourne Shell (shell standard unix)
ksh : Korn Shell
csh : C Shell
tcsh : extension de C Shell
bash : GNU: Bourne advanced Shell
Le shell sur la machine babbage d'INFOBIOGEN est le bash .
Haut de page
Syntaxe d'une commande UNIX

Lorsque la connexion est établie, un prompt s'affiche à gauche de l'écran : il attend de votre part une commande, un ordre qu'il pourra interpréter et exécuter. Le prompt est spécifique de la machine (le prompt de la machine d'INFOBIOGEN est : lovelace$).
Chaque commande saisie au clavier doit être validée par un "return" (Enter) pour être exécutée. Soit :
lovelace$commande -options <arguments>
commande                          : ce que l'on veut faire
options (facultatives)          : comment on le fait
arguments (éventuels)        : sur quoi on le fait (fichiers ..)
EX: ls -la /usr/dupont
La commande doit être saisie impérativement en minuscules pour être reconnue.
Haut de page
Commandes de contrôle

exit sortie (fin de session)
CTRL-D sortie (équivalent du logout si on est au prompt)
CTRL-U annulation de la ligne courante (Ex:mot de passe erroné)
CTRL-C interruption d'un processus
CTRL-Z suspension d'un processus (bg, envoi en tache de fond)
CTRL-S et CTRL-Q contrôle de flux (arrêt et reprise de l'édition)
Haut de page
Aides en ligne

man <commande> ou man <application>
    La commande "man" (pour manual) fournit des informations (description, options, syntaxe) sur une commande UNIX ou une application donnée (EX: man ls, man emacs, man chmod).
    man -k <commande> donne la liste des commandes contenant dans leur libellé l'argument donné.
man intro
    (Voir man intro ). Dresse la liste des commandes accessibles par "man".

apropos <mot-clé>
    (Voir man apropos). Indique le nom des commandes et applications indexées par le mot-clé donné (EX: apropos image).
Haut de page
Connexion et transfert

Un site du réseau Internet peut accéder à un autre site du réseau par les commandes ssh (connexion interactive) et ftp (transfert de fichiers). Les sites sont identifiés par des adresses IP et des noms.
nslookup <nom_du_site>
    (Voir man nslookup ).Retourne l'adresse IP du site
    nslookup babbage.infobiogen.fr

ssh -l <login-name> <adresse_host>
    (Voir man ssh ). Etablit la connexion interactive avec un autre ordinateur sur le réseau Internet. La commande tee permet d'enregistrer une session de travail ssh dans un fichier.
    ssh babbage.infobiogen.fr

ftp <adresse_host>
    (Voir man ftp ). Etablit la connexion en transfert de fichiers avec un autre ordinateur sur le réseau Internet. Retourne un prompt ftp>
ftp babbage.infobiogen.fr
Un ensemble de commandes sont accessibles à ce niveau :
Aide
help
help <nom_commande>
Affichage d'un répertoire:
dir           affiche le contenu d'un répertoire d'une machine distante VAX
ls             affiche le contenu d'un répertoire d'une machine distante UNIX
ldir          identique à ls mais pour un répertoire de la machine locale
Changement de répertoire:
cd <répertoire>    change de répertoire sur la machine distante
lcd <répertoire>   change de répertoire sur la machine locale
pwd                      affiche le nom du répertoire de la machine distante
Transfert de fichiers:
get <fichier>        rappatrie un fichier vers la machine locale
mget <fichiers>    get multiple sur plusieurs fichiers (*)
prompt                permet d'éviter la demande de confirmation lors du lancement d'un mget.
put <fichier>       dépose un fichier vers la machine distante
mput <fichiers>   put multiple sur plusieurs fichiers (*)
Type de transfert (à spécifier avant le transfert):
ascii          transfert en ascii (défaut)
binary       transfert en mode binaire pour fichiers non texte
Lancer une commande unix:
!commande_unix        exécute une commande Unix

!        permet de revenir temporairement sur le site local (exit pour retourner dans la session ftp)
quit   fin de session ftp

Haut de page
Commandes utilitaires

passwd
    (Voir man passwd ). Permet de changer de mot de passe.

who
    (Voir man who ). Affiche la liste des utilisateurs connectés.

date

cal <mois> <année>
    (Voir man cal ). Affiche le calendrier du mois, de l'année spécifiée. Par défaut, années et mois courants.
    cal 9 1998 : calendrier du mois de septembre 1998

echo <chaîne>
    (Voir man echo ). Retourne les arguments donnés.
    echo est notamment utile pour soumettre des données à un pipe , pour éditer le contenu de variables d'environnement etc ...
    echo dupond@infobiogen.fr > .forward (crée le fichier de réacheminement des mails, cf messagerie )
    echo $USER

groups
    (Voir man groups ). Affiche le(s) groupe(s) auquel appartient un utilisateur.

finger @<adresse_serveur>
    (Voir man finger ). Affiche la liste des utilisateurs connectés sur un serveur donné.
    finger @lovelace.infobiogen.fr

quota -v
    (Voir man quota ). Retourne l'espace disque autorisé et utilisé (quota et nombre de fichiers) sur la totalité du compte. L'unité du quota est en kilooctets (~= 1000 octets/caractères), donc par exemple 10000 signifie 10 megaoctets.

du *
    (Voir man du ). Retourne l'espace disque utilisé dans un répertoire donné (répertoire courant par défaut). L'unité est en demi-blocs (soit 512 caractères)

script
    (Voir man script ). Permet d'enregistrer une session de travail dans un fichier.
    script (return)
    commande1
    commande2
    ...
    <CTRL-D>
    L'ensemble de la session a été enregistré dans le fichier typescript (par défaut).
Haut de page
Répertoires et fichiers

Syntaxe des fichiers
Le système de fichiers (file system) est un arbre (organisation hiérarchique) dont les noeuds sont des répertoires (directories) et les feuilles des fichiers. Le fichier (chemin/nom) peut être désigné :

soit par un path absolu (chemin absolu), qui commence par le caractère "/" (racine de l'arbre) suivie de la liste des noeuds (sous-répertoires, séparés par le caractère "/"), qu'il faut suivre depuis la racine pour atteindre le fichier
EX : /env/infobiogen/u/cnrs/dupont/mm.seq
soit par un path relatif : le fichier dans ce cas est désigné depuis le répertoire courant
EX : u/cnrs/dupont/mm.seq (si on le désigne depuis /env/infobiogen)
EX : mm.seq (si on le désigne depuis /env/infobiogen/u/cnrs/dupont)
Le home directory est le répertoire d'accueil dans lequel on se trouve après avoir établi la connexion sur le compte.

Certains caratères ne sont pas autorisés dans le nom du fichier. Notamment, par exemple, le caractère espace, accepté dans les noms de fichiers sous Mac, joue le rôle de séparateur sous UNIX (il sépare commande, options et paramètres les uns des autres). Pour manipuler malgré tout un fichier qui contient ce type de caractère, le nom de ce fichier devra être encadré de guillemets (ex: rm "seq 23.dat"). En règle générale, il est préférable de se limiter aux caractères alphabétiques, numériques ainsi que "-" et "_".

Le fichier peut optionnellement contenir une extension. L'extension est une particule suffixe séparée de la racine du nom par un point. Elle vise généralement à renseigner sur la nature du fichier. Exemples :

    nom.txt : fichier texte
    nom.doc : fichier de documentation
    nom.gif : fichier image
    nom.for : programme fortran etc...

Certains utilitaires sous UNIX (éditeurs de texte ...) conservent les deux dernières versions du fichier. Dans ce cas, si l'on modifie le contenu d'un fichier déja existant, le nom de l'avant dernière version est "marqué" d'un signe particulier, tel que "~" (EX: toto et toto~) ou " %".

Haut de page
Troncature
Sous UNIX, le caractère de troncature (caractère "joker") est le caractère * : il peut remplacer n'importe quel groupe de caractères d'un nom de fichier donné : il permet ainsi de simplifier la commande et/ou de généraliser une opération sur tout un ensemble de fichiers. Exemples :
ls *.gif édite tous les fichiers .gif (images)
rm ar* détruit tous les fichiers commençant par ar
Haut de page
Droits d'accès aux fichiers
Dans tout système UNIX, les répertoires et fichiers ont des droits d'accès. Ceux ci sont indiqués par la commande "ls -la" (voir "man ls"). Par exemple :
drwxr-xr-x 2 martin ibg 11264 Oct 31 19:27 seq
-rw-r--r-- 1 martin ibg 4763 Oct 31 15:19 lookup.list
-rw-r--r-- 1 martin ibg 70786 Oct 31 01:07 ftp.log
drwxr-xr-x 37 martin ibg 1024 Oct 30 20:29 src


chmod

chmod <droits> <fichier>
(Voir man chmod ). Commande qui permet de changer les droits d'accès d'un fichier.
Les droits peuvent être désignés de deux manières possibles :
    chmod <utilisateurs>+/-<droits> <fichier> ou
    chmod <droits (octal)> <fichier>

Sous UNIX, on distingue trois catégories d'utilisateurs :
u : le propriétaire (user)
g : le groupe (group)
o : les autres (others)
a : user, group et other (all)

ainsi que trois types de droits, donnés sur 3 colonnes (rwx) :
r : lecture (read)
w : écriture (write)
x : exécution
- : aucun droit

Pour un fichier les droits sont exprimés par une chaîne de 10 caractères : tuuugggooo
t= type du fichier
- : fichier ordinaire
d : répertoire (directory)
l : lien symbolique
c ou b : fichier spécial
et
uuu : droits du propriétaire
ggg : droits du groupe
ooo : droits des autres

Pour modifier le droit d'accès d'un fichier donné, utiliser la commande chmod (voir man chmod).
chmod u+r toto donne le droit de lire le fichier toto à l'utilisateur (vous-même)
chmod g+w toto autorise une personne du même groupe que vous à lire le fichier
chmod o+x toto autorise n'importe qui à executer le fichier
chmod a+rx toto autorise le propriétaire, le groupe et les autres à lire et exécuter le fichier

Droits d'accès et sa correspondance en octal :
--- : 0
--x : 1
-w- : 2
r-- : 4
-wx : 3
r-x : 5
rw- : 6
rwx : 7

On peut, ainsi, définir par chmod, les droits en octal. Exemples :
chmod 600  *      attribuera : rw------- à tous les fichiers
chmod 644  *      attribuera : rw-r--r-- à tous les fichiers
chmod 750  *      attribuera : rwxr-x--- à tous les fichiers

umask

umask <valeur>
(Voir man umask ). La commande umask suivie d'une valeur (3 chiffres en octal) définit le mode de création de fichiers ou de catalogues .
On peut notamment fixer cette valeur en ajoutant la commande umask au fichier du home directory nommé .profile

Par défaut, les droits d'accès d'un compte sont définis par umask 027 : cela signifie que la lecture des fichiers et leur exécution ne peuvent se faire que par l'utilisateur et ceux associés à son groupe (personne a priori), et que l'écriture ne peut se faire par personne d'autre.

La valeur de umask (masque au sens informatique) est soustraite aux droits par défaut des fichiers (666) et des repertoires (777) à leur création.
EX: umask 027 modifie les droits de la manière suivante :

les fichiers 666 deviennent 640
les répertoires 777 deviennent 750
Haut de page
Edition et manipulation de fichiers

pwd
    (Voir man pwd ). Affiche le nom du répertoire courant.

ls
    (Voir man ls ). Liste le nom des fichiers.
    ls -l      édition du catalogue des fichiers du répertoire courant
    ls -la    édition de tous les fichiers du répertoire courant
                (y compris les fichiers "cachés" commençant par un .)
    ls -lt    édition du catalogue par date (récente > ancienne)
    ls -lR   lecture de la hiérarchie complète des fichiers

cd <répertoire>
    (Voir man cd ). Permet de se placer dans un répertoire donné.
    cd /usr/bin  pour aller dans le répertoire /usr/bin
    cd               retour au répertoire d'accueil
    cd ~             retour au répertoire d'accueil
    cd seq          changement de répertoire relatif (descente)
    cd ..             retour au répertoire père

    Le symbole .. représente le répertoire parent.
    Le symbole . représente le répertoire courant.
    Le symbole ~ représente le répertoire d'accueil (home directory).
    Le tilde "~" et le point point ".." peuvent être utilisés dans les chemins d'accès.

mkdir <répertoire>
    (Voir man mkdir ). Crée un répertoire (Make directory).

rmdir <répertoire>
    (Voir man rmdir ). Supprime un répertoire (vide) (Remove directory).

cat <fichier>
    (Voir man cat ). Edition complète du fichier au terminal en mode déroulant.
    cat mm.seq   édite le fichier mm.seq

more <fichier>
    (Voir man more ). Edition du fichier au terminal en mode page.
    Pour obtenir l'aide en ligne : h
    Pour éditer la page suivante : barre-espace
    Pour éditer la ligne suivante : Return
    Pour rechercher une chaîne de caractères : /chaîne
    Pour remonter d'une page : b
    Pour quitter : q

tee
    (Voir man tee ). Copie l'entrée standard vers la sortie standard.
    telnet | tee ma_session.txt   enregistre la session de travail telnet dans un fichier nommé ma_session.txt

less <fichier>
    (Voir man less ). Edition du fichier au terminal en mode page (équivalent de more).
    Pour obtenir l'aide en ligne : h

head -n <fichier>
    (Voir man head ). Affiche les n 1ères lignes du fichier.

tail -n <fichier>
    (Voir man tail ). Affiche les n dernières lignes du fichier.

wc -l -w -c <fichier>
    (Voir man wc ). Retourne le nombre de lignes, de mots, de caractères dans le fichier indiqué.

sort <fichier>

cp <file1> <file2>
    (Voir man cp ). Copie le contenu de <file1> dans <file2>, en détruisant <file2> s'il existait.

mv <file1> <file2>
    (Voir man mv ). Renomme ou déplace <file1> en <file2> (Move).
    mv mm.seq aa.seq : renomme mm.seq en aa.seq

mv <file1> <répertoire>
    Déplace (et éventuellement renomme) <file1> dans <répertoire>.
    mv mm.seq ~/data : déplace le fichier mm.seq dans le répertoire préexistant data
    mv mm.seq ../liens/bar : renomme mm.seq en bar et le déplace dans le répertoire préexistant liens

touch <fichier>
    (Voir man touch). Crée un fichier vide.

rm <fichier>
    (Voir man rm ). Supprime le fichier (Remove).
    rm mm.seq    supprime le fichier mm.seq
    rm afl*.seq    supprime tous les fichiers commençant par afl
    rm -i *.seq     supprime tous les fichiers ayant le suffixe .seq, en demandant préalablement confirmation de destruction pour chacun d'eux.
    rm -i -- -b.dat   supprime un fichier dont le nom contient un caractère "interdit" (ici, par exemple, le caractère "-" dans le nom "-b.dat"). L'option "--", en effet, inhibe la fonction des caractères qui suivent.

rm -r <répertoire>
    Supprime un répertoire, ainsi que rous les sous-répertoires et les fichiers qu'il contient (Remove récursively).

grep <chaîne> <fichier>
    (Voir man grep ). Recherche une chaîne de caractères (pattern) dans un fichier donné et édite les lignes la contenant.
    (Voir aussi man egrep : recherche de toute expression régulière). grep GDB * recherche la chaîne GDB dans tous les fichiers du répertoire courant
    grep cours -i *.txt recherche la chaîne gdb trouvée indifféremment en minuscules ou majuscules dans tous les fichiers .txt du répertoire courant
    grep error -v *.txt édite toutes les lignes, exceptées celles contenant le mot error
    grep "valeur de la variable" arc.for : recherche la chaîne valeur de la variable dans le fichier arc.for
    grep 'caractère "A"' table.txt : recherche la chaîne caractère "A" dans le fichier table.txt

find <répertoire> -name <fichier> -print
    (Voir man find ). Recherche le fichier dans toute l'arborescence (fichiers et sous-répertoires) issue du répertoire indiqué.
    find . -name mm.seq -print;   recherche le fichier mm.seq depuis le répertoire courant
    find ~ -name a.out -print;   recherche le fichier a.out depuis le home directory

cmp <file1> <file2>
    (Voir man cmp). cmp (compare) édite le numéro des lignes différentes entre deux fichiers.

diff <file1> <file2>
    (Voir man diff ). Edite les lignes différentes entre deux fichiers.
Haut de page
Compression, encodage, archivage

La compression d'un fichier vise à réduire la taille d'un fichier. Grossièrement, le taux de compression atteint est de 50-60 pourcents de la taille originelle.

compress <fichier>

uncompress <fichier>

zcat <fichier>
    (Voir man zcat ). Edite un fichier.Z (compressé avec l'utilitaire compress).

zgrep <fichier>
    Recherche une chaîne de caractères dans un fichier.Z (compressé avec l'utilitaire compress).

gzip <fichier>
    (Voir man gzip ). Compression. Génère un fichier.gz.
    Offre de meilleures performances que compress mais par contre demande un temps de compression plus important.

gunzip <fichier>
    (Voir man gunzip ). Décompression d'un fichier.gz.

uuencode <fichier>
    (Voir man uuencode ). Convertit un fichier binaire en un fichier.uue encodé qui peut être envoyé par messagerie.
    Pour encoder un fichier par uuencode, celui-ci doit respecter les contraintes suivantes :
      begin <mode> <nom_du_fichier_décodé>
      corps du fichier
      end
      Le mode (3 chiffres en octal, ex:600) correspond aux protections du fichier source : le fichier décodé aura les mêmes et portera le nom indiqué.

uudecode <fichier>

tar cvf <tarfile> <répertoire_à_tarer>
    (Voir man tar ). Archive (tare) un ensemble de fichiers ou les fichiers d'un répertoire en un fichier.tar unique (=tarfile).
    -f introduit le fichier et -v (verbeux) édite les opérations en cours.
    tar cvf archive.tar ar* archive les fichiers ar* dans le fichier tfd.tar.
    tar cvf archive.tar ~/edit archive le répertoire edit dans le fichier tfd.tar.
    tar cvf archive.tar edit visualise le contenu du fichier d'archive
    Il arrive souvent que les fichiers .tar soit en plus comprimés à l'aide des commandes compress (extension .tar.Z) ou gzip (extension .tar.gz ou .tgz).

tar xvf <tarfile>
    Désarchive (éclate, restaure) un fichier.tar (tarfile) en n fichiers d'origine.
    tar xvf archive.tar désarchive le fichier tfd.tar.

sh <fichier.shar>
    Les fichiers .shar sont des fichiers d'archives auto-extractibles (shell).
    sh extrait les fichiers archivés dans un fichier.shar.
Haut de page
Editeurs de fichiers

(Voir man vi ). L'éditeur vi est un peu complexe à utiliser (man vi pour tous les détails). Trois modes aux fonctionnalités différentes sont disponibles sous vi : mode commande (commandes par des caractères spéciaux), mode insertion (saisie du texte) et mode ligne (commandes saisies en bas du fichier).

vi <fichier>
Ouvre un fichier. On se trouve alors en mode commande.
Si le fichier n'existe pas, vi le crée.
Pour passer d'un mode à un autre :
automatique caractère
------> ------>
Mode LIGNE Mode COMMANDE Mode INSERTION
------> ------>
: <ESC>

Mode INSERTION (invisible)

i insère avant le curseur
a insère après le curseur
o ouvre une nouvelle ligne en dessous
O ouvre une nouvelle ligne au dessus
ESCape quitte le mode insertion et retourne au mode commande
ESCape : quitte le mode insertion et passe au mode ligne

Mode COMMANDE (invisible)

effacement :
x délétion de caractère
r remplacement du caractère courant
dw supprime le mot courant
dd supprime la ligne courante
ndd supprime n lignes
d0 efface jusqu'au début de ligne
dG efface jusqu'en fin de ligne
J unit la ligne suivante à la ligne courante
u annule la dernière fonction d'édition
. répète la dernière fonction d'édition
déplacement :
les flèches permettent de se déplacer.<CTRL U> et <CTRLD> pour monter et descendre.
^,$ pour se déplacer en début, en fin de ligne.
G position en fin de fichier (équivalent à:$)
nG position sur la ligne n
copie (copY) et insertion de texte (Paste) :
Y sélectionne une ligne
5Y sélectionne 5 lignes
p dépose la sélection après le curseur
P dépose la sélection avant le curseur
sh accès temporaire au shell (retour par exit)
Mode LIGNE
:100 positionne sur la ligne 100
/chaîne recherche une chaîne de caractères
:3,8d annule les lignes 3 à 8
:w fichier écrit dans un autre fichier
:wq ou x termine en sauvant
:q! quitte (impérativement) sans sauver
:set nu affiche les numéros de lignes
:set all montre les options
:set nonu supprime une option

(Voir man emacs ). L'éditeur emacs a une utilisation plus intuitive que vi.

emacs <fichier>
Ouvre un fichier.

Les touches Contrôle et Escape, largement utilisées sous emacs, sont ci-dessous notées respectivement C- et E-.
EX: C-k signifie "appuyez sur la touche Control et, pendant qu'elle est enfoncée, la touche k".

QUITTER Emacs         C-x puis C-c
                ou    C-x puis pomme-c (sur Macintosh)
Répondre "yes" à la demande de sauvegarde.

SAUVEGARDER sans quitter Emacs      C-x puis C-s

DEPLACEMENT DU CURSEUR :
                                 en arrière   en avant
 caractère                        C-b       C-f
 mot                              E-b       E-f
 ligne                            C-p       C-n
 aller en debut (fin) de ligne    C-a       C-e
 aller en debut (fin) de fichier  E-<       E->
 écran précédent (suivant)        E-v       C-v

Les flèches horizontales du clavier correspondent a : 
                             C-b et C-f
Les flèches horizontales du clavier correspondent a : 
                             C-p et C-n

EFFACEMENT DE CARACTERES :          touche Back Space
                              ou    touche Del
                              ou    C-d

RECHERCHER :

 Chercher en avant              C-s
 Chercher en arrière            C-rC-s ou C-r 
                                pour répéter la rechacune des directions
 Arrêter la recherche en cours  C-g

DEPLACER UNE PARTIE DE TEXTE :

 Sélectionner le début de la zone par C-espace.
 Placer le curseur à la fin de la zone a déplacer.
 Effacer cette partie sélectionnée par C-w
 Enfin, placer le curseur à l'endroit où l'on veut restituer le texte,
 et rappeler celui-ci par C-y


Pour appeler l'aide en ligne C- h ? puis initiale de la commande.
Pour la faire disparaître, C- x 1
Si on est bloqué : C- g

Pour effacer une ligne après le curseur : C- k
Pour la rappeler à l'endroit ou se trouve le curseur : C- y

Pour insérer un fichier : C- x i nom-du-fichier.
pico <fichier>
(Voir man pico ). Ouvre un fichier.
<CTRL X> quitter en sauvegardant le fichier édité.
Les différentes commandes sont données en bas d'écran (CTRL noté ^):
^G Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text   ^C Cur Pos   
^X Exit ^J Justify  ^W Where is  ^V Next Pg ^U UnCut Text ^T To Spell  
Haut de page
Redirection, pipe

              Lecture            Ecriture
Standard Input ====>   Commande   ====> Standard Output + Error
  [clavier]                                       [Ecran]

Si l'on souhaite rediriger les entrées et sorties, la commande prendra la syntaxe suivante :

    commande [-options] [arguments] < input-file > output file

    avec les métacaractères de redirection suivants :

      <       redirige l'entrée standard
      >       redirige la sortie standard
      >>     redirige et concatène la sortie standard
      >&    redirige les sorties standard et erreur
      >>&  redirige et concatène les sorties standard et erreur

Exemples :

who > names

    édite les noms dans le fichier names
(pwd; ls -l) > fichiers.out
    écrit le nom du répertoire et le résultat de la commande ls dans fichier.out
    le caractère ; permet d'enchaîner des commandes
ls -lR > liste.archive
grep -i dupont fichier > resul
elm -s "subject" dupont@pasteur.fr < doc.txt
    elm envoie le fichier doc.txt à dupont
cat file1 file2 >filen
    concatène deux fichiers (contenu de file2 apres file1) dans un troisième
cat file2 >>file3
    concatène le contenu du fichier file2 à la fin du fichier file3
cat ligne > essai
    écrit le contenu de ligne dans le fichier essai

Pour créer un fichier et ajouter plusieurs lignes :
cat > essai<return>
ligne1 <return>
ligne2 <return>
....
<CTRL D>

mon_programme << end (return)
paramètre1
paramètre2
...
end
Cette syntaxe permet de soumettre au programme les différents paramètres (saisis normalement en mode interactif) que celui-ci lira jusqu'au mot indiqué après << (dans le cas-ci, end).

Haut de page
Pipe

Le caractère "|" (opérateur pipe) redirige la sortie standard (sdtout) d'une commande dans l'entrée standard (stdin) d'une autre commande. Plusieurs commandes peuvent être combinées ainsi.

    commande1 | commande2 | ...

who | sort
    tri et édite les utilisateurs connectés
ls -lR | more
    édite page par page les noms de fichiers du répertoire
cat fichier | elm -s "subjet" dupont@pasteur.fr
    le contenu du fichier est envoyé à dupont via elm
ls -lR | grep -i "apr 10" > liste.apr
    sélectionne les fichiers daté du 10 avril et les écrit dans le fichier liste.apr
Haut de page
Processus

    Le système UNIX est un système d'exploitation multi-utilisateurs et multi-tâches. Le calculateur partage son temps entre tous les processus présents à un moment donné.
    Le multitâches est réalisé par l'élection d'un processus parmi d'autres, pour un temps déterminé. Le calculateur exécute pendant une tranche de temps les instructions de ce processus.
    L'aspect multiutilisateurs est une extension du multitâches, qui permet à plusieurs utilisateurs de faire exécuter leurs processus respectifs par le calculateur.

    Processus du noyau :

    • lorsque le calculateur est mis en service, le processus 1, nommé init, est crée : il est responsable des demandes de login sur chaque terminal.
    • le scheduler alloue du temps CPU alternativement à tous les processus actifs du système.
    • le swapper est activé lorsque plusieurs processus sont exécutés et que le noyau n'a plus de place en RAM (mémoire courante). Il possède le numéro 0. Il détermine, suivant des critères variés, le processus qui doit être déporté sur le disque.
    • le pagedaemon est activé lorsqu'un processus recquiert une page non présente en RAM.

    Le processus 1 est l'ultime Parent de tous les processus.
    Les processus peuvent engendrer d'autres processus (processus enfants).
    Chaque processus possède un numéro d'identification, le process id ou pid. Ce pid est attribué séquentiellement, débutant de 0, et est incrémenté à chaque création. Un utilisateur ne peut contrôler un processus s'il n'en est pas propriétaire.

ps
    (Voir man ps ). Affiche les informations sur les processus en cours
    ps -fu nom_login    liste complète de tous les processus rattachés à l'utilisateur donné.
    ps -eaf                     liste complète de tous les processus
    Signification des champs retournés :
       UID    nom de l'utilisateur
       PID    numéro d'identification du processus 
       PPID   numéro d'identification du processus père
       STIME  heure à laquelle le processus a été lancé
       TIME   temps CPU utilisé par le processus
       CMD    commande
       
<ctrl-c>
    Termine le processus premier-plan courant

<ctrl-z>
    Stoppe l'exécution du processus premier-plan courant (qui pourra être relancé par bg).

kill -9 <numéro_de_PID>
    (Voir man kill ). Arrête le processus désigné.

<commande> &
    Lance un programme en arrière plan.
    sort -r ~/words > ~/edit/dico/words &
    xterm & lance une nouvelle fenêtre xterm

jobs
    (Voir man jobs ). Affiche les jobs (et leur numéro) stoppés et/ou passés en arrière-plan.

fg %<numéro_job>
    (Voir man fg ). Ramène le job courant de l'arrière-plan au premier plan (foreground).

bg %<numéro_job>
    (Voir man bg ). Relance un job stoppé et le place en arrière-plan (en tache de fond, background).

truss <commande>
    (Voir man truss ). "Radiographie" une commande donnée : truss exécute la commande donnée en argument et édite simultanément tous les appels de fichiers ainsi que toutes les instructions exécutées par cette commande.
    truss -topen mon_programme "trace" sélectivement toutes les lignes contenant "open"
Haut de page
Lancement d'un programme en différé

batch <programme>
    (Voir man batch ). Lance un programme en batch (exécution immédiate, au moment où le système, load level system, le permettra).
    batch (return)
    sort < infile > outfile
    <CTRL-D>

    batch <<! (return)
    diff file1 file2 2>&1 >outfile | mailx mygroup
    !

at -f <programme>
    (Voir man at ). Lance un programme en différé. Possibilité de spécifier le moment auquel le programme sera lancé.
    at -f <programme> now + 1 minute : lance le programme dans la minute suivante
    at -f <programme> tomorrow + 10 hours
    at -l : affiche les jobs lancés par at ou batch
    at -r <numero_job> : détruit le job donné

    at -m 0730 tomorrow (return)
    sort < infile > outfile
    <CTRL-D>

atq
    (Voir man atq ). Edite les jobs en attente, lancés avec la commande at.

cancel <numero_job>
    (Voir man cancel ). Supprime un job en attente.
    cancel 845657231.b
Haut de page

 
FTP Documents
 
Compte Infobiogen
Informatique

Systèmes d'exploitation


Internet

 
Liens
Manual Index

Abrégé Unix (ENST)

The CERN Unix User Guide

Didacticiel Unix (EPFL, Lausanne)

Guide de l'usager du réseau informatique (Univ. Laval, Canada)

pkgsrc: The NetBSD Packages Collection

Cours d'introduction à TCP/IP


Editeurs de texte :

The vi editor

GNU Emacs Manual

The Unix Text Editor Pico

 
L'utilisation des services Infobiogen ne peut-être exploitée à des fins industrielles et / ou commerciales
© Infobiogen