Exemples de commandes unix

Commandes internes:

: ,   .     [ ]     !    
alias   cd   dirname   echo   eval   exit  
export   kill   let   local  

pwd   read   return   set   shift  
test   type   typeset  
umask   unalias   whence  

Commandes externes:

acroread   ar   arp  
basename   bash   bc  
cal   cat   chmod   cp   cut  
date   du  
env  
fdisk   find   file  
g++   grep   gzip  
head   host   hostname  
id   ifconfig  
jar   java   javac   javadoc   javah   javap  
ksh  

ln   lp   ls   mail   mesg   mkdir   mkfs   more  
mount   mv  
netstat   nslookup  
passwd   ping  
rlogin   rm   rmdir   ruptime  
sort   stty  
tar   tail   tee   telnet   time   touch   tr  
uname   unzip   uptime   uudecode   uuencode  
wc   which   who   whoami  
xhost   xlC  
zip

  • : exécution vide

    Ne fait rien, mais est utile pour la syntaxe
    if [ $repInc = /usr/include ]
    then :
    else echo Répertoire incorrect; exit 1
    fi

  • . exécution dans l'environnement courant

    Exécute les commandes du fichier ~/.profile dans l'environement courant, ce qui permet de le modifier
    . ~/.profile

  • [ ] test de condition(s)
    Voir aussi test

    L'utilisation de [ ] est identique à celle de la commande test sous une forme syntaxique différente.
    La commande suivante renvoie un code retour de 0 (VRAI) si la variable "nomF" est le nom d'un fichier simple accessible en lecture, et une valeur non nulle (FAUX) sinon.
    [ -f $nomF ] && [ -r $nomF ]
    L'utilisation courante des [ ] est dans la position "condition" d'une instruction "alternative simple", ou "repetitive while".
    if [ -f $nomF ] && [ -r $nomF ] ; then ...
    Faire suivre chaque crochet [ ] par un "espace"

  • ! inversion du code retour
    ! n'est pas une commande, mais s'utilise avant la commande

    La commande suivante fournit, sans affichage, un code retour 0 (VRAI) si le fichier abc/def n'existe pas:
    ! ls abc/def >/dev/null 2>&1


  •     ↑ plan
  • acroread visualisation de fichier ".pdf" - format acrobat

    Visualiser le fichier "chapitre12.pdf":
    acroread chapitre12.pdf

  • alias définition d'un synonyme pour l'interprète

    Un très classique; (pas d'espace de part et d'autre du signe =).
    alias ll='ls -al'
    [il existe aussi la définition rm='rm -i']

    Utilisé sans paramètre, l'interprète fournit la liste des alias qu'il connait:
    alias
    Avec la commande suivante, l'interprète fournit la définition qu'il a enregsitrée:
    alias ll
    On peut utiliser l'option -x pour forcer l'interprète à communiquer la définition à un sous-interprète:
    alias -x lt='ls -altrd'

  • ar gestion de bibliothèques de modules objets (archivage)

    Création de la bibliothèque iutlg.a et ajout des modules objets:
    ar -q iutlg.a *.o
    Liste des membres de la bibliothèque iutlg.a(option -t: table; option -v:mode verbeux):
    ar -vt iutlg.a
    Ajout ou remplacement de modules objets:
    ar -vr iutlg.a *.o

  • arp résolution adresse physique/adresse logique (a ddress résolution protocol)

    Table des adresses (adresses symbolique, numéro IP, numéro MAC):
    arp -a


  •     ↑ plan
  • basename nom d'un fichier, privé d'indication de répertoire
    Voir aussi dirname

    Si $0=../exec/monscript, l'extraction du nom "monscript" est faite par:
    basename $0
        [réponse: monscript]

    La commande, utilisée avec deux paramètres, peut enlever une extension connue
    basename c/prem1.c .c
        [réponse: prem1]

  • bash interpète de commande (Bourne aigain shell)
    L'édition d'une ligne de commande avec cet interptète est intuitive; la touche "tabulation" sert à la complétion des nons (fichiers ou répertoires).
    Cet interprète définit la variable BASH.

    Travailler avec l'interprète bash:
    bash

  • bc petit calculateur (basic calculator)

    Demarre une session interactive, avec utilisation de fonctions mathématiques (option -l).
    On demande 4 chiffres apres la virgule (scale=4), on declare une variable p, et on demande d'afficher p/2.
    Calcul et affichage de sinus(p/6).
    bc -l
    scale=4; p=3.159; p/2
    [réponse: 1.507
    s(p/6)
    [réponse: 0.4999


  •     ↑ plan
  • cal calendrier

    Calendrier du mois de juin 2004
    cal 6 2004

  • cat affichage d'un ou plusieurs fichiers (sur la sortie standard)
    Utiliser more pour un affichage par pages.
    S'il n'y a pas de fichier à lire, la commande "lit" à partir du clavier (ou entrée standard).
    Options -n:numéro de ligne, -v:montrer les caractères "invisibles"

    Afficher prog.C
    cat prog.C
    Afficher prog.C, en numérotant les lignes
    cat -n prog.C
    Créer le fichier fic contenant les lignes abc et def
    cat > fic
    abc
    def
    ^D <-- appui CTRL+D (fin de fichier)
    Autre méthode utilisant le mot "FIN." (par exemple) pour simuler la fin de fichier; cette méthode peut être utilisée dans un script.
    cat > fic << FIN.
    abc
    def
    FIN.

  • cd changement du répertoire courant (change directory)

    Le sous-répertoire de nom "sousRep" devient le répertoire courant:
    cd sousRep
    Le répertoire "pére" devient le répertoire courant:
    cd ..
    S'il n'y a pas de paramètre, le répertoire d'accueil ($HOME) devient le répertoire courant:
    cd

  • chmod gestion des droits d'accès (sur ses propes fichiers)

    Donner le droit "exécution" à tout le monde pour le sous-répertoire WWW:
    chmod a+x ~/WWW
    Donner le droit "lecture" au groupe et aux "autres" sur le fichier: Welcome.html
    chmod go+x ~/WWW/Welcome.html
    Enlever les droits "écriture" aux fichiers du répertoire svg:
    chmod ug-w ~/svg/*

  • cp duplication de un ou plusieurs fichiers (copy)

    Crée une copie de profile appelée .profile:
    cp /etc/profile ~/.profile
    Duplique tous les fichiers d'extension .C, dans le répertoire ~/svg:
    cp *.C ~/svg

  • cut garder colonnes ou champs sur chaque ligne

    Le délimiteur étant ":" dans les lignes du fichier /etc/passwd, on ne garde que le premier champ et les champs 5,6 et 7.
    options -d:délimiteur, -f:field
    cut -f1,5-7 -d: /etc/passwd
    On garde les colonnes 31 à 41, et de 55 à la fin, dans l'affichage de ll:
    ll | cut -c 31-41,55-


  •     ↑ plan
  • date date et heure, à la seconde près

    Le vendredi 26 mars, à 13h15:
    date +"%w %d %m %Y %T"
    [réponse: 5 26 03 2004 13:15:16
    5:vendredi 26:quantième 03:mars ...]

    Pour récupérer ces valeurs dans des variables:
    date +"%w %d %m %Y %T" | read jour quant qmois annee HMS

  • dirname nom de répertoire associé à une indication de fichier
    Voir aussi basename

    Extraction du nom de répertoire:
    dirname c/prem1.cpp
    [réponse: c]

    dirname prem1.cpp
    [réponse: .]

  • du place occupée sur un disque (disk usage)
    (options -k:place en k.octets; -a:place occupée par les fichiers)

    Place occupée, en blocs, par chaque sous-répertoire de ~/app/sys:
    du ~/app/sys
    [réponse:
    8 /dptinfo/users/astier/app/sys/ie/2004/B
    16 /dptinfo/users/astier/app/sys/ie/2004
    180 /dptinfo/users/astier/app/sys/ie
    ]

    Place occupée, avec affichage trié par taille croissante:
    du ~/app/sys | sort -n


  •     ↑ plan
  • echo affichage d'un texte

    Penser aux "" si une apostrophe doit être affichée; idem avec () {}
    echo "Message d'accueil $LOGNAME"
    KSH: Affichage sans passer à la ligne suivante:
    echo bla* "\c"
    BASH: Affichage sans passer à la ligne suivante:
    echo -n bla*

  • env variables exportables

    Affiche les variables exportables et leur valeur (ex:HOME=/dptinfo/users/astier):
    env

  • eval évaluation avant exécution

    La variable 'dernier' prend la valeur du dernier argument passé au script:
    eval dernier=\${$#}

  • fin d'un script, avec code retour fourni

    Termine un script, avec un code retour de 4:
    exit 4

  • export définition des variables exportées

    Les variables MAP et MOIS sont fournies (ou exportées) aux scripts appelés:
    export MAP MOIS


  •     ↑ plan
  • file type d'un fichier

    Qu'est-ce-que exec, dans le répertoire d'accueil ?
    file ~/exec
    [réponse: répertoire]
    file ~/exec/exec_ef
    [réponse: script]

  • fdisk préparer un disque, partitionner
    Avec linux: 4 partitions primaires de numéro 1,2,3,4 et des partitions secondaires.
    Après avoir partitionné, formater les partitions avec mkfs.
    Commande interactive qui consulte ou modifie le secteur 0
    Commande réservée à l'utilisateur privilégié (root)
    Voir aussi mkfs

    Partitionner ou voir les partitions; le secteur 0 n'est modifié qu'en demandant explicitement l'éciture de la table de partition
    fdisk /dev/hda
    fdisk /dev/sda

  • find recherche en profondeur ou fouille d'un répertoire
    La recherche se fait toujours dans tous les sous-répertoires

    Recherche, dans toute l'arborescence, des fichiers appelés prog*.C (remarquer la nécessité des " "):
    find $HOME -name "prog*.C"
    Recherche, en aval de C++, des sous-répertoires (option -type d):
    find C++ -type d
    Recherche en ayant une condition plus complexe: fichier d'extension .C ou .cpp (remarquer la nécessité de protéger les parenthèses, afin qu'elles n'isolent pas une sous-commande pour l'interprète):
    find . \( -name "*.C" -o -name "*.cpp" \) # sources C++
    Fichiers simples terminé par sh, non exécutables par le propriétaire (la négation est traduite par le   !  )
    find . -type f ! -perm -100 -name "*.sh"
    Recherche, en aval de C++, des fichiers simples ayant une taille de plus de 100k.octets:
    find C++ -type f -size +100k
    Recherche avec traitement effectué sur chaque fichier trouvé; ici on cherche le mot "horloge" (forme majuscule ou minuscule).
    Remarquer la nécessité de terminer la commande communiquée à find avec "\;".
    find C++  -name "*.C"  -exec grep -lwi horloge {} \;


  •     ↑ plan
  • g++ compilation et liaison de modules sources en C++
    Voir aussi xlC et xlc

    Compilation, liaison (ou édition de liens) et création d'un exécutable de nom: a.out
    g++ prog.cpp
    Appel du préprocesseur sur le source prog.C:
    g++ -E prog.C
    Création du module objet prog.o, en utilisant le répertoire inc pour y chercher des fichiers d'entête:
    g++ -c -Iinc prog.C
    Création de l'exécutable de nom th (option -o):
    g++ -o th horloge.o testHorloge.C
    Affichage des dépendances de testHorloge.o, par rapport au module source et aux fichiers d'entêtes:
    g++ -MM testHorloge.C

  • grep extraction des lignes contenant une chaîne (get regular expression)

    Lignes des fichiers prog.h et sp.h contenant le mot (option -w) 'include':
    grep -w include prog.h sp.h
    Afficher les sous-répertoires (dans l'affichage fourni par "ls -al", ne garder que les lignes commençant par un 'd' (^d)):
    ls -ane | grep ^d
    Afficher les noms de fichiers d'extension .h (ne garder que les lignes terminant par ".h" (\.h$)):
    ls -ane | grep "\.h$"
    Chercher les lignes contenant "int_max", peut-être en majuscule (option -i, pour "ignore case"), dans les fichiers *.C:
    grep -wi int_max *.C

  • gzip compresse/décompresse un fichier (extension .gz)

    Compression: crée le fichier td8.rtf.gz et supprime td8.rtf
    gzip td8.rtf
    Décompression: recrée le fichier td8.rtf et supprime td8.rtf.gz
    gzip -d td8.rtf


  •     ↑ plan
  • head début d'un fichier
    Voir aussi tail

    Les 12 premières lignes du fichier prog.C:
    head -12 prog.C
    Les 2k premiers octets des fichiers *.C (option -c: caractère):
    head -c -2K *.C

  • host conversion nom IP/numéro IP

    Obtenir le numéro IP, à partir du nom
    host www.u-psud.fr
        [réponse: 129.175.34.50]
    host -n www.u-psud.fr # donne plus d'informations

    Obtenir le nom IP (adresse symbolique)
    host 62.161.104.70
        [réponse: www.nis.fr]

  • hostname nom de la machine

    Nom de la machine, (ou nom IP, ou adresse IP symbolique)
    hostname
    Numéro IP
    hostname -i


  •     ↑ plan
  • id informations sur un utilisateur

    Options (-u: numéro seul; -un:nom; -g numéro de groupe; -gn: nom du groupe)
    id

  • ifconfig interfaces réseau de la machine
    Commande analogue appelée ipconfig sur dos/windows (ipconfig /all)

    Numéro IP, masque de sous-réseau
    ifconfig -a


  •     ↑ plan
  • jar gestion d'une archive java (java archive)
    Commande analogue à la gestion des modules objets par ar

    Pour créer l'archive de nom appletXmp.jar avec des classes et fichier html:
    jar cvf appletXmp.jar *.class appletXmp.html
    Pour lister les noms de fichiers contenus dans junit.jar
    jar -tf junit.jar
    Les noms de fichiers de plusieurs archives écrits dans 'lesClasses'
    rm -f lesClasses
    touch lesClasses
    for i in `ls *.jar`
    do
      echo jar -tf $i >> lesClasses
      jar -tf $i >> lesClasses
    done

  • java appel de la machine virtuelle java

    Interprétation (chargement dans la machine virtuelle) d'une classe java
    java MonJeu
    Interprétation, en utilisant des classes situées dans le répertoire tmp
    java -classpath tmp Boule

  • javac compilation d'un source java

    Création de la classe Monjeu (fichier Monjeu.class du répertoire courant):
    javac Monjeu.java
    Création de la classe Boule (fichier Boule.class placé dans le répertoire tmp):
    javac -d tmp Boule.java

  • javadoc documentation automatique sur les classes java

    Produire les fichiers de documentation sur les méthodes et champs publics de la classe publique Monjeu (options possibles: -protected -private):
    javadoc Monjeu.java

  • javah déclaration "style C" des méthodes déclarées " native "
    Voir la bibliothéque JNI (java native interface): échanges Java-C

    Produire le fichier Coucou.h (Coucou.class doit être présent):
    javah Coucou

  • javap informations extraites d'une classe

    Méthode et signatures (option -p ) des champs publics de la classe Coucou.class:
    javap -p Coucou


  •     ↑ plan
  • kill Supprime un processus (envoi d'un signal)

    Supprime le processus de n° 12345 (si le processus n'appartient pas à l'utilisateur, il n'est pas supprimé) :
    kill -9 12345

  • ksh interpète de commande (Korn shell)

    Exécution, avec écho, de chaque commande du script exec_xt
    ksh -xv exec_xt


  •     ↑ plan
  • local variables locales à une fonction

    Les variables fic et rep sont déclarées locales:
    local fic rep

  • let évaluation arithmétique

    Incrémentation de 1 sur la variable b:
    b=7; let b=b+1; echo $b
    [réponse: 8]

  • ln lien symbolique (link)

    Crée, dans le répertoire courant, le lien de nom REPC. L'affichage par "ls -al" signale le lien par la lettre 'l' en première position sur la ligne.
    ln -s  /dptinfo/tp/FI1/C++  REPC

  • lp utilisation de l'imprimante

    Impression du fichier postscript fic.ps, sur l'imprimante de nom réseau ps32:
    lp   -d ps32   fic.ps

  • ls liste des noms de fichiers (entrées) d'un répertoire

    Liste de tous (option -a) les fichiers du répertoire rep, avec toutes (option -l) les informations:
    ls -al rep
    Liste triée, plus récent en dernier (option -A: toutes les entrées sauf . et ..):
    ls -Alrt rep
    Liste avec indication de taille (option -s), noms de répertoire terminés par / (option p):
    ls -asp rep
    Entrées du répertoire courant commençant par es et un chiffre; Avec l'option -d, s'il existe un répertoire, de nom es3 par exemple, seul son nom est affiché - mais pas les fichiers de es3.
    ls -d es[0-9]*
    Liste des noms des seuls répertoires:
    ls -Ap * | grep /$


  •     ↑ plan
  • mail lire son courrier ou envoyer un courrier

    Envoyer le fichier "prog.C" à l'adresse "toto@serveur.fr":
    mail -s "source C++" toto@serveur.fr < prog.C
    Lire son courrier (sortir par quit; aide par help):
    mail

  • mesg accepter/refuser les messages

    Refuser la réception de message:
    mesg n

  • mkdir création de répertoire(s)

    Créer le sous-répertoire svg, dans le répertoire d'accueil:
    mkdir ~/svg

  • mkfs, mkfs.vfat formater une partition
    A n'exécuter qu'après avoir créé des partitions.
    Commande réservée à l'utilisateur privilégié (root)
    Voir aussi fdisk

    Formater la deuxième partition (partition linux)
    mkfs /dev/hda2

    Formater la partition 5 (partition vfat 32)
    mkfs.vfat -F 32 /dev/sda5

  • mount gestion du système de fichiers
    La modifcation des points d'attache du système de fichiers est réservée au super-utilisateur.

    Affiche les unités montées (unité physique - device, noeud ...):
    mount

  • more affichage par page, de fichier(s) texte(s)
    Des touches permettent d'avancer, reculer, rechercher une sous-chaîne, et quitter:
    q quitter
    h afficher les diverses posiibilités (help)
    /abc avancer jusqu'à l'occurrence de abc
    v éditer le fichier (si possible)
    . . .

    Afficher, par pages, le fichier d'entête ctype.h:
    more /usr/include.ctype.h

  • mv changement de nom, ou déplacement de fichiers

    Changer le nom sauvegarde en svg:
    mv ~/sauvegarde ~/svg
    On déplace les fichiers d'extension .C, du répertoire courant vers le répertoire ~/svg:
    mv *.C ~/svg


  •     ↑ plan
  • netstat activité réseau de la machine

    Informations sur les interfaces réseau de la machine:
    netstat -i
    Informations sur la table de routage:
    netstat -r

  • nslookup interrogation d'un serveur de nom

    Interrogation, du serveur de nom par défaut, sur une adresse:
    nslookup www.lri.fr
    Utilisée sans paramètre, la commande est interactive (sortir par exit; aide par ?):
    nslookup


  •     ↑ plan
  • passwd définition ou changement de mot de passe

    Apès avoir lancé la commande, taper deux fois le mot de passe
    passwd

  • ping tester la connexion d'une machine au réseau
    voir http://www.fifi.org/services/ping

    Est-ce que beryl.math.u-psud.fr est accessible?
    ping beryl.math.u-psud.fr

  • pwd répertoire courant

    Affiche le nom complet du répertoire courant (voir $PWD):
    pwd


  •     ↑ plan
  • read lecture au clavier (entrée standard) dans un script
    Le premier mot est affecté au premier nom, le deuxième mot est affecté au deuxième nom ...; les mots restants sont tous affectés au dernier nom.

    Lecture de deux mots
    read nom prenom
    Pour récupérer des valeurs dans des variables:
    date +"%w %d %m %Y %T" | read jour quant qmois annee HMS
    Pour exploiter chaque ligne du fichier unFic
    while read jour quant qmois annee HMS
    do
            ....
    done < unFic

  • return fin d'exécution d'une fonction

    La fonction suivante renvoie VRAI si son paramètre est un nombre strictement positif, et faux si ce n'est pas un nombre, ou si c'est un nombre négatif ou nul:
    function estNombrePos {
    if [ $1 -gt 0 ] 2> /dev/null; then return 0
    else return 1;
    fi

  • rlogin ouvrir une session à distance

    Ouvrir une session sur la machine beryl (la session ne débute qu'après avoir donné ses noms et mots de passe):
    rlogin beryl.math.u-psud.fr
    L'utilisateur astier ouvre une session sur la machien ibmh70b:
    rlogin ibmh70b -l astier

  • rm suppression de fichier (remove)

    Supprimer les modules objets dont le nom commence par bla:
    rm bla*.o
    Supprimer les modules objets dans le réperoire courant et tous ses sous-répertoires (option -r), sans demande de confirmation (option -f / force):
    rm -rf *.o

  • rmdir suppression de répertoires (remove directory)

    Supprime le répertoire C++/tm; n'est exécuté que si le répertoire est vide:
    rmdir C++/tmp

  • ruptime état des machines unix du réseau:

    Heure courante, durée de fonctionnement du système, nombre d'utilisateurs des machines du réseau:
    Voir aussi uptime
    ruptime


  •     ↑ plan
  • set configuration, variables de l'interprète

    Sans argument, affichage des variables définies:
    set
    Placée dans un script, la commande suivante définit respectivement 2 paramètres: $1 vaut abc et $2 vaut def
    set abc def
    Dans le contexte interactif, la commande suivante définit le stype emacs pour rappeler et éditer les commandes:
    set -o emacs
    Quelques conventions du style emacs:
    C^P ou C^N: commande précédente ou suivante (previous, next)
    C^B ou C^F pour déplacer le curseur sur une commande (backward, forward)
    C^A ou C^E pour aller en début ou en fin de ligne (at beginning, end)
    C^D pour supprimer le caractère sur le curseur
    <ESC><ESC> ou <ESC>= pour compléter un nom de fichier
     
    L'option "-o vi", en mode interactif, permet d'utiliser le stype vi:
    set -o vi
    Rappelons quelques conventions:
    (quand il attend une commande, l'interprète est en mode INSERTION;
    sinon la frappe de &lt:ESC> est inutile si on est déjà en mode COMMANDE):
    <ESC>k ou <ESC>j : commande précédente ou suivante
    <ESC>/abcd : comande précédente contenant le mot abcd
    <ESC>h ou <ESC>l : à droite ou à gauche sur la ligne
    <ESC>0 ou <ESC>$ : au début ou à la fin de la ligne
    i : passage en MODE INSERTION (pour insérer des caractères dans la ligne)
    <ESC> passage en mode COMMANDE
    <r.chariot> exécution de la commande éditée
     
    Définition d'une variable de type tableau, et exemple d'utilisation:
    set -A jours dimanche lundi mardi mercredi jeudi vendredi samedi
    echo ${jours[0]}

  • shift décalage vers la gauche, des paramétres

    Le paramétre 3,devient le numéro 1, le quatre devient le numéro 2 ...
    shift 2

  • sort tri des lignes d'un fichier
    Options -u (unicité) -r (ordre inverse) -n (numérique) -f (majuscule/minuscule) et
          [ -o ficRésultat ] [ -tDélimiteur +n ] (numéro de champ)

    Affichage des lignes triées de fic
    sort fic
    Danqs l'exemple suivant on récupère les noms des utilisateurs connectés à un momen donné, puis on les trie; comme des noms peuvent être plusieurs fois on demande la suppression des doublons (option -u).
    who | cut -c1-9 | sort -u
    Affichage des fichiers triés par taille (la taille est le champ 4 par rapport au caractère ' ') décroissante
    ll | tr -s ' '| sort -r -n -t' ' +4 sort erase ^P

  • paramétrage du clavier (vitesse de transmission, parité ...)

    Tous les paramètres liés au clavier:
    stty -a
    Reprendre les valeurs par défaut:
    stty sane
    Définir ^P pour effacer le caractère précédent:
    stty erase ^P


  •     ↑ plan
  • tail dernières lignes d'un fichier
    Voir aussi head

    Les 5 dernières lignes du fichier prog.C:
    tail -5 prog.C
    De la ligne n°20 à la fin du fichier prog.C:
    tail +20 prog.C

  • tar regroupement de fichiers ou "archive" (tape archive)

    Regrouper tous les fichiers du sous-répertoire bin en un seul fichier de nom exec.tar; l'option -c demande la création de l'archive; l'option -f indique que le nom de l'archive va suivre:
    tar -cvf exec.tar bin
    Création, ailleurs, du sous-répertoire bin et de son contenu: (l'option -x demande une extraction depuis l'archive):
    tar -xvf exec.tar

  • tee duplication de la sortie standard

    Ci-dessous, les résultats de a.out sont, à la fois, affichés et placés dans le fichier "sortie":
    a.out | tee sortie
    Autre exemple: la liste des fichiers du répertoire courant est écrite dans "listeFic", et le nombre de fichiers est afffiché
    ls | tee listeFic | wc -l

  • telnet établissement d'une connexion à une machine

    Ouverture d'une session ftp (n° de port 21) sur la machine identifiée sur le réseau par kaki.batmath.u-psud.fr:
    telnet kaki.batmath.u-psud.fr 21
    Envoi d'un courrier, en s'adressant directement au port 25 (envoi de courrier)
    telnet ibmh70a 25
        helo ibmh70a
        MAIL FROM: toto@site.bla
        RCT TO: roger.astier@math.u-psud.fr
        DATA
        une ligne
        deuxième ligne
        troisième ligne
        Finir avec la ligne .
        .

  • test évaluation de condition

    La commande suivante renvoie un code retour de 0 (VRAI) si la variable "opt" est égale à "-h", et une valeur non nulle (FAUX) sinon.
    Remarquer les espaces qui encadrent le signe =
    test "$opt" = -h
    La commande suivante renvoie un code retour de 0 (VRAI) si la variable "nomR" est le nom d'un répertoire, et une valeur non nulle (FAUX) sinon.
    test -r $nomR
    Les commandes suivantes renvoient un code retour de 0 (VRAI) si la variable "nomF" est le nom d'un fichier simple (option -f), accessible en lecture (option -r) , et une valeur non nulle (FAUX) sinon.
    Dans la première forme, une seule commande est exécutée, qui reçoit 5 arguments, et comprend -a comme l'opérateur binaire "ET" entre deux conditions.
    Dans la deuxième forme, deux commandes sont exécutées successivement; en fait la deuxième n'est exécutée que si le code retour de la première commande est 0 (VRAI).
    test -f $nomF -a -r $nomF
    test -f $nomF && test -r $nomF

  • time durée d'exécution d'une commande

    Durée d'exécution de la recherche du fichier "pers*sty", exprimée en secondes:
    time find ~ -name "pers*sty"

  • touch date d'accès à un fichier

    Si abcdef existe, sa date d'accès devient la date courante (s'il n'exsite pas, un fichier de taille nulle est créé):
    touch abcdef
    les fichiers *.C auront la même date que abc.h
    touch   -r abc.h   *.C
    le fichier abcdef est à la date du 16 mars(03) 2005, 01 h.,23 minutes
    touch   -t 200503160123 abcdef

  • tr conversion ou suppression de caractères (translate)
    La commande lit sur l'entrée standard et écrit sur sa sortie standard.

    Convertir en minuscule, et enlever les accents, du fichier fic; le résultat est affiché:
    tr 'àéèêëîïùA-Z' 'aeeeeiiua-z' < fic
    Suppression (option -d, pour delete) des sauts de ligne, façon "windows":
    tr -d '\r' <fic
    Compression (option -s, strip) des suites d'espaces et des '.':
    tr -s ' .' <fic
    Suppression des sauts de ligne, des points et virgules (première chaîne) et compression (deuxième chaîne) des suites d'espaces et '!':
    tr -s '\n,.' ' !' <fic

  • type informations connues de l'interprète, sur un mot
    Peut répondre: commande interne, alias, exécutable et son chemin, fichier simple du répertoire courant

    Comment est interprété "test":
    type test
        [réponse: commande interne]

    Comment est interprété "mount":
    type mount
        [réponse: /usr/sbin/mount]

  • typeset attribut de variables

    Les variables MAP et FIN ne peuvent pas être modifiées:
    typeset -r MAP FIN
    La variable nb est numérique (integer); un calcul est effectué pour définir sa valeur:
    typeset -i nb
    nb=5*3
    echo nb=$nb
    [réponse: 15]
    Constater la différence avec:
    aux=5*3; echo aux=$aux
    [réponse: 5*3]


  •     ↑ plan
  • umask enlever des permissions sur les fichiers à créer

    Interdire (forcer un bit à zéro) l'écriture au groupe et "aux autres":
    umask 022
    Afficher l'état du masque (option -S pour avoir la forme symbolique:
    umask
    umask -S

  • unalias supprime une définition d'alias

    L'interprète ne fera plus la subtitution de ll:
    unalias ll

  • uname nom du système, version ...

    Système utilisé (par défaut option -s):
    uname
        [réponse: AIX]

    Options: -m(atériel) -n(noeud,machine) -s(sytème d'exploitation), -r(numéro du système) -v(version)
    uname -n
        [réponse: ibmh70a]

  • unzip gestion des fichiers d'une archive créée par zip

    Création de tous les fichiers contenus dans l'archive ttt.zip:
    unzip ttt.zip
    Liste des fichiers contenus dans l'archive ttt.zip:
    unzip -l ttt.zip

  • uptime état du système

    Affiche l'heure courante, la durée de fonctionnement du système, le nombre d'utilisateurs
    uptime

  • uudecode décode une ressource créée par uuencode

    Crée le fichier dont le nom est sur la première ligne de rsrsCodee (créé par uuencode):
    uudecode rsrcCodee

  • uuencode code sur 7 bits une ressource (fichier binaire)

    Crée le fichier rsrcCodee commençant par begin ??? NomExterne; le fichier, créé en utilisant uudecode aura le nom nomExterne, les permissions ??? et sera identique à rsrc.
    La transformation effectuée par uuencode est nécessaire pour transmettre par le réseau des suites d'octets dont le bit de tête est à zéro.
    uuencode rsrc nomExterne > rsrcCodee


  •     ↑ plan
  • wc nombre d'octets, de mots et de lignes d'un fichier (word count)

    Nombre d'octets, mots et lignes des fichiers .C:
    wc *.C
    Nombre de lignes (option -l ) du fichier docUnix:
    wc -l docUnix

  • whence nature d'un mot

    Comment interpréter pwd ? (réponse: pwd est intégré au shell)
    whence -n pwd

  • which donne le répertoire contenant l'exécutable associé à une commande

    Dans quel répertoire est définie la commande gcc:
    which gcc

  • who utilisateurs connectés

    Liste des utilisateurs connectés sur la machine:
    who

  • whoami utilisateur connecté

    Nom de l'utilisateur connecté:
    whoami
        [réponse: astier]


  •     ↑ plan
  • xhost autoriser/bloquer les accès à une machine

    Autoriser, pour le serveur X, les accès à la machine ibmh70b
    xhost +ibmh70b

  • xlC compilation et liaison de module source en C++
    Voir aussi g++

    Compilation, édition de liens et création d'un exécutable de nom a.out:
    xlC prog.cpp
    Création d'un exécutable de nom testH:
    xlC -o testH testH.C horloge.o


  •     ↑ plan
  • zip regroupement et compression de fichiers (absent sur AIX)

    Si ttt n'existe pas, création de ttt.zip, contenant les fichiers d'extension cpp; s'il existe, les fichiers sont ajoutés à ttt.zip:
    zip ttt *.cpp
    Avec l'option -r, les sous-répertoires sont parcourus
    zip -r ttt *.cpp


  • Références en ligne



    nomCmd,
  • nomCmd brève présentation

    introduction de l'exemple
    echo -n bla*