Bull AIX 5.3 Guide d'installation

Ajouter à Mes manuels
338 Des pages
Bull AIX 5.3 Guide d'installation | Fixfr
Bull
AIX 5L Guide de l’utilisateur
Système d’exploitation et unités
AIX
REFERENCE
86 F2 44EM 01
Bull
AIX 5L Guide de l’utilisateur
Système d’exploitation et unités
AIX
Logiciel
Février 2005
BULL CEDOC
357 AVENUE PATTON
B.P.20845
49008 ANGERS CEDEX 01
FRANCE
REFERENCE
86 F2 44EM 01
L’avis juridique de copyright ci–après place le présent document sous la protection des lois de Copyright
des États–Unis d’Amérique et des autres pays qui prohibent, sans s’y limiter, des actions comme la copie,
la distribution, la modification et la création de produits dérivés à partir du présent document.
Copyright
Bull S.A. 1992, 2005
Imprimé en France
Vos suggestions sur la forme et le fond de ce manuel seront les bienvenues.
Une feuille destinée à recevoir vos remarques se trouve à la fin de ce document.
Pour commander d’autres exemplaires de ce manuel ou d’autres publications techniques
Bull, veuillez utiliser le bon de commande également fourni en fin de manuel.
Marques déposées
Toutes les marques déposées sont la propriété de leurs titulaires respectifs.
AIXR est une marque déposée d’IBM Corp. et est utilisée sous licence.
UNIX est une marque déposée aux Etats–Unis et dans d’autres pays, licenciée exclusivement par Open Group.
Linux est une marque déposée de Linus Torvalds.
Les informations contenues dans le présent document peuvent être modifiées sans préavis. Bull ne pourra
être tenu pour responsable des erreurs qu’il peut contenir ni des dommages accessoires ou indirects que son
utilisation peut causer.
Préface
Ce manuel s’adresse aux utilisateurs novices qui souhaitent approfondir leur connaissance
du système d’exploitation. Il traite les thèmes suivants : exécution des commandes,
traitement des processus, gestion des fichiers et répertoires et impression. Il présente, en
outre, des tâches telles que la sécurisation de fichiers, l’utilisation de support de stockage,
la personnalisation des variables d’environnement (.profile, .Xdefaults, .mwmrc), et
l’écriture de scripts shell. Les utilisateurs DOS y trouveront les procédures permettant
d’exploiter les fichiers DOS dans cet environnement.
Conventions typographiques
Les conventions typographiques suivantes sont utilisées dans ce guide :
Gras
Commandes, mots-clés, fichiers, répertoires et
autres éléments dont le nom est prédéfini par le
système.
Italique
Permet d’identifier les paramètres dont les noms ou
les valeurs doivent être indiqués par l’utilisateur.
Espacement fixe
Permet d’identifier les exemples de données
spécifiques, les exemples de textes similaires aux
textes affichés, les exemples de parties de code
similaires au code que vous serez susceptibles de
rédiger en tant que programmeur, les messages
système ou les informations que vous devez saisir.
Distinction majuscules/minuscules dans AIX
La distinction majuscules/minuscules s’applique à toutes les données entrées dans le
système d’exploitation AIX. Vous pouvez, par exemple, utiliser la commande ls pour afficher
la liste des fichiers. Si vous entrez LS, le système affiche un message d’erreur indiquant
que la commande entrée est introuvable. De la même manière, FICHEA, FiChea et fichea
sont trois noms de fichiers distincts, même s’ils se trouvent dans le même répertoire.
Pour éviter toute action indésirable, vérifiez systématiquement que vous utilisez la casse
appropriée.
ISO 9000
Des systèmes de qualité homologuée ISO 9000 ont été utilisés lors du développement
et de la fabrication de ce produit.
Préface
iii
Bibliographie
Les manuels suivants contiennent des informations pertinentes :
• AIX 5L Version 5.3 System User’s Guide: Communications and Networks
• AIX 5L Version 5.3 System Management Guide: Operating System and Devices
• AIX 5L Version 5.3 System Management Concepts: Operating System and Devices
• AIX 5L Version 5.3 Imprimantes et impression – Guide de l’utilisateur
• AIX 5L Version 5.3 Commands Reference
• AIX 5L Version 5.3 Files Reference
iv
AIX Guide de l’utilisateur – Système d’exploitation et unités
Table des matières
Préface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conventions typographiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Distinction majuscules/minuscules dans AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ISO 9000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
iii
iii
iii
iv
Chapitre 1. Noms de connexion, ID système et mots de passe . . . . . . . . . . . .
Connexion et déconnexion : généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connexion au système d’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connexions multiples (commande login) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Passage à un autre nom d’utilisateur (commande su) . . . . . . . . . . . . . . . . . . . . . .
Suppression des messages de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Déconnexion du système d’exploitation (commandes exit et logout) . . . . . . . . .
Arrêt du système d’exploitation (commande shutdown) . . . . . . . . . . . . . . . . . . . .
Identification utilisateur et système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage du nom de connexion (commandes whoami et logname) . . . . . . . . . .
Utilisation de la commande whoami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande who am i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande logname . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage du nom du système d’exploitation (commande uname) . . . . . . . . . . . .
Affichage du nom de votre système (commande uname) . . . . . . . . . . . . . . . . . . .
Affichage des utilisateurs connectés (commande who) . . . . . . . . . . . . . . . . . . . . .
Affichage de l’ID d’un utilisateur (commande id) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Directives concernant les mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modification du mot de passe (commande passwd) . . . . . . . . . . . . . . . . . . . . . . . .
Annulation du mot de passe (commande passwd) . . . . . . . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes relatives aux noms de connexion,
aux ID système et aux mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes de connexion et de déconnexion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes d’identification utilisateur et système . . . . . . . . . . . . . . . . . . . . . . . . .
Commande de mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1
1-2
1-2
1-3
1-3
1-3
1-4
1-4
1-5
1-5
1-5
1-5
1-5
1-6
1-6
1-6
1-6
1-8
1-8
1-9
1-9
Chapitre 2. Système et environnement utilisateur . . . . . . . . . . . . . . . . . . . . . . . .
Affichage de la liste des unités système (commande lscfg) . . . . . . . . . . . . . . . . . . . .
Affichage du nom de votre console (commande lscons) . . . . . . . . . . . . . . . . . . . . . .
Affichage du nom de votre terminal (commande tty) . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des écrans disponibles (commande lsdisp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des polices disponibles (commande lsfont) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des mappes de clavier programmable en cours chargées sur le système
(commande lskbd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des logiciels disponibles (commande lslpp) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des affectations de touches du terminal (commande stty) . . . . . . . . . . . . . . . .
Liste de toutes les variables d’environnement (commande env) . . . . . . . . . . . . . . . .
Affichage de la valeur d’une variable d’environnement (commande printenv) . . . .
Utilisation des langues bidirectionnelles (commande aixterm) . . . . . . . . . . . . . . . . .
Récapitulatif des commandes relatives à l’environnement utilisateur
et aux informations système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Préface
1-10
1-10
1-10
1-10
2-1
2-2
2-4
2-5
2-6
2-7
2-8
2-9
2-10
2-11
2-12
2-13
2-14
v
Chapitre 3. L’environnement Common Desktop . . . . . . . . . . . . . . . . . . . . . . . . . .
Démarrage et arrêt de l’environnement Common Desktop . . . . . . . . . . . . . . . . . . . .
Activation/désactivation du démarrage automatique . . . . . . . . . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Démarrage manuel de l’environnement Common Desktop . . . . . . . . . . . . . . . . . .
Arrêt manuel de l’environnement Common Desktop . . . . . . . . . . . . . . . . . . . . . . .
Modification des profils du Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ajout/suppression d’écrans et de terminaux
dans l’environnement Common Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation d’une station comme terminal X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suppression d’un écran local . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ajout d’un terminal ASCII ou caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ajout d’une console ASCII ou caractères sans affichage bitmap . . . . . . . . . .
Ajout d’une console caractères avec affichage bitmap . . . . . . . . . . . . . . . . . . .
Personnalisation des écrans Common Desktop Environment . . . . . . . . . . . . . . . . . .
Démarrage du serveur sur chaque écran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Définition d’un écran différent d’ITE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Définition d’un nom d’écran dans Xconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation d’un gestionnaire de connexion distinct pour chaque écran . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Script distinct pour chaque écran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de variables d’environnement,
propres à l’ensemble du système, distinctes pour chaque écran . . . . . . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 4. Commandes et processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Présentation des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Syntaxe des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nom d’une commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Indicateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramètres des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lecture des lignes de syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lancement de Web–based System Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exécution d’autres commandes avec la commande smit . . . . . . . . . . . . . . . . . . .
Localisation d’une commande ou d’un programme (commande whereis) . . . . .
Affichage des informations sur une commande (commande man) . . . . . . . . . . .
Affichage de la fonction d’une commande (commande whatis) . . . . . . . . . . . . . .
Liste des commandes précédemment entrées (commande history) . . . . . . . . . .
Répétition de commandes à l’aide de l’alias r . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de commandes à l’aide de l’alias r . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edition de la commande history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Création d’un alias de commande (commande alias du Shell) . . . . . . . . . . . . . . .
Utilisation des commandes de formatage de texte . . . . . . . . . . . . . . . . . . . . . . . . .
Formatage de texte en caractères internationaux . . . . . . . . . . . . . . . . . . . . . . .
Entrée de caractères étendus mono-octets . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formatage de texte en caractères multi-octets . . . . . . . . . . . . . . . . . . . . . . . . .
vi
AIX Guide de l’utilisateur – Système d’exploitation et unités
3-1
3-2
3-2
3-2
3-2
3-2
3-3
3-4
3-5
3-5
3-5
3-5
3-5
3-6
3-6
3-6
3-6
3-6
3-6
3-7
3-7
3-7
3-7
3-7
3-8
3-8
3-8
4-1
4-3
4-3
4-4
4-4
4-5
4-5
4-6
4-6
4-6
4-6
4-7
4-7
4-8
4-9
4-9
4-10
4-10
4-11
4-11
4-11
Entrée de caractères multi-octets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Présentation des process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Process d’avant et d’arrière-plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Process démon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Process zombie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lancement d’un process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lancement d’un process d’avant–plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lancement d’un process d’arrière–plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vérification des process (commande ps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Définition de la priorité initiale d’un process (commande nice) . . . . . . . . . . . . . . .
Commande nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modification de la priorité d’un process en cours d’exécution
(commande renice) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
commande renice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interruption d’un process d’avant-plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arrêt d’un process d’avant-plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Relance d’un process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Planification d’un process pour une opération ultérieure (commande at) . . . . . .
Commande at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste de tous les process planifiés (commande at ou atq) . . . . . . . . . . . . . . . . . . .
Commande at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
commande atq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suppression d’un process du planning (commande at) . . . . . . . . . . . . . . . . . . . . .
commande at ou atq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suppression d’un process d’arrière–plan (commande kill) . . . . . . . . . . . . . . . . . .
Commande kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes pour les commandes et les process . . . . . . . . . . . . .
Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5. Réacheminement des entrées/sorties . . . . . . . . . . . . . . . . . . . . . . . . .
Entrées, sorties et erreurs standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des sorties standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des sorties vers un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des sorties avec ajout à un fichier . . . . . . . . . . . . . . . . . . . . . . . . .
Création d’un fichier texte avec réacheminement à partir du clavier . . . . . . . . . . . .
Concaténation de fichiers texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des entrées standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Elimination des sorties via le fichier /dev/null . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des erreurs standard et autres sorties . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des sorties vers des documents entrée en ligne (here) . . . . . . .
Réacheminement des sorties à l’aide de canaux et filtres . . . . . . . . . . . . . . . . . . . . .
Affichage de la sortie d’un programme avec copie dans un fichier
(commande tee) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Effacement de l’écran (commande clear) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Envoi d’un message vers la sortie standard (commande echo) . . . . . . . . . . . . . . . .
Ajout d’une ligne de texte à un fichier (commande echo) . . . . . . . . . . . . . . . . . . . . . .
Copie de l’écran dans un fichier (commandes capture et script) . . . . . . . . . . . . . . . .
Affichage de texte en gros caractères (commande banner) . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes relatives au réacheminement des entrées/sorties .
Préface
4-12
4-13
4-13
4-13
4-14
4-14
4-14
4-14
4-14
4-15
4-16
4-16
4-16
4-17
4-17
4-17
4-17
4-18
4-19
4-19
4-19
4-19
4-20
4-20
4-20
4-20
4-22
4-22
4-22
5-1
5-2
5-2
5-2
5-3
5-3
5-3
5-4
5-4
5-4
5-5
5-5
5-6
5-7
5-7
5-7
5-8
5-8
5-9
vii
viii
Chapitre 6. Systèmes de fichiers et répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . .
Système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types de systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure des systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage de l’espace disponible sur un système de fichiers (commande df) . .
Répertoires : généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types de répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Organisation des répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conventions d’appellation des répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abréviations des répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chemins d’accès au répertoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Procédures de gestion des répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Création de répertoires (commande mkdir) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Déplacement ou changement de nom d’un répertoire (commande mvdir) . . . . .
Affichage du répertoire courant (commande pwd) . . . . . . . . . . . . . . . . . . . . . . . . .
Changement de répertoire (commande cd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copie de fichiers (commande cp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage du contenu d’un répertoire (commande ls) . . . . . . . . . . . . . . . . . . . . . . .
Suppression ou retrait d’un répertoire (commande rmdir) . . . . . . . . . . . . . . . . . . .
Comparaison de répertoires (commande dircmp) . . . . . . . . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes pour les Systèmes de fichiers et les répertoires . . .
Système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abréviations des répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Procédures de gestion des répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-1
6-2
6-2
6-3
6-5
6-6
6-6
6-7
6-7
6-7
6-8
6-9
6-9
6-9
6-10
6-10
6-11
6-11
6-13
6-14
6-15
6-15
6-15
6-15
Chapitre 7. Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers répertoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conventions d’appellation des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chemins d’accès aux fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Concordance avec un modèle à l’aide de caractères
de remplacement et de métacaractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recherche de concordances avec le caractère de remplacement * . . . . . . . .
Recherche de concordances avec le caractère de remplacement ? . . . . . . .
Recherche de concordances avec les métacaractères shell [ ] . . . . . . . . . . . .
Concordance avec un modèle et expressions régulières . . . . . . . . . . . . . . . . . . .
Procédures de gestion de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suppression de fichiers (commande rm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Déplacement et changement de nom d’un fichier (commande mv) . . . . . . . . . . .
Déplacement d’un fichier avec la commande mv . . . . . . . . . . . . . . . . . . . . . . . .
Changement du nom d’un fichier avec la commande mv . . . . . . . . . . . . . . . . .
Copie de fichiers (commande cp) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recherche de fichiers (commande find) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage du type d’un fichier (commande file) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage du contenu d’un fichier (commandes pg, more, page et cat) . . . . . . .
commande pg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande more ou page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
commande cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recherche de chaînes dans un fichier texte (commande grep) . . . . . . . . . . . . . .
Tri des fichiers texte (commande sort) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comparaison de fichiers (commande diff) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-1
7-3
7-3
7-3
7-3
7-3
7-4
7-4
7-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
7-5
7-5
7-5
7-6
7-6
7-7
7-7
7-8
7-8
7-8
7-8
7-9
7-10
7-11
7-11
7-11
7-12
7-12
7-13
7-13
Décompte des mots, des lignes et des octets d’un fichier
(commande wc) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage des premières lignes d’un fichier (commande head) . . . . . . . . . . . . . .
Affichage des dernières lignes d’un fichier (commande tail) . . . . . . . . . . . . . . . . .
Coupe de sections de fichiers texte (commande cut) . . . . . . . . . . . . . . . . . . . . . .
Collage de sections de fichiers texte (commande paste) . . . . . . . . . . . . . . . . . . .
Numérotation des lignes d’un fichier texte (commande nl) . . . . . . . . . . . . . . . . . .
Suppression de colonnes dans un fichier texte (commande colrm) . . . . . . . . . . .
Liaison entre fichiers et répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types de liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liaison de fichiers (commande ln) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suppression de fichiers liés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Copie les fichiers DOS dans des fichiers de système d’exploitation de base . .
Copie de fichiers de système d’exploitation de base dans des fichiers DOS . . .
Suppression de fichiers DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage du contenu d’un répertoire DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes relatives aux fichiers . . . . . . . . . . . . . . . . . . . . . . . . . .
Procédures de gestion de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liaison entre fichiers et répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 8. Imprimantes, travaux d’impression et files d’attente . . . . . . . . . . .
Terminologie relative à l’impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lancement d’un travail d’impression (commande qprt) . . . . . . . . . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande qprt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annulation d’un travail d’impression (commande qcan) . . . . . . . . . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web–based System Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande qcan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Priorité d’un travail d’impression (commande qpri) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web–based System Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande qpri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Déplacement d’un travail d’impression
dans une autre file d’attente d’impression (commande qmov) . . . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web–based System Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande qmov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Blocage et libération d’un travail d’impression (commande qhld) . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web–based System Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande qhld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contrôle de l’état d’un travail d’impression (commande qchk) . . . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web–based System Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande qchk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conditions de l’état de file d’attente d’impression . . . . . . . . . . . . . . . . . . . . . . . . . .
Préface
7-14
7-14
7-14
7-15
7-15
7-17
7-17
7-18
7-18
7-19
7-20
7-21
7-21
7-21
7-22
7-22
7-23
7-23
7-24
7-24
8-1
8-2
8-5
8-5
8-5
8-9
8-10
8-10
8-10
8-10
8-10
8-11
8-11
8-11
8-11
8-11
8-12
8-12
8-12
8-12
8-12
8-13
8-13
8-13
8-13
8-13
8-14
8-14
8-14
8-14
8-14
8-15
ix
x
Formatage des fichiers à imprimer (commande pr) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Impression de fichiers ASCII sur une imprimante PostScript . . . . . . . . . . . . . . . . . .
Préalables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatisation de la conversion ASCII–PostScript . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annulation de la détermination automatique des types de fichiers d’impression . .
Récapitulatif des commandes relatives à l’impression . . . . . . . . . . . . . . . . . . . . . . . .
8-16
8-18
8-18
8-20
8-21
8-22
Chapitre 9. Fichiers de sauvegarde et supports de stockage . . . . . . . . . . . . . .
Etablissement d’une stratégie de sauvegarde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supports de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formatage de disquettes (commande format ou fdformat) . . . . . . . . . . . . . . . . . . . .
Vérification de l’intégrité du système de fichiers (commande fsck) . . . . . . . . . . . . .
Copie vers et à partir de disquettes (commande flcopy) . . . . . . . . . . . . . . . . . . . . . .
Copie de fichiers sur des bandes ou des disques (commande cpio –o) . . . . . . . . .
Copie de fichiers à partir d’une bande ou d’un disque (commande cpio –i) . . . . . .
Copie sur et à partir de bandes (commande tcopy) . . . . . . . . . . . . . . . . . . . . . . . . . .
Vérification de l’intégrité d’une bande (commande tapechk) . . . . . . . . . . . . . . . . . . .
Compression des fichiers (commandes compress et pack) . . . . . . . . . . . . . . . . . . . .
Compression de fichiers avec la commande compress . . . . . . . . . . . . . . . . . . . . .
Compression de fichiers avec la commande pack . . . . . . . . . . . . . . . . . . . . . . . . .
Décompression de fichiers (commandes uncompress et unpack) . . . . . . . . . . . . . .
Utilisation de la commande uncompress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande unpack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sauvegarde de fichiers (commande backup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sauvegarde de fichiers (commande backup) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sauvegarde de fichiers (commande smit) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Restauration de fichiers (commande restore) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Archivage de fichiers (commande tar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes relatives à la sauvegarde . . . . . . . . . . . . . . . . . . . . . .
9-1
9-2
9-3
9-3
9-4
9-5
9-6
9-7
9-8
9-9
9-10
9-11
9-12
9-12
9-13
9-14
9-14
9-14
9-15
9-15
9-16
9-17
9-17
9-18
9-19
9-20
Chapitre 10. Sécurité du système et des fichiers . . . . . . . . . . . . . . . . . . . . . . . . .
Menaces sur la sécurité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sécurité de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sauvegardes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Identification et authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ID de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terminaux sans surveillance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Propriété des fichiers et groupes d’utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modification de la propriété d’un fichier ou d’un répertoire (commande chown)
Modes d’accès aux fichiers et aux répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Représentation symbolique des droits d’accès . . . . . . . . . . . . . . . . . . . . . . . . . .
Représentation numérique des droits d’accès . . . . . . . . . . . . . . . . . . . . . . . . . .
10-1
10-2
10-2
10-2
10-3
10-3
10-3
10-4
10-4
10-4
10-5
10-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Affichage d’informations sur le groupe (commande lsgroup) . . . . . . . . . . . . . . . .
Liste de tous les groupes du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste d’attributs spécifiques de tous les groupes . . . . . . . . . . . . . . . . . . . . . . . .
Affichage des attributs d’un groupe spécifique . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste d’attributs spécifiques d’un groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modification des droits d’accès aux fichiers et aux répertoires
(commande chmod) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Listes de contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste ACL pour objets de systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type de liste ACL AIXC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Type de liste ACL NFS4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple de liste ACL pour AIXC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Autorisations d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage des informations de contrôle des accès (commande aclget) . . . . . . . .
Paramétrage des informations de contrôle des accès (commande aclput) . . . .
Modification des informations de contrôle des accès (commande acledit) . . . . .
Exemple de liste ACL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Affichage des informations de contrôle des accès (commande aclget) . . . . . . . .
Paramétrage des informations de contrôle des accès (commande aclput) . . . .
Modification des informations de contrôle des accès (commande acledit) . . . . .
Verrouillage du terminal (commande lock ou xlock) . . . . . . . . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes relatives à la sécurité . . . . . . . . . . . . . . . . . . . . . . . . .
10-8
10-9
10-9
10-9
10-11
10-12
10-12
10-14
10-14
10-15
10-15
10-16
10-16
10-16
10-17
10-18
Chapitre 11. Personnalisation de l’environnement utilisateur . . . . . . . . . . . . . .
Fichiers de lancement du système : généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichier /etc/environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
fichier /etc/profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichier .profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichier .env . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers de lancement du système AIXwindows : généralités . . . . . . . . . . . . . . . . . .
.xinitrc file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichier .Xdefaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichier .mwmrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Personnalisation de votre environnement système . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exportation de variables shell (commande shell export) . . . . . . . . . . . . . . . . . . . .
Changement de la police par défaut (commande chfont) . . . . . . . . . . . . . . . . . . .
Utilisation de la commande chfont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commande smit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changement de l’affectation des touches de contrôle (commande stty) . . . . . . .
Changement de l’invite système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Récapitulatif des commandes de personnalisation . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers de lancement du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fichiers de lancement AIXwindows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Procédures de personnalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11-1
11-2
11-2
11-3
11-3
11-4
11-5
11-5
11-6
11-7
11-9
11-9
11-9
11-10
11-10
11-10
11-11
11-12
11-12
11-12
11-12
Chapitre 12. Shells : généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Caractéristiques des shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shells disponibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terminologie des shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Création et exécution d’un script shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spécification d’un shell pour un fichier script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes du shell Korn ou POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes composées du shell Korn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des commandes composées du shell Korn ou POSIX . . . . . . . . . . . . . .
12-1
12-3
12-4
12-5
12-7
12-8
12-9
12-10
12-11
Préface
10-6
10-6
10-7
10-7
10-8
xi
Lancement du shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Environnement shell Korn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions du shell Korn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Historique des commandes (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de l’historique des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Déclaration de caractères (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mots réservés (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Alias de commandes (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Alias de trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de tilde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de paramètres (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramètres (shell Korn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramètres spéciaux prédéfinis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables définies par le shell Korn ou POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables utilisées par le shell Korn ou POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de commandes (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . .
Evaluation arithmétique (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Séparation de zones (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de noms de fichiers (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . .
Suppression des caractères de déclaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des entrées/sorties (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . .
Fonction coprocess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des entrées/sorties du coprocess . . . . . . . . . . . . . . . . . . . . . . .
Etat de sortie (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes intégrées du shell Korn ou POSIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description des commandes intégrées spéciales . . . . . . . . . . . . . . . . . . . . . . . . . .
Description des commandes intégrées standard . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des commandes intégrées (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . .
Commandes intégrées spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes intégrées standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expressions conditionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contrôle des travaux (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traitement des signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Edition en ligne (shell Korn ou POSIX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mode d’édition emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
mode d’édition vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes d’entrée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes de déplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes de modification de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes diverses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell Korn avancé (ksh93) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell Bourne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Environnement du shell Bourne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell restreint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xii
AIX Guide de l’utilisateur – Système d’exploitation et unités
12-12
12-13
12-13
12-14
12-15
12-16
12-19
12-20
12-21
12-21
12-22
12-22
12-23
12-24
12-25
12-26
12-29
12-30
12-32
12-33
12-34
12-35
12-37
12-37
12-38
12-39
12-39
12-47
12-52
12-52
12-53
12-54
12-56
12-57
12-58
12-58
12-61
12-61
12-62
12-62
12-63
12-64
12-65
12-70
12-70
12-71
Shell Korn restreint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes du shell Bourne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Déclaration de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traitement des signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes composées (shell Bourne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mots réservés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes intégrées (shell Bourne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description des commandes spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de commandes (shell Bourne). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de variables et de noms de fichiers (shell Bourne) . . . . . . . . . . . . . . . .
Substitution de variables (shell Bourne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables définies par l’utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables utilisées par le shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables spéciales prédéfinies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interprétation des blancs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramètres positionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de noms de fichiers (shell Bourne) . . . . . . . . . . . . . . . . . . . . . . . . . . .
Classes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des entrées/sorties (shell Bourne) . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des commandes intégrées (shell Bourne) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell C : généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Règles d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traitement des signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes du shell C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Commandes intégrées (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expressions et opérateurs du shell C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de commandes (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exécution des commandes Shell C non intégrées . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution d’historique (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste d’historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spécification d’événement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Guillemets et apostrophes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution d’alias (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de variables et de noms de fichiers (shell C) . . . . . . . . . . . . . . . . . . . . .
Substitution de variables (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Substitution de nom de fichier (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Développement de nom de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abréviation de nom de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Classes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variables d’environnement (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Réacheminement des entrées/sorties (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flux de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contrôle des travaux (shell C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Liste des commandes intégrées du shell C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Voir aussi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell Korn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell Bourne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12-72
12-73
12-74
12-74
12-75
12-75
12-76
12-77
12-82
12-83
12-83
12-83
12-84
12-86
12-87
12-87
12-88
12-88
12-89
12-90
12-91
12-92
12-93
12-93
12-94
12-94
12-95
12-101
12-103
12-103
12-104
12-104
12-105
12-106
12-107
12-108
12-108
12-110
12-110
12-111
12-112
12-113
12-116
12-117
12-118
12-119
12-121
12-121
12-121
12-122
Préface
xiii
xiv
Chapitre 13. Documentation AIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13-1
Annexe A. Accessibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de la ligne de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation de Web–based System Manager et de SMIT . . . . . . . . . . . . . . . . . . . . . .
Utilisation des extensions clavier X pour augmenter l’accessibilité
dans l’environnement X WindowSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Activation des extensions clavier X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Touche souris (MouseKeys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utilisation du gestionnaire de styles
dans l’environnement Common Desktop (CDE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changement de la couleur et de la forme du pointeur de la souris . . . . . . . . . . . . . .
A-1
A-1
A-1
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
X-1
AIX Guide de l’utilisateur – Système d’exploitation et unités
A-1
A-3
A-3
A-4
A-4
Chapitre 1. Noms de connexion, ID système
et mots de passe
Le système d’exploitation ne peut vous fournir un environnement correct que s’il a le moyen
de vous identifier. C’est pourquoi vous êtes invité, pour vous connecter, à entrer votre nom
de connexion (également appelé ID utilisateur ou nom utilisateur) et un mot de passe. Les
mots de passe constituent une première sécurité : personne ne peut accéder à votre
système sans connaître à la fois votre nom de connexion et votre mot de passe.
Si le système est multi–utilisateur, chaque utilisateur autorisé se voit attribuer un compte,
un mot de passe et un nom de connexion. Le système d’exploitation conserve une trace
des ressources utilisées par chaque utilisateur. On appelle cela compte système. Chaque
utilisateur est également doté d’un espace de stockage sur le système, appelé système de
fichiers. Lorsque vous vous connectez, ce système de fichiers semble ne contenir que vos
propres fichiers, même si des milliers d’autres fichiers se trouvent sur le système.
Vous pouvez, sur un même système, disposer de plusieurs noms de connexion. Pour
passer de l’un à l’autre, il est inutile de vous déconnecter. Vous pouvez les utiliser
simultanément dans des shells distincts ou successivement dans un même shell. En outre,
si votre système fait partie d’un réseau connecté à d’autres systèmes, vous avez accès à
tous les systèmes sur lesquels un nom de connexion vous a été attribué. On appelle cela
une connexion éloignée.
A la fin de votre travail, déconnectez–vous : vous serez ainsi assuré que vos fichiers
et vos données sont en sécurité.
Ce chapitre comporte les sections suivantes :
• Connexion et déconnexion : présentation, page 1-2
– Connexion au système d’exploitation, page 1-2
– Connexion multiple (commande login), page 1-3
– Passage à un autre nom d’utilisateur (commande su), page 1-3
– Suppression de messages de connexion, page 1-3
– Déconnexion du système d’exploitation (commande exit et logout), page 1-4
– Arrêt du système d’exploitation (commande shutdown), page 1-4
•
Identification utilisateur et système, page 1-5
– Affichage du nom de connexion (commandes whoami et logname), page 1-5
– Affichage du nom du système d’exploitation (commande uname), page 1-6
– Affichage du nom du système (commande uname), page 1-6
– Affichage des utilisateurs connectés (commande who), page 1-6
– Affichage de l’ID d’un utilisateur (commande id), page 1-6
•
Mots de passe, page 1-8
– Consignes relatives aux mots de passe, page 1-8
– Changement des mots de passe (commande passwd), page 1-9
– Paramétrage des mots de passe sur nul (commande passwd), page 1-9
• Récapitulatif des commandes relatives aux noms de connexion, aux ID système
et aux mots de passe, page 1-10
Noms de connexion, ID système et mots de passe
1-1
Connexion et déconnexion : généralités
Pour accéder au système d’exploitation, votre système doit être lancé et vous devez y être
connecté. Lorsque vous ouvrez une session, vous êtes invité à décliner votre identité : le
système peut alors configurer votre environnement.
Cette section décrit les procédures suivantes :
•
Connexion au système d’exploitation, page 1-2
•
Connexions multiples (commande login), page 1-3
•
Passage à un autre nom d’utilisateur (commande su), page 1-3
•
Suppression des messages de connexion, page 1-3
•
Déconnexion du système d’exploitation (commandes exit et logout), page 1-4
•
Arrêt du système d’exploitation (commande shutdown), page 1-4
Connexion au système d’exploitation
Le système peut être configuré pour que vous ne puissiez y accéder qu’à certaines heures
de la journée ou certains jours de la semaine. L’accès vous sera refusé si vous tentez une
connexion en dehors des plages autorisées. Renseignez–vous auprès de votre
administrateur système.
Vous vous connectez à l’affichage de l’invite de connexion. La connexion établie, vous êtes
automatiquement placé dans votre répertoire personnel (également appelé répertoire de
connexion).
Après avoir mis votre système sous tension, établissez une connexion pour démarrer une
session.
1. Entrez votre nom de connexion après l’invite login: invite :
login : NomConnexion
Par exemple, si votre nom utilisateur est denise :
login : denise
2. Si l’invite password: est affichée, entrez votre mot de passe.
(Ce dernier ne s’affiche pas.)
PASSWORD : [votre mot de passe]
Si l’invite password ne s’affiche pas, c’est que vous n’avez pas de mot de passe défini.
Vous pouvez commencer à travailler.
Si votre machine n’est pas mise sous tension, effectuez les étapes suivantes avant de vous
connecter :
1. Mettez sous tension toutes les unités raccordées.
2. Mettez l’unité centrale sous tension (I).
3. Consultez l’afficheur. Si les autotests ont abouti, il doit être vide.
Si une erreur s’est produite, un code (de 3 chiffres) s’affiche et le système s’arrête. Veuillez
contacter votre administrateur système pour plus d’informations sur les codes d’erreur et la
reprise.
Les autotests terminés, l’invite de connexion s’affiche :
login:
Une fois la connexion établie, le système appelle, selon la configuration définie, une
interface ligne de commande (shell) ou une interface graphique (par exemple, AIXwindows
ou Common Desktop Environment (CDE)).
1-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
Si vous avez des questions concernant la configuration de votre mot de passe ou de votre
nom d’utilisateur, veuillez vous adresser à votre administrateur système.
Connexions multiples (commande login)
Si vous travaillez sur plusieurs projets et souhaitez conserver des comptes séparés,
vous pouvez ouvrir plusieurs sessions. Pour cela, spécifiez le même nom ou des noms
de connexion différents.
Remarque : A chaque système est associé un nombre maximal de noms de connexion
pouvant être simultanément actifs. Ce nombre dépend de votre licence et varie selon les
installations.
Par exemple, si vous vous connectez en tant que denise1 et que votre deuxième
nom de connexion est denise2, quand l’invite s’affiche, entrez :
login denise2
Si l’invite password: est affichée, entrez votre mot de passe. (Ce dernier ne s’affiche
pas.) Vous disposez à présent de deux sessions.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
login dans le manuel AIX 5L Version 5.3 Commands Reference.
Passage à un autre nom d’utilisateur (commande su)
Vous pouvez modifier l’ID utilisateur associé à une session (si vous connaissez le nom
de connexion de l’utilisateur), en utilisant la commande su (switch user).
Si, par exemple, vous voulez devenir l’utilisateur joyce, entrez à l’invite :
su joyce
Si l’invite password: est affichée, entrez le mot de passe de l’utilisateur joyce. Votre ID
utilisateur est désormais joyce. Si vous ne connaissez pas le mot de passe, l’accès vous
est refusé.
Pour vérifier que votre ID utilisateur est joyce, utilisez la commande id. Pour plus
d’informations sur la commande id, reportez–vous à la section Affichage de l’ID d’un
utilisateur (commande id), page 1-6.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande su
dans le manuel AIX 5L Version 5.3 Commands Reference.
Suppression des messages de connexion
A l’ouverture d’une session, la commande login affiche la date du jour, le message du jour,
la date et l’heure de la dernière tentative de connexion (aboutie ou non), ainsi que le
nombre total de connexions inabouties, depuis la dernière mise à jour des données
d’authentification (mot de passe, en général). Vous pouvez supprimer ces messages en
ajoutant un fichier .hushlogin dans votre répertoire personnel.
A l’invite, dans votre répertoire utilisateur, tapez :
touch .hushlogin
La commande touch crée le fichier vide, .hushlogin s’il n’existe pas encore. A l’ouverture
de session suivante, les messages de connexion seront éliminés. Vous pouvez aussi ne
conserver que l’affichage de la date du jour à l’exclusion des autres messages.
Reportez–vous à la commande touch dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Noms de connexion, ID système et mots de passe
1-3
Déconnexion du système d’exploitation (commandes exit et logout)
Pour déconnecter le système d’exploitation, effectuez l’une des opérations suivantes à
l’invite du système :
Appuyez sur la combinaison de touches de contrôle fin de fichier (Ctrl–D).
OU
Entrez exit.
OU
Entrez logout.
Une fois la session fermée, le système affiche l’invite login.
Arrêt du système d’exploitation (commande shutdown)
Avertissement : Ne mettez pas le système hors tension avant d’avoir arrêté le système
d’exploitation. En effet, vous interrompriez tous les process en cours. Si d’autres
utilisateurs sont connectés ou que des travaux sont traités en arrière–plan, des données
peuvent être perdues. Exécutez la procédure d’arrêt appropriée avant d’arrêter le
système.
Si vous possédez les droits d’utilisateurs root, vous pouvez utiliser la commande shutdown
pour arrêter le système. Si vous n’êtes pas autorisé à utiliser la commande shutdown,
déconnectez–vous simplement du système d’exploitation et laissez–le en marche.
A l’invite, entrez ce qui suit :
shutdown
Lorsque la commande shutdown est exécutée, le système s’arrête avec le message :
....Shutdown completed....
Reportez–vous à la commande shutdown dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
1-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Identification utilisateur et système
Cette section traite des commandes permettant d’afficher des informations identifiant les
utilisateurs du système et le système utilisé.
•
Affichage du nom de connexion (commandes whoami et logname), page 1-5
•
Affichage du nom du système d’exploitation (commande uname), page 1-6
•
Affichage du nom du système (commande uname), page 1-6
•
Affichage des utilisateurs connectés (commande who), page 1-6
•
Affichage de l’ID d’un utilisateur (commande id), page 1-6
Affichage du nom de connexion (commandes whoami et logname)
Si vous ouvrez plusieurs sessions, il n’est pas toujours évident de se souvenir
des noms de connexion utilisés, notamment pour la session active.
Utilisation de la commande whoami
Pour afficher le nom de connexion utilisé, à l’invite, entrez ce qui suit :
whoami
Le système affiche un écran semblable à celui-ci :
denise
Ici, le nom de connexion est denise.
Reportez–vous à la commande whoami dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Utilisation de la commande who am i
Une variante de la commande who, la commande who am i, permet d’afficher le nom
de connexion, le nom du terminal et l’heure de la connexion. A l’invite, entrez ce qui suit :
who am i
Le système affiche un écran semblable à celui-ci :
denise
pts/0
Jun 21 07:53
Ici, le nom de connexion est denise, le nom du terminal est pts/0 et l’utilisateur s’est
connecté à 7:53, le 21 juin.
Reportez–vous à la commande who, dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Utilisation de la commande logname
Etant une autre variante de la commande who la commande logname affiche les mêmes
informations que la commande who.
A l’invite, entrez ce qui suit :
logname
Le système affiche un écran semblable à celui-ci :
denise
Ici, le nom de connexion est denise.
Noms de connexion, ID système et mots de passe
1-5
Affichage du nom du système d’exploitation (commande uname)
Pour afficher le nom du système d’exploitation, utilisez la commande uname.
Par exemple, à l’invite, entrez :
uname
Le système affiche un écran semblable à celui-ci :
AIX
Ici, le nom du système d’exploitation est AIX.
Reportez–vous à la commande uname dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Affichage du nom de votre système (commande uname)
Pour afficher le nom de votre système si vous êtes sur un réseau, utilisez la commande
uname avec l’indicateur –n. Ce nom, qui identifie le système vis–à–vis du réseau, est
distinct de votre ID de connexion.
Par exemple, à l’invite, entrez :
uname –n
Le système affiche un écran semblable à celui-ci :
barnard
Ici, le nom de connexion est barnard.
Reportez–vous à la commande uname dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Affichage des utilisateurs connectés (commande who)
Pour afficher des informations sur tous les utilisateurs en cours sur le système local,
utilisez la commande who. Les informations suivantes s’affichent : nom de connexion,
nom système et date/heure de la connexion.
Remarque : Cette commande n’identifie que les utilisateurs se trouvant le nœud local.
Pour obtenir des informations sur les utilisateurs connectés au nœud local, entrez :
who
Le système affiche un écran semblable à celui-ci :
joe
lft/0 Jun 8 08:34
denise
pts/1 Jun 8 07:07
Dans cet exemple, l’utilisateur joe, sur le terminal lft/0, s’est connecté à 8:34, le 8 juin.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
who dans le manuel AIX 5L Version 5.3 Commands Reference.
Affichage de l’ID d’un utilisateur (commande id)
Pour afficher les identificateurs système (ID) pour un utilisateur spécifié, utilisez la
commande id. Les ID système sont des chiffres identifiant utilisateurs et groupes
d’utilisateurs vis-à-vis du système. La commande id affiche les informations suivantes,
le cas échéant :
• le nom et l’ID utilisateur réel ;
• le nom du groupe de l’utilisateur et l’ID groupe réel ;
• le nom et l’ID des groupes complémentaires, le cas échéant.
Par exemple, à l’invite, entrez :
id
1-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Le système affiche un écran semblable à celui-ci :
uid=1544(sah) gid=300(build) euid=0(root) egid=9(printq)
groups=0(system),10(audit)
Dans cet exemple, l’utilisateur possède le nom sah avec un numéro ID de 1544;
un nom de groupe principal build avec un numéro ID de 300; un nom d’utilisateur
effectif root avec un numéro ID de 0; un nom de groupe effectif printq avec un
numéro ID de 9; et deux noms de groupes supplémentaires system et audit,
de numéros ID respectifs 0 et 10.
Par exemple, à l’invite, entrez :
id denise
Le système affiche un écran semblable à celui-ci :
uid=2988(denise) gid=1(staff)
Dans cet exemple, l’utilisateur denise a un numéro ID de 2988 et seulement un nom
de groupe principal, staff de numéro ID égal à 1.
Reportez–vous à la commande id dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Noms de connexion, ID système et mots de passe
1-7
Mots de passe
Votre système associe un mot de passe à chaque compte. Ce mot de passe unique offre
une certaine sécurité système à vos fichiers. La sécurité est une partie importante des
systèmes informatiques parce qu’elle évite que des personnes non autorisées n’accèdent
au système et n’exploitent de manière frauduleuse les fichiers des autres utilisateurs.
La sécurité permet également d’accorder des privilèges exclusifs à certains utilisateurs, en
définissant les commandes qu’ils peuvent exécuter et les fichiers auxquels ils peuvent
accéder. Par mesure de protection, certains administrateurs système ne permettent aux
utilisateurs d’accéder qu’à certaines commandes ou fichiers.
Cette section décrit les procédures suivantes :
• Consignes relatives aux mots de passe, page 1-8
• Changement des mots de passe (commande passwd), page 1-9
• Paramétrage des mots de passe sur nul (commande passwd), page 1-9
Directives concernant les mots de passe
Vous devez disposer d’un mot de passe exclusif. Les mots de passe ne doivent pas être
partagés. Protégez les mots de passe comme toute autre valeur de la société. Lors de la
création de mots de passe, veillez à ce qu’ils soient difficiles à deviner, mais pas au point
que vous deviez les écrire pour vous en souvenir.
L’utilisation de mots de passe obscurs garantit la sécurité de votre ID utilisateur. Les mots
de passe reposant sur des informations personnelles, telles que votre nom ou votre date de
naissance, sont de mauvais mots de passe. Les mots courants également peuvent être
facilement devinés.
Les bons mots de passe comportent au moins six caractères et comprennent des
caractères non alphabétiques. Les combinaisons de mots étranges et les mots sciemment
mal orthographiés conviennent également.
Remarque : Si votre mot de passe est si difficile à mémoriser que vous devez l’écrire,
ce n’est pas un bon mot de passe.
Suivez les directives ci–après lors de la sélection d’un mot de passe :
• N’utilisez pas votre ID utilisateur comme mot de passe. Ne l’utilisez pas inversé, doublé
ou modifié de toute autre façon.
• Ne réutilisez pas les mots de passe. Le système peut être configuré pour refuser la
réutilisation d’un mot de passe.
• N’utilisez pas le nom d’une autre personne comme mot de passe.
• N’utilisez pas comme mot de passe des termes figurant dans le dictionnaire de
vérification orthographique en ligne.
• N’utilisez pas de mots de passe inférieurs à six caractères.
• N’utilisez pas de mots obscènes ; ce sont les premiers recherchés lorsque l’on tente de
deviner les mots de passe.
• Utilisez un mot de passe facile à mémoriser, de manière à ne pas être obligé de l’écrire.
• Utilisez des mots de passe dans lesquels lettres et chiffres sont combinés, et comportant
des majuscules et des minuscules.
• Utilisez deux mots, séparés par un chiffre, comme mot de passe.
• Vous pouvez utiliser des mots de passe prononçables. Ils sont plus faciles à mémoriser.
• N’écrivez pas les mots de passe. Toutefois, si vous devez les écrire, placez–les dans un
lieu protégé, comme une armoire fermant à clé.
1-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Modification du mot de passe (commande passwd)
Pour modifier votre mot de passé, utilisez la commande passwd.
1. A l’invite, entrez ce qui suit :
passwd
Si vous ne possédez pas de mot de passe, ignorez l’étape 2.
2. Le message suivant s’affiche :
Modification du mot de passe pour l’ID utilisateur ancien mot de passe
de IDutilisateur :
Cette demande évite qu’un utilisateur non autorisé ne modifie votre mot de passe
lorsque vous n’êtes pas à proximité du système. Tapez votre mot de passe actuel
et appuyez sur Entrée.
3. Le message suivant s’affiche :
Nouveau mot de passe
Tapez le nouveau mot de passe que vous souhaitez définir et appuyez sur Entrée.
4. L’invite ci–après est affichée et vous demande de confirmer le nouveau mot de passe.
Enter the new password again:
Cette demande vous évite de définir comme mot de passe une chaîne de caractères mal
saisie que vous ne seriez plus en mesure de reproduire.
Reportez–vous à la commande passwd dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Annulation du mot de passe (commande passwd)
Si vous ne voulez pas saisir votre mot de passe lors de chaque connexion,
il suffit de lui attribuer la valeur NULL (vierge).
Pour ce faire, saisissez :
passwd
Lorsque vous êtes invité à saisir le nouveau mot de passe, appuyez sur Entrée
ou sur Ctrl–D.
La commande passwd ne vous invite pas à nouveau à saisir un mot de passe.
Un message de vérification de l’annulation du mot de passe s’affiche.
Reportez–vous à la commande passwd dans le manuel AIX 5L Version 5.3 Commands
Reference pour obtenir de plus amples informations ainsi que la syntaxe exacte.
Noms de connexion, ID système et mots de passe
1-9
Récapitulatif des commandes relatives aux noms
de connexion, aux ID système et aux mots de passe
Commandes de connexion et de déconnexion
login
Ouvre la session.
logout
Arrête tous les process.
shutdown
Met fin aux opérations du système
su
Modifie l’ID utilisateur associé à une session
touch
Met à jour l’heure d’accès et de modification d’un fichier,
ou crée un fichier vide
Commandes d’identification utilisateur et système
id
Affiche les identifications système d’un utilisateur
logname
Affiche le nom de connexion.
uname
Affiche le nom du système d’exploitation
who
Identifie les utilisateurs actuellement connectés
whoami
Affiche votre nom de connexion
Commande de mot de passe
passwd
1-10
Modifie le mot de passe de l’utilisateur
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 2. Système et environnement utilisateur
Chaque nom de connexion est associé à un environnement système. Il s’agit d’une zone
où sont enregistrées les informations communes à tous les processus en cours dans une
session. Vous pouvez utiliser plusieurs commandes pour afficher des informations sur votre
système.
Ce chapitre décrit les procédures suivantes relatives à l’affichage des informations relatives
à votre environnement :
• Liste des unités système (commande lscfg), page 2-2
• Affichage du nom de votre console (commande lscons), page 2-4
• Affichage du nom de votre terminal (commande tty), page 2-5
• Liste des écrans disponibles (commande lsdisp), page 2-6
• Liste des polices disponibles (commande lsfont), page 2-7
• Liste des mappes de clavier programmable en cours chargées sur le système
(commande lskbd), page 2-8
• Liste des logiciels disponibles (commande lslpp), page 2-9
• Liste des affectations de touches du terminal (commande stty), page 2-10
• Liste des variables d’environnement (commande env), page 2-11
• Affichage de la valeur d’une variable d’environnement (commande printenv), page 2-12
• Utilisation des langues bidirectionnelles (commande aixterm), page 2-13
• Récapitulatif des commandes relatives à l’environnement utilisateur et aux informations
système, page 2-14
Système et environnement utilisateur
2-1
Affichage de la liste des unités système (commande lscfg)
La commande lscfg affiche le nom, la position et la description de chaque unité de la
configuration courante. La liste est triée en fonction de l’emplacement des unités.
Par exemple, pour répertorier les unités configurées dans votre système, saisissez à l’invite
de commande :
lscfg
Le système affiche une sortie semblable à l’exemple suivant :
LISTE DES RESSOURCES INSTALLEES
Les ressources suivantes sont installées sur la machine.
+/– = Ajoutée/Supprimée de la Liste des ressources testées.
* = NON prise en charge par le programme de diagnostics.
Architecture du modèle : chrp
Mise en oeuvre du modèle : Processeur multiple, bus PCI
+
+
+
+
+
+
+
–
sysplanar0
fpa0
mem0
mem1
ioplanar0
rs2320
tty0
tty1
..
..
..
00–00
00–00
00–0A
00–0B
00–00
00–01
00–01–0–01
00–01–0–02
CPU Planar
Processeur calcul virgule flottante
Carte mémoire
Carte mémoire
Carte d’E/S
Carte RS232
Port carte RS232
Port carte RS232
La liste des unités n’est pas seulement triée en fonction de l’emplacement des unités.
L’ordre fait également intervenir la notion de hiérarchie parent/enfant. Si le parent a
plusieurs enfants, ces derniers sont triés en fonction de l’emplacement de l’unité. Si les
enfants ont le même emplacement d’unité, ils sont affichés dans l’ordre dans lequel ils ont
été obtenus par les logiciels. Pour afficher des informations sur une unité particulière, vous
disposez de l’indicateur –l. Ainsi, pour afficher les informations sur l’unité sysplanar0,
entrez ce qui suit à l’invite :
lscfg –l sysplanar0
Le système affiche une sortie semblable à l’exemple suivant :
DEVICE
sysplanar0
LOCATION
00–00
DESCRIPTION
CPU Planar
Lancez également la commande lscfg pour afficher les données techniques essentielles
(VPD), telles que références des pièces, numéros de série et niveaux d’EC. Dans le cas de
certaines unités, les données techniques essentielles sont collectées automatiquement,
puis sont ajoutées à la configuration du système. Pour d’autres unités, ces données sont
saisies manuellement. Les données sont alors précédées de l’abréviation ME (saisie).
Par exemple, pour répertorier les données techniques essentielles (VPD) des unités
configurées dans votre système, saisissez à l’invite de commande :
lscfg –v
Le système affiche une sortie semblable à l’exemple suivant :
LISTE DES RESSOURCES INSTALLEES AVEC VPD
Les ressources suivantes sont installées sur la machine.
Architecture du modèle : chrp
Mise en oeuvre du modèle : Processeur multiple, bus PCI
2-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
sysplanar0
00–00
CPU Planar
Part Number.........342522
Niveau modif technique.....254921
Numéro de série............353535
fpa0
mem0
00–00
00–0A
Floating Point Processor
Carte mémoire
EC Level............990221
.
.
.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
lscfg dans le manuel AIX 5L Version 5.3 Commands Reference.
Système et environnement utilisateur
2-3
Affichage du nom de votre console (commande lscons)
La commande lscons envoie le nom de l’unité de console en cours vers la sortie standard
(généralement votre écran).
Par exemple, à l’invite, entrez :
lscons
Le système affiche une sortie semblable à l’exemple suivant :
/dev/lft0
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
lscons dans le manuel AIX 5L Version 5.3 Commands Reference.
2-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Affichage du nom de votre terminal (commande tty)
Pour afficher le nom de votre terminal, utilisez la commande tty.
Le système affiche des informations similaires à l’exemple suivant :
tty
Le système affiche des informations similaires à l’exemple suivant :
/dev/tty06
Dans cet exemple, tty06 est le nom du terminal et /dev/tty06 est le fichier du périphérique
qui contient l’interface avec ce terminal.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande tty
dans le manuel AIX 5L Version 5.3 Commands Reference.
Système et environnement utilisateur
2-5
Liste des écrans disponibles (commande lsdisp)
La commande lsdisp permet de répertorier les écrans en cours disponibles sur le système
et fournit le nom d’identification, le numéro d’emplacement, le nom de l’écran et la
description des différents écrans.
Par exemple, pour répertorier tous les écrans disponibles, entrez :
lsdisp
La sortie est semblable à l’exemple ci–après. La liste s’affiche dans l’ordre croissant
des numéros d’emplacement.
Name
ppr0
gda0
ppr1
Slot
00–01
00–03
00–04
Name
POWER_G4
colorgda
POWER_Gt3
Description
Midrange Graphics Adapter
Color Graphics Display Adapter
Midrange Entry Graphics Adapter
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
lsdisp dans le manuel AIX 5L Version 5.3 Commands Reference.
2-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liste des polices disponibles (commande lsfont)
La commande lsfont permet d’afficher la liste des polices disponibles pour l’affichage.
Par exemple, pour répertorier toutes les polices disponibles, entrez :
lsfont
La sortie est semblable à l’exemple ci–après. L’identificateur de police, le nom du fichier,
la taille de glyphe et le codage de la police sont indiqués :
FONT
ID
====
0
1
FILE
NAME
==============
Erg22.iso1.snf
Erg11.iso1.snf
GLYPH
SIZE
=====
12x30
8x15
FONT
ENCODING
=========
ISO8859–1
ISO8859–1
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
lsfont dans le manuel AIX 5L Version 5.3 Commands Reference.
Système et environnement utilisateur
2-7
Liste des mappes de clavier programmable en cours chargées
sur le système (commande lskbd)
La commande lskbd permet d’afficher le nom du chemin d’accès absolu de la mappe
de clavier programmable en cours chargée sur le système.
Par exemple, pour répertorier les mappes de clavier en cours, saisissez la commande :
lskbd
La liste affichée par la commande lskbd est similaire à l’exemple suivant :
The current software keyboard map = /usr/lib/nls/loc/C.lftkeymap
2-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liste des logiciels disponibles (commande lslpp)
La commande lslpp affiche des informations relatives aux logiciels disponibles
sur le système.
Par exemple, pour répertorier tous les logiciels du système, entrez :
lslpp –l –a
Voici un exemple de sortie :
Fileset
Level State
–––––––––––––––––––– ––––––– ––––––––
Path: /usr/lib/objrepos
X11_3d.gl.dev.obj
APPLIED
Fonts
X11fnt.oldX.fnt
APPLIED
X11mEn_US.msg
APPLIED
Description
–––––––––––––––––
AIXwindows/3D GL
Development Utilities
AIXwindows Miscellaneous
X Fonts
AIXwindows NL Message
files
.
.
.
Si la liste est très longue, la première partie peut défiler hors de l’écran. Pour afficher la liste
une page (écran) à la fois, associez la commande lslpp à la commande pg. A l’invite,
entrez ce qui suit :
lslpp | pg
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
lslpp dans le manuel AIX 5L Version 5.3 Commands Reference.
Système et environnement utilisateur
2-9
Liste des affectations de touches du terminal (commande stty)
Pour afficher les paramètres de votre terminal, utilisez la commande stty. Cela vous permet
ainsi de savoir quelles touches le terminal utilise comme touches de contrôle.
Par exemple, à l’invite, entrez :
stty –a
Le système affiche des informations similaires à l’exemple suivant :
.
.
.
intr = ^C; quit = ^ erase = ^H; kill = ^U; eof = ^D;
eol = ^@ start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y;
reprint = ^R discard = ^O; werase = ^W; lnext = ^V
.
.
.
Dans cet exemple, les lignes intr = ^C; quit = ^\; erase = ^H; représentent les
paramètres des touches de contrôle. La touche ^H est la touche Retour arrière, qui
exécute la fonction de suppression.
Si la liste est très longue, la première partie peut défiler hors de l’écran. Pour afficher la liste
une page (écran) à la fois, associez la commande stty à la commande pg. A l’invite, entrez
ce qui suit :
stty –a | pg
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande stty
dans le manuel AIX 5L Version 5.3 Commands Reference.
2-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liste de toutes les variables d’environnement (commande env)
Pour afficher les variables d’environnement courantes, utilisez la commande env.
Une variable accessible à tous les process est dite variable globale.
Par exemple, pour afficher la liste de toutes les variables d’environnement et leurs valeurs
associées, entrez :
env
Voici un exemple de sortie :
TMPDIR=/usr/tmp
myid=denise
LANG=En_US
UNAME=barnard
PAGER=/bin/pg
VISUAL=vi
PATH=/usr/ucb:/usr/lpp/X11/bin:/bin:/usr/bin:/etc:/u/denise:/u/denise/bin:/
u/bin1
MAILPATH=/usr/mail/denise?denise has mail !!!
MAILRECORD=/u/denise/.Outmail
EXINIT=set beautify noflash nomesg report=1 showmode showmatch
EDITOR=vi
PSCH=>
HISTFILE=/u/denise/.history
LOGNAME=denise
MAIL=/usr/mail/denise
PS1=denise@barnard:${PWD}>
PS3=#
PS2=>
epath=/usr/bin
USER=denise
SHELL=/bin/ksh
HISTSIZE=500
HOME=/u/denise
FCEDIT=vi
TERM=lft
MAILMSG=**YOU HAVE NEW MAIL. USE THE mail COMMAND TO SEE YOUR
PWD= /u/denise
ENV=/u/denise/.env
Si la liste est très longue, la première partie défile hors de l’écran. Pour afficher la liste une
page (écran) à la fois, associez la commande env à la commande pg. A l’invite, entrez ce
qui suit :
env | pg
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande env
dans le manuel AIX 5L Version 5.3 Commands Reference.
Système et environnement utilisateur
2-11
Affichage de la valeur d’une variable d’environnement
(commande printenv)
Pour afficher les variables d’environnement courants, utilisez la commande printenv.
Si vous définissez le paramètre Nom, le système affiche uniquement la valeur de la variable
concernée. Si vous ne définissez pas le paramètre Nom, la commande printenv affiche
toutes les variables d’environnement courantes, présentant une séquence Nom = Valeur
par ligne.
Ainsi, pour afficher la valeur de la variable d’environnement MAILMSG, entrez :
printenv MAILMSG
La commande renvoie la valeur de la variable MAILMSG. Par exemple :
YOU HAVE NEW MAIL
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
printenv dans le manuel AIX 5L Version 5.3 Commands Reference.
2-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
Utilisation des langues bidirectionnelles (commande aixterm)
La commande aixterm prend en charge les langues bidirectionnelles que sont l’arabe et
l’hébreu. Les langues bidirectionnelles peuvent être lues et écrites dans les deux sens :
de gauche à droite et de droite à gauche. Vous pouvez travailler avec des applications en
arabe ou en hébreu en ouvrant une fenêtre dans laquelle vous spécifiez un environnement
local arabe ou hébreu.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
aixterm dans le manuel AIX 5L Version 5.3 Commands Reference.
Système et environnement utilisateur
2-13
Récapitulatif des commandes relatives à l’environnement
utilisateur et aux informations système
2-14
aixterm
Permet de travailler dans des langues bidirectionnelles.
env
Affiche l’environnement courant ou définit l’environnement
d’exécution d’une commande.
lscfg
Affiche des informations de diagnostic sur une unité.
lscons
Affiche le nom de la console courante.
lsdisp
Liste les écrans disponibles sur le système.
lsfont
Liste les polices disponibles sur l’écran.
lskbd
Liste les mappes clavier chargées sur le système.
lslpp
Liste les logiciels disponibles.
printenv
Affiche la valeur des variables d’environnement.
stty
Affiche les paramètres du système.
tty
Affiche le chemin d’accès complet à votre terminal.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 3. L’environnement Common Desktop
Avec l’environnement CDE AIX, vous avez accès aux unités et aux outils en réseau sans
vous soucier de leur emplacement. Vous pouvez échanger des données entre applications
tout simplement en faisant glisser et en déplaçant des objets. Nombre de commandes
complexes qui nécessitaient une syntaxe de ligne de commande complexe sont à présent
aisément exécutables et sont en outre identiques d’une plate–forme à l’autre. Vous pouvez
par exemple configurer de manière centralisée des applications et les distribuer aux
utilisateurs. Vous pouvez également centraliser la gestion de la sécurité, de la disponibilité
et des échanges d’informations entre les applications.
Remarque :
Les manuels d’aide Common Desktop Environment (CDE) 1.0, la
documentation basée sur le Web et les manuels imprimés peuvent désigner
le Desktop comme l’environnement Common Desktop, le bureau
AIXwindows, le CDE 1.0 ou encore le Desktop.
Les sujets traités dans ce chapitre sont les suivants :
• Démarrage et arrêt de l’environnement Common Desktop, page 3-2
• Modification des profils du Desktop, page 3-3
• Ajout/suppression d’écrans et de terminaux dans l’environnement Common Desktop,
page 3-4
• Personnalisation d’unités d’affichage pour l’environnement Common Desktop, page 3-6
L’environnement Common Desktop
3-1
Démarrage et arrêt de l’environnement Common Desktop
Vous pouvez configurer le lancement automatique de l’environnement Common Desktop au
démarrage du système ou le lancer manuellement. Pour exécuter ces tâches, vous devez
être utilisateur racine.
• Activation/désactivation du démarrage automatique, page 3-2
• Démarrage manuel de l’environnement Common Desktop, page 3-2
• Arrêt manuel de l’environnement Common Desktop, page 3-2
Activation/désactivation du démarrage automatique
Vous pouvez configurer le lancement automatique de l’environnement Common Desktop
au démarrage du système. Vous pouvez utiliser Web–based System Manager (entrez wsm
et sélectionnez System ) via SMIT (System Management Interface Tool) ou la ligne de
commande.
Préalables
Vous devez être utilisateur racine pour activer ou désactiver le démarrage automatique.
Démarrage et arrêt automatique de l’environnement Common Desktop
Tâche
Raccourci SMIT
Commande ou fichier
Activation du démarrage
automatique 1
smit dtconfig
/usr/dt/bin/dtconfig –e
Désactivation du démarrage
automatique 1
smit dtconfig
/usr/dt/bin/dtconfig –d
1 Remarque
: après exécution de la tâche, redémarrez le système.
Démarrage manuel de l’environnement Common Desktop
Pour démarrer manuellement l’environnement Common Desktop :
1. Connectez-vous en tant qu’utilisateur racine.
2. Sur une ligne de commande, entrez :
/usr/dt/bin/dtlogin –daemon
L’écran Desktop Login s’affiche. Une session Desktop débute lorsque vous
vous connectez.
Arrêt manuel de l’environnement Common Desktop
Quand vous arrêtez manuellement le gestionnaire de connexion, tous les serveurs X et les
sessions Desktop démarrés par le gestionnaire de connexion sont arrêtés.
Pour arrêter manuellement l’environnement Common Desktop :
1. Ouvrez une fenêtre d’émulation de terminal et connectez–vous en tant qu’utilisateur
racine.
2. Accédez à l’ID processus du gestionnaire de connexion en tapant :
cat /var/dt/Xpid
3. Arrêtez le gestionnaire de connexion en tapant :
kill –term
3-2
process_id
AIX Guide de l’utilisateur – Système d’exploitation et unités
Modification des profils du Desktop
Quand vous vous connectez au Desktop, la lecture du fichier d’environnement shell
(.profile ou .login) n’est pas automatique. Le Desktop exécute le X Server avant votre
connexion, ainsi la fonction fournie par le fichier .profile ou le fichier .login doit être fournie
par le gestionnaire de connexion du Desktop.
Les variables d’environnement spécifiques de l’utilisateur sont définies dans /Home
Directory/.dtprofile. Un modèle de ce fichier se trouve dans /usr/dt/config/sys.dtprofile.
Placez les variables et les commandes shell dans le .dtprofile applicable au seul Desktop.
Ajoutez les lignes à la fin de .dtprofile pour incorporer le fichier d’environnement shell.
Les variables d’environnement à l’échelle du système peuvent être définies dans les fichiers
de configuration du gestionnaire de connexion. Pour plus d’informations sur la configuration
des variables d’environnement, reportez–vous à Common Desktop Environment 1.0 :
Advanced User’s and System Administrator’s Guide.
L’environnement Common Desktop
3-3
Ajout/suppression d’écrans et de terminaux
dans l’environnement Common Desktop
Le gestionnaire de connexion peut être lancé depuis un système doté d’une console locale
graphique ou de type bitmap (mode point). Il existe nombre de méthodes de démarrage
(voir la figure suivante). Vous pouvez démarrer l’environnement Common Desktop
depuis les :
• Consoles locales
• Consoles distantes
• Systèmes de terminaux X d’affichage caractère et d’affichage en mode point
fonctionnant sur un système hôte du réseau
Figure 1. Points d’interface CDE Cette illustration montre les points de liaison entre une
console, un réseau, un affichage en mode point, un affichage caractère et une station de
travail.
Mode point
Console
Affichage caractère
Réseau
Station de travail
3-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Un terminal X comprend une unité d’affichage, un clavier et une souris qui ne s’exécute
que sur le serveur X. Les clients, notamment l’environnement Common Desktop,
s’exécutent sur un ou plusieurs systèmes hôte des réseaux. Les sorties client sont
dirigées sur le terminal X.
Pour les tâches suivantes de configuration du gestionnaire de connexion, plusieurs
configurations sont admises :
•
Suppression d’un écran local, page 3-5
•
Ajout d’un terminal ASCII ou caractères, page 3-5
Utilisation d’une station comme terminal X
Sur la ligne de commande, entrez :
/usr/bin/X11/X –query hostname
Le serveur X de la station que vous souhaitez exploiter comme un terminal X doit :
• Prendre en charge XDMCP et l’option ligne de commande –query,
• Fournir à l’hôte du terminal l’autorisation hôte X (dans /etc/X*.hosts).
Suppression d’un écran local
Pour supprimer un écran local, supprimez l’enregistrement correspondant dans le fichier
Xservers du répertoire /usr/dt/config.
Ajout d’un terminal ASCII ou caractères
Un terminal caractères ou terminal ASCII est une configuration dans laquelle le terminal
n’est pas une unité bitmap (mode point).
Ajout d’une console ASCII ou caractères sans affichage bitmap
1. Si le fichier /etc/dt/config/Xservers est inexistant, copiez le fichier
/usr/dt/config/Xservers dans le répertoire /etc/dt/config.
2. Si vous devez copier le fichier Xservers dans /etc/dt/config, modifiez ou ajoutez la ligne
Dtlogin.servers: de /etc/dt/config/Xconfig comme suit :
Dtlogin*servers: /etc/dt/config/Xservers
3. Modifiez dans /etc/dt/config/Xservers la ligne qui démarre le serveur X. Cette opération
désactive le menu des options de connexion.
# * Local local@console /path/X :0
4. Lisez les fichiers de configuration du gestionnaire de connexion.
Ajout d’une console caractères avec affichage bitmap
1. Si le fichier /etc/dt/config/Xservers est inexistant, copiez le fichier
/usr/dt/config/Xservers dans le répertoire /etc/dt/config.
2. Si vous devez copier le fichier Xservers dans /etc/dt/config, modifiez ou ajoutez la ligne
Dtlogin.servers: de /etc/dt/config/Xconfig comme suit :
Dtlogin*servers: /etc/dt/config/Xservers
3. Modifiez dans /etc/dt/config/Xservers la ligne qui démarre le serveur X comme suit :
* Local local@none /path/X :0
4. Lisez les fichiers de configuration du gestionnaire de connexion.
L’environnement Common Desktop
3-5
Personnalisation des écrans Common Desktop Environment
Vous pouvez configurer le gestionnaire de connexion Common Desktop Environment pour
l’exploiter sur des systèmes dotés de deux écrans ou plus.
Sur un système comportant plusieurs écrans :
• Un serveur doit être démarré sur chacun d’eux.
• Le mode Windows ne doit pas être configuré.
Pour chaque écran, il peut s’avérer nécessaire d’utiliser des ressources dtlogin distinctes.
Pour chaque unité d’affichage, il peut également s’avérer nécessaire d’utiliser des variables
d’environnement distinctes à l’échelle du système.
Démarrage du serveur sur chaque écran
1. Si le fichier /etc/dt/config/Xservers est inexistant, copiez le fichier
/usr/dt/config/Xservers dans le répertoire /etc/dt/config.
2. Si vous devez copier Xservers dans /etc/dt/config, modifiez la ligne Dtlogin.servers:
de /etc/dt/config/Xconfig comme suit :
Dtlogin*servers: /etc/dt/config/Xservers
3. Modifez /etc/dt/config/Xservers pour démarrer un serveur X sur chaque terminal.
Syntaxe
La syntaxe de démarrage de serveur est la suivante :
NomEcran ClasseEcran TypeEcran [ @ite ] Commande
Les écrans connectés à un émulateur ITE (Internal Terminal Emulator) sont les seuls écrans
exploitables en mode No Windows. Ce mode désactive temporairement le Desktop sur
l’écran et exécute un process getty si un tel process n’est pas déjà en cours. Un process
getty est un programme UNIX® qui définit le type de terminal et qui est utilisé dans le
process de connexion.
Ainsi, vous pouvez vous connecter et exécuter des tâches qu’il est normalement impossible
d’effectuer sous l’environnement CDE. Quand vous vous déconnectez, le Desktop est
redémarré sur l’écran. Si le processus getty n’est pas déjà en cours sur un terminal, le
gestionnaire de connexion en lance un au démarrage du mode No Windows.
Configuration par défaut
Si ITE n’est pas défini, display : 0 lui est associé (/dev/console).
Définition d’un écran différent d’ITE
• Sur l’écran ITE, donnez à ITE la valeur character device.
• Sur tous les autres écrans, donnez à ITE la valeur none.
Exemples
Dans Xservers, les entrées suivantes lancent un serveur sur trois écrans locaux sur
sysaaa:0. L’écran :0 correspond à la console (ITE).
sysaaa:0 Local local /usr/bin/X11/X :0
sysaaa:1 Local local /usr/bin/X11/X :1
sysaaa:2 Local local /usr/bin/X11/X :2
Sur l’hôte sysbbb, l’écran en mode point :0 n’est pas un écran ITE ; l’ITE est associé à
/dev/ttyi1. Dans Xservers, les entrées suivantes lancent des serveurs sur les deux écrans
en mode point avec le mode No Windows activé sur :1.
3-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
sysaaa:0 Local local@none /usr/bin/X11/X :0
sysaaa:1 Local local@ttyi1 /usr/bin/X11/X :1
Définition d’un nom d’écran dans Xconfig
Pour spécifier le nom de l’écran dans Xconfig :
• Remplacez les deux points (:) par un tiret de soulignement (_).
• Pour un nom d’hôte entièrement qualifié, remplacez les points par des caractères
soulignés.
Exemple
Dtlogin.claaa_0.resource: value
Dtlogin.sysaaa_prsm_ld_edu_0.resource: value
Utilisation d’un gestionnaire de connexion distinct pour chaque écran
Pour utiliser un gestionnaire de connexion distinct pour chaque écran :
1. Si le fichier /etc/dt/config/Xconfig est inexistant, copiez le fichier
/usr/dt/config/Xconfig dans le répertoire /etc/dt/config.
2. Utilisez les ressources qui se trouvent dans /etc/dt/config/Xconfig pour spécifier un
autre fichier de ressources pour chaque affichage :
Dtlogin.DisplayName.resources:
chemin
/
fichier
où chemin désigne le nom du chemin d’accès aux fichiers Xresource à utiliser et fichier,
le nom de fichier des fichiers Xresource à utiliser.
3. Créez chaque fichier de ressource spécifié dans le fichier Xconfig. Un fichier
Xresources relatif à la langue utilisée est installé dans /usr/dt/config/<LANG>.
4. Placez les ressources dtlogin pour cet écran dans chaque fichier.
Exemple
Dans Xconfig, les lignes suivantes spécifient un fichier de ressource différent par écran :
Dtlogin.sysaaa_0.resources: /etc/dt/config/Xresources0
Dtlogin.sysaaa_1.resources: /etc/dt/config/Xresources1
Dtlogin.sysaaa_2.resources: /etc/dt/config/Xresources2
Script distinct pour chaque écran
1. Si le fichier /etc/dt/config/Xconfig est inexistant, copiez le fichier
/usr/dt/config/Xconfig dans le répertoire /etc/dt/config.
2. Utilisez les ressources startup, reset et setup dans /etc/dt/config/Xconfig pour spécifier
un script différent par écran (qui seront exécutés à la place des fichiers Xstartup, Xreset
et Xsetup) :
Dtlogin*DisplayName*startup: /
chemin /
fichier
Dtlogin*DisplayName*reset: /
chemin /
fichier
Dtlogin*DisplayName*setup: /
chemin /
fichier
où chemin désigne le nom du chemin d’accès du fichier à utiliser et fichier, le nom de fichier
du fichier à utiliser. Le script de démarrage est défini comme racine une fois que l’utilisateur
s’est connecté et avant le lancement de la session Common Desktop Environment.
Le script /usr/dt/config/Xreset peut être utilisé pour inverser la définition du fichier
Xstartup. Le fichier Xreset est exécuté quand l’utilisateur se déconnecte.
L’environnement Common Desktop
3-7
Exemple
Dans le fichier Xconfig, les lignes suivantes spécifient différents scripts pour les deux
écrans.
Dtlogin.sysaaa_0*startup:
Dtlogin.sysaaa_1*startup:
Dtlogin.sysaaa_0*setup:
Dtlogin.sysaaa_1*setup:
Dtlogin.sysaaa_0*reset:
Dtlogin.sysaaa_1*reset:
/etc/dt/config/Xstartup0
/etc/dt/config/Xstartup1
/etc/dt/config/Xsetup0
/etc/dt/config/Xsetup1
/etc/dt/config/Xreset0
/etc/dt/config/Xreset1
Utilisation de variables d’environnement, propres à l’ensemble
du système, distinctes pour chaque écran
Pour définir des variables d’environnement, propres à l’ensemble du système, distinctes
pour chaque écran :
1. Si le fichier /etc/dt/config/Xconfig est inexistant, copiez le fichier
/usr/dt/config/Xconfig dans le répertoire /etc/dt/config.
2. Donnez une définition distincte pour chaque écran dans la ressource environnement de
/etc/dt/config/Xconfig :
Dtlogin*DisplayName*environment: value
Les règles suivantes s’appliquent aux variables d’environnement pour chaque écran :
• Séparez les affectations de variables par un espace ou une tabulation.
• Ne vous servez pas de la ressource d’environnement pour définir TZ et LANG.
• Dans Xconfig, le traitement de shell n’existe pas.
Exemple
Dans Xconfig, les lignes suivantes définissent des variables différentes pour deux écrans.
Dtlogin*syshere_0*environment:EDITOR=vi SB_DISPLAY_ADDR=0xB00000
Dtlogin*syshere_1*environment: EDITOR=emacs \
SB_DISPLAY_ADDR=0xB00000
3-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 4. Commandes et processus
Une commande est une demande d’exécution d’une opération ou d’un programme.
L’utilisation des commandes permet d’indiquer au système d’exploitation les tâches à
effectuer. Les commandes entrées sont déchiffrées par un interpréteur de commandes
(également appelé shell) et ces tâches sont traitées.
Un programme ou une commande en cours d’exécution est appelé un process.
Le système peut exécuter simultanément plusieurs process.
Le système d’exploitation permet de gérer les entrées et les sorties (E/S) par le biais de
commandes et de symboles spécifiques. Vous pouvez contrôler les entrées en indiquant
où lire les données. Vous pouvez ainsi définir l’origine des entrées : clavier (entrée
standard) ou fichier. Vous pouvez aussi contrôler la sortie en spécifiant l’emplacement
d’affichage ou de stockage des données : par exemple, l’écran (sortie standard) ou un
fichier.
Cette section décrit les points suivants :
• Présentation des commandes, page 4-3
– Syntaxe des commandes, page 4-3
– Lecture des instructions d’utilisation, page 4-5
– Démarrage de Web–based System Manager, page 4-6
– Exécution d’autres commandes avec la commande smit, page 4-6
– Localisation d’une commande ou d’un programme (commande whereis), page 4-6
– Affichage des informations relatives à une commande (commande man), page 4-6
– Affichage de la fonction d’une commande (commande whatis), page 4-7
– Liste des commandes précédemment entrées (commande history), page 4-7
– Répétition des commandes à l’aide de l’alias r, page 4-8
– Substitution des chaînes à l’aide de l’alias r, page 4-9
– Edition de la commande history, page 4-9
– Création d’un alias de commande (commande alias du Shell), page 4-10
– Utilisation des commandes de formatage de texte, page 4-10
• Présentation des process, page 4-13
– Process d’avant et d’arrière–plan, page 4-13
– Process Démon, page 4-13
– Process Zombie, page 4-14
– Lancement de process, page 4-14
– Vérification de l’état d’un process (commande ps), page 4-14
– Définition de la priorité initiale d’un process (commande nice), page 4-16
– Changement de la priorité d’un process en cours (commande renice), page 4-16
– Interruption d’un process d’avant–plan, page 4-17
– Interruption d’un process d’avant–plan, page 4-17
– Relance d’un process, page 4-17
Commandes et processus
4-1
– Planification d’un process pour une opération ultérieure (commande at), page 4-18
– Liste de tous les process planifiés (commande at ou atq), page 4-19
– Suppression d’un process du planning (commande at), page 4-20
– Suppression d’un process d’arrière–plan (commande kill), page 4-20
• Récapitulatif des commandes et des commandes de process, page 4-22
4-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
Présentation des commandes
Certaines commandes peuvent être entrées en tapant simplement un mot. Vous pouvez
également combiner des commandes pour que la sortie d’une commande devienne l’entrée
d’une autre commande. On appelle cela traitement pipeline. Pour plus d’informations sur le
traitement pipeline, reportez–vous à Fonctions du Shell, page 12-3.
Les indicateurs définissent plus précisément les actions des commandes. L’ indicateur est
un modificateur utilisé avec le nom de commande sur la ligne de commande, généralement
précédé d’un tiret.
Les commandes peuvent être regroupées dans un fichier. Ces fichiers sont appelés
procédures shell ou scripts shell. Au lieu d’exécuter les commandes une par une, vous
exécutez le fichier qui contient ces commandes. Pour plus d’informations sur les scripts et
procédures, reportez–vous à la section Création et exécution d’un script shell, page 12-7.
Pour entrer une commande, à l’invite, entrez le nom de la commande et appuyez sur
Entrée.
$ NomCommande
Cette section décrit les procédures suivantes :
•
Syntaxe des commandes, page 4-3
•
Lecture des lignes de syntaxe, page 4-5
•
Démarrage de Web–based System Manager, page 4-6
•
Exécution d’autres commandes avec la commande smit, page 4-6
•
Utilisation de la commande smit, page 4-6
•
Localisation d’une commande ou d’un programme (commande whereis), page 4-6
•
Affichage des informations sur une commande (commande man), page 4-6
•
Affichage de la fonction d’une commande (commande whatis), page 4-7
•
Liste des commandes précédemment entrées (commande history du Shell), page 4-7
•
Répétition des commandes à l’aide de la commande history du Shell, page 4-8
•
Substitution des chaînes à l’aide de la commande history du Shell, page 4-9
•
Edition de la commande history, page 4-9
•
Création d’une commande alias (commande alias du Shell), page 4-10
•
Travail avec les commandes de formatage de texte, page 4-10
Syntaxe des commandes
Bien que certaines commandes puissent être entrées en tapant simplement un mot,
d’autres utilisent des indicateurs et des paramètres. Chaque commande possède une
syntaxe désignant les indicateurs et les paramètres requis et en option. Voici le format
général d’une commande :
NomCommande
indicateur(s) paramètre(s)
Voici quelques règles générales concernant les commandes :
• Les espaces entre les commandes, les indicateurs et les paramètres sont significatifs.
• Deux commandes peuvent être entrées sur la même ligne en les séparant par un
point–virgule (;). Par exemple :
$
Commande1 ;
Commande2
Le shell exécute les commandes de manière séquentielle.
Commandes et processus
4-3
• Les commandes respectent la distinction minuscules–majuscules. Le shell fait la
distinction entre les lettres majuscules et les lettres minuscules. Pour le shell, print est
différent de PRINT ou Print.
• Une commande très longue peut être entrée sur plusieurs lignes à l’aide du caractère
barre oblique inversée (\). Pour le shell, une barre oblique inversée signifie une suite de
ligne. L’exemple suivant est une commande qui s’étend sur deux lignes :
$ ls Mail info temp \
(appuyez sur Entrée)
> diary
(l’invite > s’affiche)
Le caractère > est l’invite secondaire ($ étant l’invite principale par défaut de l’utilisateur
non root), indiquant que la ligne courante est la suite de la précédente. Veuillez noter
que csh (C shell) ne génère pas d’invite secondaire, que la coupure doit intervenir à la
fin d’un mot, et que l’invite principale est %.
Nom d’une commande
Le premier mot d’une commande est obligatoirement son nom. Pour certaines commandes,
ce nom est unique.
Indicateurs
Plusieurs indicateurs peuvent suivre le nom de la commande. Les indicateurs modifient
l’opération d’une commande et sont parfois appelés options. Un indicateur est encadré
d’espaces ou de tabulations, et il est généralement précédé d’un tiret (–). Les exceptions
sont ps, tar et ar qui ne nécessitent pas de tiret avant certains indicateurs. Par exemple,
dans la commande :
ls –a –F
ls est le nom de la commande et ls –a –F sont les indicateurs.
Lorsque des indicateurs sont associés à une commande, ils doivent suivre immédiatement
son nom. Les indicateurs comportant un seul caractère peuvent être combinés à un tiret,
dans une commande. Ainsi, la commande précédente peut également s’écrire :
ls –aF
Certains paramètres doivent parfois être également précédés d’un tiret (–). Dans ce cas,
utilisez le délimiteur constitué de deux tirets (––) avant le paramètre. Le signe –– indique à
la commande qu’il s’agit d’un paramètre et non d’un indicateur.
Par exemple, si vous souhaitez créer un répertoire–tmp et que vous entrez la commande
suivante :
mkdir –tmp
Un message d’erreur semblable au suivant s’affiche :
mkdir : n’est pas un indicateur reconnu : t
Syntaxe : mkdir [–p] [–m mode]
Répertoire
Il convient en effet de spécifier :
mkdir –– –tmp
Votre nouveau répertoire –tmp est à présent créé.
4-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
...
Paramètres des commandes
A la suite du nom de la commande, peuvent se trouver un ou plusieurs indicateurs, suivis
de paramètres. Les paramètres sont parfois appelés arguments ou opérandes. Les
paramètres précisent les informations requises pour l’exécution de la commande. Certains
paramètres sont dotés d’une valeur par défaut, adoptée si vous n’en précisez pas d’autre.
Par exemple, dans la commande :
ls –a temp
ls est le nom de la commande, –a est l’indicateur et temp est le paramètre. La
commande affiche tous (–a) les fichiers du répertoire temp. Dans l’exemple :
ls –a
en l’absence de paramètres, ce sont les fichiers du répertoire courant qui sont affichés par
défaut. Dans l’exemple :
ls temp mail
aucun indicateur n’est donné, et temp et mail sont les paramètres. Dans ce cas, temp
et mail sont deux noms de répertoires distincts. La commande ls affiche tous les fichiers
de chacun de ces répertoires, mais pas les fichiers masqués.
Lorsqu’un paramètre ou l’argument–option est constitué ou contient une valeur numérique,
le nombre est interprété comme un entier décimal – sauf spécification contraire. Les
nombres dans l’intervalle de 0 à INT_MAX, comme défini dans le fichier
/usr/include/sys/limits.h, sont syntaxiquement reconnus comme des valeurs numériques.
Si une commande que vous souhaitez utiliser accepte les nombres négatifs comme
paramètre ou arguments–options, vous pouvez utiliser les nombres de l’intervalle INT_MIN
à INT_MAX, comme défini dans le fichier /usr/include/sys/limits.h. Ce qui ne signifie pas
que tous les nombres de cet intervalle sont sémantiquement corrects. Certaines
commandes (commandes d’impression notamment) sont limitées à un intervalle plus
restreint. Le message d’erreur généré dans ce cas précise qu’il s’agit d’un problème de
dépassement des limites de l’intervalle, et non de syntaxe incorrecte.
Lecture des lignes de syntaxe
Les instructions d’usage permettent de représenter la syntaxe d’une commande et sont
constituées de symboles, tels que les parenthèses ([ ]), les accolades ({ }) et les barres
verticales (|). Voici un exemple concernant la commande unget :
unget [ –r SID ] [ –s ] [ –n ] Fichier...
En outre :
• Les éléments devant être entrés littéralement sur la ligne de commande sont en gras.
Ces éléments comprennent le nom de la commande, les indicateurs et les caractères
littéraux.
• Les éléments représentant les variables devant être remplacés par un nom sont en
italique. Ces éléments comprennent les paramètres qui suivent les indicateurs et les
paramètres que la commande lit, tels que Fichiers et Répertoires.
• Les paramètres entre crochets sont facultatifs.
• Les paramètres entre accolades sont obligatoires.
• Les paramètres isolés sont obligatoires.
• Une barre verticale signifie que vous ne pouvez sélectionner qu’un paramètre. Par
exemple, [ a | b ] signifie que vous pouvez choisir a, b, ou rien du tout. De la même
manière, { a | b ] signifie que vous devez choisir soit a, soit b.
• Les points de suspension (...) signifient que le paramètre peut être répété sur la ligne
de commande.
• Le tiret ( –) représente l’entrée standard.
Commandes et processus
4-5
Lancement de Web–based System Manager
Web–based System Manager est une interface GUI de gestion du système, soit à partir
d’un écran rattaché en local ou à distance, depuis un autre système AIX ou depuis un
ordinateur personnel équipé d’un navigateur Web. Vous pouvez lancer Web–based System
Manager via différentes manières :
Action à réaliser
A partir de
Entrez la commande wsm.
Un terminal à ligne de commande dans
l’environnement Common Desktop
Environment (CDE)
Entrez la commande wsm.
Un terminal à ligne de commande dans
l’environnement AIXwindows
Allez sur le dossier System_Admin et
cliquez sur l’icone Management Console
A partir du gestionnaire d’application CDE
Lancez un navigateur Web compatible à
HTML 3.2
Sur un PC configuré comme décrit dans le
manuel AIX 5L Version 5.3 Web–based
System Manager Administration Guide
Exécution d’autres commandes avec la commande smit
La commande smit est un outil permettant de lancer d’autres commandes. Les noms des
commandes sont dans ce cas spécifiés comme paramètres de la commande smit, laquelle
vous amène alors souvent à un sous–menu ou à la boîte de dialogue correspondant à la
commande spécifiée. Par exemple, smit lsuser appelle directement la boîte de dialogue
List All Users, qui permet d’afficher la liste des attributs utilisateur sur votre système.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
smit dans le manuel AIX 5L Version 5.3 Commands Reference.
Localisation d’une commande ou d’un programme
(commande whereis)
La commande whereis localise la commande ou le programme spécifié dans les
répertoires source et binaires, et les sections de manuels. Elle procède à la recherche à
partir d’une liste d’emplacements standard.
Voir les exemple ci–après :
• Par exemple, pour rechercher les fichiers du répertoire courant non documentés,
entrez :
whereis –m –u *
• Pour rechercher tous les fichiers contenant le mot Mail, entrez :
whereis Mail
Le système affiche un écran semblable à celui-ci :
Mail : /usr/bin/Mail /usr/lib/Mail.rc
Reportez–vous à la commande whereis dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Affichage des informations sur une commande (commande man)
La commande man affiche des informations sur les commandes, les sous–programmes
et les fichiers. Le format général de la commande man est le suivant :
man NomCommande
Par exemple, pour obtenir des informations sur la commande pg, entrez :
man pg
4-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Appuyez sur Entrée.
Le système affiche un écran semblable à celui-ci :
Commande pg
Utilisation
Formate les fichiers à l’affichage.
Syntaxe
pg [ – Nombre ] [ –c ] [ –e ] [ –f ] [ –n ] [ –p chaîne ]
[ –s ] [ +Ligne | +/Forme/ ] [ Fichier ... ]
Description
La commande pg lit un nom de fichier à partir du paramètre Fichier et
écrit le fichier dans la sortie standard, un écran à la fois. Si vous
spécifiez un – (tiret) comme paramètre Fichier ou exécutez la commande
pg sans options, la commande pg lit l’entrée standard. Chaque écran
est suivi d’une invite. Si vous appuyez sur Entrée, une autre page
s’affiche. Les sous–commandes utilisées avec la commande pg vous
permettent d’afficher le fichier et d’y effectuer des recherches.
Reportez–vous à la commande man dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Affichage de la fonction d’une commande (commande whatis)
La commande whatis recherche la commande, l’appel système, la fonction de bibliothèque
ou le nom de fichier spécial, spécifié par le paramètre Commande, dans la base de
données que vous avez créée via la commande catman –w. La commande whatis affiche
l’en–tête de section correspondant. Vous pouvez alors, en lançant la commande man,
obtenir des informations complémentaires.
La commande whatis équivaut à la commande man –f.
Par exemple, pour connaître l’objet de la commandels, entrez :
whatis ls
Appuyez sur Entrée.
Le système affiche un écran semblable à celui-ci :
ls(1)
–Affiche le contenu d’un répertoire.
Reportez–vous à la commande whatis dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Liste des commandes précédemment entrées (commande history)
Utilisez la commande history pour afficher la liste de toutes les commandes que vous avez
entrées précédemment. La commande history est une commande intégrée du shell Korn,
qui affiche la liste des 16 dernières commandes entrées. Le shell Korn enregistre ces
commandes dans un fichier d’historique de commande, généralement appelé
$HOME/.sh_history. Cette fonction permet de gagner du temps lorsque vous devez répéter
une commande.
Par défaut, le shell Korn enregistre le texte des 128 dernières commandes pour un
utilisateur non racine et 512 commandes pour un utilisateur racine. La taille du fichier
d’historique (spécifiée par la variable HISTSIZE) n’est pas limitée ; un fichier trop
volumineux risque toutefois de ralentir le shell Korn.
Remarque : Le shell Bourne ne prend pas en charge l’historique des commandes.
Pour plus d’informations sur les shells, reportez–vous à la section Shells, page12-1.
Commandes et processus
4-7
Par exemple, pour afficher la liste des commandes précédentes, entrez, à l’invite :
history
Appuyez sur Entrée.
La commande history liste les 16 dernières commandes. Le système affiche un écran
semblable à celui-ci :
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
ls
mail
printenv MAILMSG
whereis Mail
whatis ls
cd /usr/include/sys
ls
man pg
cd
ls | pg
lscons
tty
ls *.txt
printenv MAILMSG
pwd
history
La liste affiche d’abord la position de la commande dans le fichier $HOME/.sh_history
suivie de la commande
Par exemple, pour afficher les 5 dernières commandes, entrez, à l’invite :
history –5
Un menu semblable au suivant s’affiche :
Une liste semblable à la suivante s’affiche :
939
940
941
942
943
944
tty
ls *.txt
printenv MAILMSG
pwd
history
history –5
La commande history suivie d’un numéro affiche les commandes émises, à partir de ce
numéro.
Par exemple, pour afficher les dernières commandes depuis 938, entrez, à l’invite :
history 938
Une liste semblable à la suivante s’affiche :
938
939
940
941
942
943
944
945
lscons
tty
ls *.txt
printenv MAILMSG
pwd
history
history –5
history 938
Répétition de commandes à l’aide de l’alias r
Pour répéter une commande antérieure, lancez l’alias du shell Korn r. Tapez r, suivi
éventuellement du numéro ou du (des) premier(s) caractère(s) de la commande.
Entrez lsdisp à l’invite si vous souhaitez afficher la liste des écrans actuellement
disponibles sur le système. L’invite système affiche les informations à l’écran :
Si vous souhaitez qu’il les réaffiche, entrez, à l’invite :
r
4-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Le système réexécute la dernière commande. Dans cet exemple, la commande lsdisp est
exécutée.
Pour répéter la commande ls *.txt, entrez, à l’invite :
r ls
L’alias shell Korn r localise la dernière commande commençant par le(s) caractère(s)
spécifié(s).
Substitution de commandes à l’aide de l’alias r
Vous pouvez également utiliser l’aliasr du shell Korn pour modifier une commande avant de
la lancer. Vous pouvez, dans ce cas, passer par un paramètre de substitution de la forme
Ancien=Nouveau pour modifier la commande avant de l’exécuter.
L’exemple suivant montre comment utiliser l’alias r :
• Si la ligne de commande 940 spécifie ls *.txt et que vous souhaitez exécuter ls *.exe,
entrez, à l’invite :
r txt=exe 940
La commande 940 est exécutée, avec substitution de exe par txt.
• Si la commande 940 est la dernière des commandes commençant par la lettrel, vous
pouvez également entrer :
r txt=exe l
Remarque : Seule la première occurrence de l’ancienne chaîne est remplacée par la
nouvelle. Entrer l’alias shell Korn r sans numéro de commande ou lettre d’identification
effectue la substitution dans la dernière commande spécifiée.
Edition de la commande history
L’utilisation de la commande intégrée du shell Korn fc permet d’afficher et de modifier tout
ou partie du fichier d’historique. Le cas échéant, précisez le numéro ou l’intervalle de
numéros (ou encore les premiers caractères) des commandes qui vous intéressent.
Vous pouvez spécifier une ou plusieurs commandes.
Si vous ne spécifiez pas un programme d’édition comme argument dans la commande
intégrée du shell Korn fc, l’éditeur spécifié par la variable FCEDIT est utilisé. Si la variable
FCEDIT n’est pas définie, l’éditeur /usr/bin/ed est utilisé. Les commandes modifiées sont
affichées et exécutées dès que vous quittez l’éditeur. Utilisez la commande printenv pour
afficher la valeur de la variable FCEDIT.
Les exemples suivants décrivent comment modifier l’historique de commande :
• Si vous souhaitez exécuter la commande :
cd /usr/tmp
très proche de la ligne de commande 933, entrez, à l’invite :
fc 933
L’éditeur par défaut est appelé, affichant la ligne de commande 933. Modifiez include/sys
en tmp, et la commande modifiée est exécutée lorsque vous quittez l’éditeur.
• Vous pouvez également choisir l’éditeur que vous souhaitez utiliser dans la commande
fc. Par exemple, pour modifier une commande avec l’éditeur /usr/bin/vi, entrez,
à l’invite :
fc –e vi 933
L’éditeur vi est chargé, affichant la commande 933.
Commandes et processus
4-9
• Vous pouvez également indiquer une suite de commandes à modifier.
Par exemple, pour modifier les commandes 930 à 940, entrez, à l’invite :
fc 930 940
L’éditeur par défaut est appelé, affichant les lignes de commande 930 à 940. Lorsque
vous quittez l’éditeur, toutes les commandes affichées sont exécutées en séquence.
Création d’un alias de commande (commande alias du Shell)
Créer un alias permet d’attribuer un mnémonique à une commande, à un nom de fichier ou
à tout texte shell. Vous pouvez ainsi accélérer le lancement des tâches que vous exécutez
fréquemment. La commande intégrée du shell Korn alias permet de définir un mot comme
alias de certaines commandes. Vous pouvez utiliser les alias pour redéfinir des commandes
intégrées, mais pas des mots réservés.
L’initiale d’un alias peut être n’importe quel caractère imprimable (non spécial).
Les autres caractères doivent respecter les règles applicables aux noms de fichiers.
Format de création d’un alias :
alias
Name
=
String
où Name indique le nom de l’alias et String, une chaîne de caractères.
Si String comporte des espaces, mettez–la entre guillemets.
Voici quelques exemples qui montrent comment créer un alias :
• Pour créer un alias de la commande rm –i (qui vous demande confirmation avant
de supprimer des fichiers), entrez, à l’invite :
alias rm=”/usr/bin/rm –i”
A partir de là, chaque fois que vous entrez la commande rm, la commande
/usr/bin/rm–i est exécutée.
• Pour créer un alias dir de la commande ls –alF | pg (qui affiche des informations
complètes sur tous les fichiers du répertoire courant, fichiers invisibles compris, marque
l’un des fichiers exécutables d’un * et les répertoires d’un / et défile écran par écran),
entrez, à l’invite :
alias dir=”/usr/bin/ls –alF | pg”
A partir de là, chaque fois que vous entrez la commande dir, la commande /usr/bin/ls
–alF | pg est exécutée.
• Pour afficher tous les alias définis, entrez, à l’invite :
alias
Le système affiche des informations similaires à l’exemple suivant :
rm=”/usr/bin/rm –i”
dir=”/usr/bin/ls –alF | pg”
Utilisation des commandes de formatage de texte
Vous disposez de commandes de formatage pour les textes composés avec le jeu de
caractères internationaux utilisé pour les langues européennes.
4-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Formatage de texte en caractères internationaux
Le jeu étendu de caractères internationaux comporte les caractères et les symboles utilisés
par nombre de langues européennes, avec un sous–ensemble ASCII composé de
caractères, de chiffres et de signes de ponctuation anglais.
Tous les caractères du jeu étendu ont une forme ASCII, qui permet de représenter le
caractères en entrée. Les caractères peuvent également être entrés directement au clavier
(sous réserve que celui–ci prenne en charge le jeu étendu de caractères européens).
Les commandes suivantes permettent de traiter des textes dans différentes langues, si tous
les caractères sont mono–octets. Ces commandes se trouvent dans /usr/bin. (Celles
suivies d’un astérisque (*) permettent de traiter les textes composés dans les langues
multi-octets). Pour de plus amples informations sur les langues multi-octets, reportez–vous
à Formatage de texte en caractères multi-octets, page 4-11.)
addbib*
checkmm
checknr*
col*
colcrt
deroff*
enscript
eqn*
grap*
hplj
hyphen
ibm3812
ibm3816
ibm5587G*
ibm5585H–T*
indxbib*
lookbib*
makedev*
neqn*
nroff*
pic*
ps4014
ps630
psbanne
psdit
psplot
psrev
psroff
psrv
pstext
refer*
roffbib*
soelim*
sortbib*
tbl*
troff*
vgrind
xpreview*
Les commandes de formatage et les macros non citées ne s’appliquent pas aux caractères
internationaux.
Entrée de caractères étendus mono-octets
Si votre unité d’entrée prend en charge les caractères du jeu étendu de caractères
européens, vous pouvez les entrer directement. Sinon, passez par la séquence
d’échappement ASCII :
La forme \[ N ], où N est un code hexadécimal de 2 ou de 4 chiffres pour le caractère.
Remarque : La forme NCesc \<xx> n’est plus prise en charge.
Les textes comportant des caractères étendus sont émis en sortie selon les conventions de
formatage de la langue utilisée. Les caractères non définis pour l’interface d’une unité ne
génèrent ni sortie ni notification d’erreur.
Bien que la plupart des noms de demandes, des macros et des commandes soient basés
sur l’anglais, ils acceptent presque toutes les entrées (noms de fichiers, paramètres, etc.)
comportant des caractères du jeu européen étendu.
Quant aux commandes nroff et troff, et à leurs préprocesseurs, l’entrée de la commande
doit être en ASCII, ou une erreur de syntaxe irrémédiable peut survenir. Les caractères
internationaux, mono ou multi-octets, peuvent être entrés entre guillemets, éventuellement
à l’intérieur de texte à formater. Par exemple, à l’aide des macros de la commande pic :
define foobar %
Texte
%
Après la directive define, le premier nom foobardoit être en ASCII. Toutefois, le texte de
remplacement Textepeut contenir des caractères non ASCII.
Formatage de texte en caractères multi-octets
Certaines commandes permettent de traiter des textes dans des langues multi-octets. Ces
commandes peuvent être identifiées par un astérisque (*) dans la liste sous Formatage de
texte en caractères internationaux, page 4-11. Les commandes de formatage de texte qui
ne sont pas répertoriées dans cette liste ne peuvent pas traiter les caractères
internationaux.
Commandes et processus
4-11
Entrée de caractères multi-octets
Si votre unité d’entrée prend en charge les caractères multi-octets, vous pouvez les entrer
directement. Sinon, vous pouvez entrer un caractère multi-octet sous forme ASCII \[ N ],
où N est un code hexadécimal de 2, 4, 6, 7, ou 8 chiffres pour le caractère.
Bien que la plupart des noms de demandes, des macros et des commandes soient basées
sur l’anglais, elles acceptent presque toutes des entrées (noms de fichiers, paramètres,
etc.) comportant des caractères multi-octets.
Pour les familiers du formatage de texte en caractères mono-octets, la liste suivante
récapitule les caractéristiques remarquables ou propres aux environnements multi-octets :
• Il n’y a pas de césure du texte.
• Des types de formats spéciaux sont requis pour une sortie numérique multi-octets.
Des types de formats japonais sont disponibles.
• La sortie est effectuée en lignes horizontales, remplies de gauche à droite.
• Les caractères sont automatiquement alignés en colonnes.
• Les caractères non définis pour l’interface d’une unité ne génèrent ni sortie ni notification
d’erreur.
4-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
Présentation des process
Un programme ou une commande en cours d’exécution est appelé un process. Les process
sont structurés selon une hiérarchie parent–enfant. Un process lancé par un programme ou
une commande est un process parent; le process résultant étant un process enfant. Un
process parent peut engendrer plusieurs process enfant, tandis qu’un process enfant ne
peut avoir qu’un seul parent.
Le système attribue un numéro d’identification (PID) à chaque process, au moment de son
lancement : si vous lancez plusieurs fois le même programme, un PID différent lui est
associé à chaque fois.
Un process lancé mobilise une partie des ressources système. Lorsque plusieurs process
sont simultanément en cours, un répartiteur (partie intégrante du système d’exploitation)
assure le partage du temps machine, en fonction des priorités définies. Pour modifier ces
priorités, vous disposez des commandes nice et renice.
Remarque : Pour attribuer à un process une priorité supérieure, vous devez détenir les
droits de l’utilisateur root. Tout utilisateur peut, en revanche, attribuer à un process une
priorité moindre, via la commande nice (ou renice pour un process déjà en cours).
Cette section décrit les procédures suivantes :
• Process d’avant et d’arrière-plan, page 4-13
• Process Démon, page 4-13
• Process Zombie, page 4-14
• Lancement de process, page 4-14
• Vérification de l’état d’un process (commande ps), page 4-14
• Définition de la priorité initiale d’un process (commande nice), page 4-16
• Modification de la priorité d’un process en cours d’exécution (commande renice),
page 4-16
• Interruption d’un process d’avant-plan, page 4-17
• Arrêt d’un process d’avant-plan, page 4-17
• Relance d’un process, page 4-17
• Planification d’un process pour une opération ultérieure (commande at), page 4-18
• Liste de tous les process planifiés (commande at ou atq), page 4-19
• Suppression d’un process du planning (commande at), page 4-20
• Suppression d’un process d’arrière–plan (commande kill), page 4-20
Process d’avant et d’arrière-plan
Les process qui nécessitent un utilisateur pour les lancer ou pour interagir ave eux sont
appelés process d’avant–plan. Les process exécutés indépendamment de l’utilisateur sont
appelés process d’arrière–plan. Par défaut, programmes et commandes sont exécutés en
avant-plan. Pour exécuter un process en arrière-plan, placez une perluète (&) à la fin du
nom de la commande de lancement du process.
Process démon
Les démons sont des process exécutés sans contrôle. Ils se trouvent en permanence à
l’arrière–plan et sont toujours disponibles. Ils sont généralement lancés et arrêtés en même
temps que le système. Un démon, qui exécute des tâches système, peut être appelé par
plusieurs tâches ou utilisateurs. Les démons sont démarrés par l’utilisateur ou le shell
racine et arrêtés exclusivement par l’utilisateur racine. Par exemple, le process qdaemon
Commandes et processus
4-13
donne accès aux ressources système, telles que les imprimantes. Le démon sendmail est
un autre démon commun.
Process zombie
Un process zombie est un process mort qui n’est plus en cours d’exécution, mais qui est
toujours reconnu dans la table des process (autrement dit, qui possède un PID). Aucun
autre espace système ne lui est attribué. Ces process se sont ou ont été arrêtés, mais
continuent d’exister jusqu’à l’arrêt de leur process parent ou jusqu’à l’arrêt puis la relance
du système. Les process zombie s’affichent comme <defunct> lorsqu’ils sont affichés par
la commande ps.
Lancement d’un process
Pour lancer un process d’avant–plan à partir d’une station de travail, entrez le nom du
programme ou de la commande à l’invite du système. Une fois démarré, le process entre en
interaction avec vous. Vous ne pouvez envisager d’autres interactions (entrer une autre
commande, par exemple) tant que le process n’a pas pris fin.
Un utilisateur peut lancer simultanément plusieurs process (par défaut, 40 au maximum).
Lancement d’un process d’avant–plan
Pour lancer un process d’avant–plan, entrez le nom du programme ou de la commande,
assorti des paramètres et indicateurs appropriés :
$
CommandName
Lancement d’un process d’arrière–plan
Pour lancer un process d’arrière plan, entrez le nom du programme ou de la commande,
assorti des paramètres et indicateurs appropriés, et suivi d’une perluète (&) :
$
CommandName
&
Pendant que le process s’exécute en arrière–plan, vous pouvez tout à fait lancer d’autres
commandes ou programmes depuis votre poste d’affichage.
En règle générale, les process en arrière–plan sont fort utiles pour les commandes longues
à exécuter. Toutefois, dans la mesure où ils accroissent la charge du processeur,
l’ensemble des opérations du système est ralenti.
La plupart des process, même exécutés en arrière–plan, dirigent leurs sorties vers la sortie
standard. Sauf s’ils ont été explicitement réacheminés, ils se dirigent vers l’écran. Pour
éviter toute interférence entre les résultats d’un process en arrière-plan et votre travail en
cours, nous vous conseillons de réacheminer les sorties des process d’arrière-plan vers un
fichier ou une imprimante. Vous pourrez les consulter à votre guise quand vous serez
disponible.
Remarque : Dans certains cas, la séquence des sorties d’un process peut différer selon
que le process est exécuté en avant ou en arrière–plan. Les programmeurs voudront
peut–être utiliser le sous–programme fflush pour s’assurer que la sortie s’affiche dans
l’ordre correct indépendamment du fait que le process est exécuté en avant ou en
arrière-plan.
Tant qu’un process d’arrière–plan est en cours, vous pouvez vérifier son état via la
commande ps.
Vérification des process (commande ps)
Lorsque le système est en cours de fonctionnement, plusieurs process sont également en
cours d’exécution. Vous pouvez également utiliser la commande ps pour savoir quels
process sont en cours d’exécution et pour afficher les informations qui leur sont relatives.
4-14
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commande ps
La commande ps possède plusieurs indicateurs permettant d’indiquer quels process
et quelles informations il faut afficher.
Ainsi, pour afficher tous les process en cours, entrez, à l’invite :
ps –ef
Le système affiche un écran semblable à celui-ci :
USER
root
root
root
mary
mary
mary
mary
mary
PID PPID
1
0
1588 6963
2280
1
2413 16998
11632 16998
16260 2413
16469
1
19402 16260
C
0
0
0
2
0
1
0
20
STIME
Jun 28
Jun 28
Jun 28
07:57:30
07:57:31
07:57:35
07:57:12
09:37:21
TTY
–
–
–
–
lft/1
pts/1
lft/1
pts/1
TIME
3:23
0:02
1:39
0:05
0:01
0:00
0:00
0:00
CMD
/etc/init
/usr/etc/biod 6
/etc/syncd 60
aixterm
xbiff
/bin/ksh
ksh /usr/lpp/X11/bin/xinit
ps –ef
Les colonnes des sorties précédentes sont définies comme suit :
USER
nom de connexion de l’utilisateur
PID
ID process
PPID
ID process parent
C
utilisation CPU du process
STIME
heure de début du process
TTY
contrôle de la station de travail
TIME
durée d’exécution totale du process
CMD
commande
Dans l’exemple précédent, l’ID process de la commande ps –ef est 19402.
Son ID process parent est 16260 et la commande est /bin/ksh.
Dans l’exemple précédent, l’ID process de la commande ps –ef est 19402. Son ID process
parent est 16260, la commande /bin/ksh.
Si la liste est très longue, la première partie défile hors de l’écran. Pour afficher la liste une
page (écran) à la fois, associez la commande ps à la commande pg. A l’invite, entrez ce qui
suit :
ps –ef | pg
Pour afficher des informations sur tous les process en cours, entrez, à l’invite :
ps gv
Commandes et processus
4-15
Cette commande affiche des statistiques sur chaque process actif. La sortie de cette
commande est similaire à celle–ci :
PID
TTY STAT
0
– A
1
– A
771
– A
1028
– A
1503
– A
1679
– A
2089
– A
2784
– A
2816
– A
3115
– A
3451
– A
3812
– A
usr/lib/lpd/
3970
– A
4267
– A
4514 lft/0 A
4776 pts/3 A
5050
– A
5322
– A
5590
– A
5749
– A
6111
– T
TIME PGIN SIZE
0:44
7
8
1:29 518
244
1:22
0
16
0:00
10
16
0:33 127
16
1:03 282
192
0:22 918
72
0:00
9
16
5:59 6436 2664
0:27 955
264
0:00
0
16
0:00
21
128
0:00
0
0:01 169
0:00
60
0:02 250
0:09 1200
0:27 1299
0:00
2
0:00
0
0:00
66
16
132
200
108
424
156
100
208
108
RSS
LIM TSIZ
8
xx
0
140
xx
21
16
xx
0
8
xx
0
8
xx
0
12 32768
130
28
xx
1
8
xx
0
616
8
852
128
xx
39
8
xx
0
12 32768
34
8
72
72
280
132
192
12
12
12
xx
32768
xx
8
32768
xx
32768
xx
32768
0
16
39
303
243
24
11
13
47
TRS %CPU %MEM COMMAND
0 0.0 0.0 swapper
24 0.1 1.0 /etc/init
0 0.0 0.0 kproc
0 0.0 0.0 kproc
0 0.0 0.0 kproc
0 0.7 0.0 pcidossvr
4 0.0 0.0 /etc/sync
0 0.0 0.0 kproc
156 0.4 4.0 /usr/lpp/
36 0.0 1.0 /usr/lib/
0 0.0 0.0 kproc
0 0.0 0.0
0
16
60
268
56
24
0
0
0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
2.0
1.0
1.0
0.0
0.0
0.0
kproc
/etc/sysl
/etc/gett
–ksh
/usr/sbin
/etc/cron
/etc/writ
/usr/lpp/
/usr/lpp/
Reportez–vous à la commande ps dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Définition de la priorité initiale d’un process (commande nice)
Pour attribuer à un process une priorité inférieure, lancez–le via la commande nice pour
démarrer le process.
Remarque : Pour attribuer à un process une priorité supérieure, vous devez détenir les
droits de l’utilisateur racine.
Commande nice
Pour définir la priorité initiale d’un process, entrez :
nice –n
Numéro ChaîneCommande
où Numéro se trouve dans l’intervalle de 0 à 39, 39 étant la priorité inférieure. La valeur nice
est la valeur décimale de la priorité de planification du système d’un process. Plus la valeur
est élevée, plus la priorité est faible. La valeur zéro conserve la priorité de planification
initiale. ChaîneCommande est la chaîne de commande du process à exécuter.
Reportez–vous à la commande nice dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Vous pouvez également utiliser la commande smit nice pour réaliser cette tâche.
Modification de la priorité d’un process en cours d’exécution
(commande renice)
Pour modifier la priorité d’un process en cours, lancez la commande renice à partir de la
ligne de commande. Cette commande modifie la valeur nice d’un process.
Remarque : Pour attribuer à un process (que vous n’avez pas lancé) une priorité
supérieure, vous devez détenir les droits de l’utilisateur root.
4-16
AIX Guide de l’utilisateur – Système d’exploitation et unités
commande renice
Pour modifier la priorité d’un process en cours, entrez :
renice
Priorité
–p
IDProcess
où Priorité est un nombre compris entre –20 et 20 (plus le nombre est élevé, plus la priorité
est basse). La valeur zéro conserve la priorité de planification initiale. IDProcess est l’ID
process pour lequel vous souhaitez modifier la priorité.
Vous pouvez également utiliser la commande smit renice pour réaliser cette tâche.
Interruption d’un process d’avant-plan
Si vous lancez un process d’avant-plan et que vous ne voulez pas qu’il se termine, vous
pouvez l’interrompre en appuyant sur INTERRUPTION. Pour cela, utilisez Ctrl–C ou
Ctlr–Supp. Pour savoir quelle est votre touche d’INTERRUPTION, reportez–vous à Liste
des affectations de touches du terminal (commande stty), page 2-10.
Remarque : La touche d’INTERRUPTION (Ctrl–C) n’arrête pas les process
d’arrière–plan. Pour annuler un process d’arrière–plan, vous devez utiliser la
commande kill.
La plupart des commandes simples s’exécutent en un laps de temps tellement bref qu’elles
se terminent avant même que vous n’ayez eu le temps de les annuler. C’est pourquoi les
exemples qui suivent portent sur une commande dont le temps d’exécution est un peu plus
long : find / –type f. Cette commande affiche le nom des chemins d’accès de tous les
fichiers du système. Vous n’avez pas besoin d’approfondir l’étude de la commande find
pour poursuivre : elle est citée uniquement pour illustrer la manière de travailler avec les
process.
Dans l’exemple suivant, la commande find démarre un process. Quelques secondes après
le démarrage du process, vous pouvez l’interrompre en appuyant sur la touche
d’INTERRUPTION :
$ find / –type f
/usr/sbin/acct/lastlogin
/usr/sbin/acct/prctmp
/usr/sbin/acct/prdaily
/usr/sbin/acct/runacct
/usr/sbin/acct/sdisk
/usr/sbin/acct/shutacct INTERRUPT (Ctrl–C)
$ _
L’invite système est réaffichée. Vous pouvez lancer d’autres commandes.
Arrêt d’un process d’avant-plan
Il est possible d’arrêter un process sans que son PID soit supprimé de la table des process.
Le process peut être arrêté par Ctrl–Z, par exemple.
Remarque : Ctrl–Z fonctionne avec les shells Korn (ksh) et C (csh), mais pas avec le
shell Bourne (bsh).
Relance d’un process
Cette procédure explique comment relancer un process arrêté par Ctrl-Z.
Remarque : Ctrl–Z fonctionne avec les shells Korn (ksh) et C (csh), mais pas avec le
shell Bourne (bsh). Pour relancer un process arrêté, vous devez soit l’avoir vous–même
lancé, soit être un utilisateur racine.
1. Pour afficher tous les process en cours ou arrêtés, mais non ceux tués (commande kill),
entrez :
ps
–ef
Commandes et processus
4-17
Vous pouvez chaîner cette commande avec une commande grep pour mieux cibler les
process qui vous intéressent. Ainsi, pour relancer une session vi, entrez :
ps –ef | grep vi
Appuyez sur Entrée. Cette commande affichera uniquement les lignes de la sortie de la
commande ps contenant le mot vi. Une sortie semblable à la suivante est affichée :
UID
root
root
PID
PPID
C
1234 13682 0
14277 13682 1
STIME
00:59:53
01:00:34
TTY
–
–
TIME COMMAND
0:01 vi test
0:00 grep vi
2. Dans la sortie de la commande ps, recherchez le process que vous souhaitez relancer
et notez son ID process. Dans cet exemple, l’ID process est 1234.
3. Pour transmettre le signal de continuation au process arrêté, entrez :
kill –19 1234
Modifiez l’ID de votre process, 1234. La commande –19 indique le signal CONTINUE,
qui relance le process en arrière-plan. Si le process peut être exécuté en arrière-plan,
vous avez terminé la procédure. Si le process doit être exécuté en avant-plan (comme
dans une session vi ), vous devez réaliser l’étape suivante.
4. Pour amener le process à l’avant–plan, entrez :
fg 1234
Modifiez à nouveau l’ID de votre process, 1234. Votre process doit à présent être
exécuté en avant-plan. (Vous êtes à présent dans votre session d’édition vi).
Planification d’un process pour une opération ultérieure (commande at)
Vous pouvez configurer un process comme étant un batch process (traitement par lots)
pour qu’il fonctionne en arrière-plan à une heure définie. Les commandes at et smit vous
permettent d’entrer des noms de commandes à exécuter à un moment ultérieur et de
spécifier quand ces commandes doivent être lancées.
Remarque : Les fichiers /var/adm/cron/at.allow et /var/adm/cron/at.allow vérifient si
vous pouvez utiliser la commande at. Un utilisateur root peut créer, éditer ou supprimer
ces fichiers. Leurs entrées comprennent un nom de connexion utilisateur par ligne. Voici
un exemple d’ACL d’un fichier at.allow :
root
nick
dee
sarah
Si le fichier at.allow exite, seuls les utilisateurs dont les noms de connexion y sont
répertoriés peuvent utiliser la commande at. Un administrateur système peut explicitement
interdire à un utilisateur d’utiliser la commande at en répertoriant le nom de connexion de
cet utilisateur dans le fichier at.deny. Si seul le fichier at.deny existe, n’importe quel
utilisateur dont le nom ne figure pas dans ce fichier peut utiliser la commande at.
Vous pouvez également utiliser la commande at si l’une des conditions suivantes est vraie :
• Le fichier at.allow et le fichier at.deny n’existent pas (utilisateur root autorisé
uniquement).
• Le fichier at.allow existe mais le nom de connexion utilisateur n’y figure pas.
• Le fichier at.deny existe et le nom de connexion utilisateur y apparaît.
Si le fichier at.allow n’existe pas et que le fichier at.deny n’existe pas non plus ou qu’il est
vide, seul un utilisateur root peut soumettre un travail avec la commande at.
La syntaxe de la commande at vous permet de spécifier une chaîne date et heure, ou
encore une chaîne incrément pour définir le moment d’exécution du process. Elle vous
autorise également à préciser le shell ou la file d’attente à utiliser. Voici quelques exemples.
4-18
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commande at
1. Entrez l’heure de lancement du programme :
Si votre nom de connexion est joyce et que vous disposez d’un script appelé WorkReport
que vous voulez exécuter à minuit, procédez comme suit.
at midnight
2. Entrez le nom des programmes à exécuter, en appuyant sur Entrée après chaque nom.
Appuyez ensuite sur Ctrl-D (fin de fichier) pour terminer.
WorkReport^D
Un message semblable au suivant s’affiche :
job joyce.741502800.a at Fri Jul
6 00:00:00 CDT 2002.
Un numéro de travail est attribué au programme WorkReport joyce.741502800.a
et le travail sera exécuté à minuit le 6 juillet.
3. Pour afficher la liste des programmes qui seront exécutés en différé, entrez :
at –l
Le système affiche un écran semblable à celui-ci :
joyce.741502800.a
Fri Jul
6 00:00:00 CDT 2002
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande at
dans le manuel AIX 5L Version 5.3 Commands Reference.
Liste de tous les process planifiés (commande at ou atq)
Utilisez l’indicateur –l avec la commande at ou avec la commande atq pour afficher la liste
des process planifiés. Les deux commandes génèrent la même sortie, la commande atq
pouvant en outre trier les process selon l’heure de lancement de la commande at et
n’afficher que les seuls process en file d’attente.
Pour afficher tous les process planifiés, vous lancez :
• la commande at à partir de la ligne de commande.
• la commande atq.
Pour limiter les utilisateurs de la commande at, reportez–vous à la Remarque dans
Planification d’un process pour une opération ultérieure (commande at), page 4-18.
Commande at
Pour afficher la liste des process planifiés, entrez :
at –l
Cette commande affiche la liste des process planifiés dans votre file d’attente. Si vous êtes
utilisateur root, elle affiche tous les process planifiés de tous les utilisateurs. Pour en savoir
plus sur la syntaxe, reportez-vous à la commande at.
commande atq
Les exemples ci–après illustrent les différentes utilisations de la commande atq :
• Pour afficher la liste des process planifiés de la file d’attente, entrez :
atq
• Si vous êtes utilisateur root, vous pouvez afficher les process planifiés d’un utilisateur
en entrant :
atq UserName
• Pour afficher le nombre de process de la file d’attente, entrez :
atq –n
Commandes et processus
4-19
Suppression d’un process du planning (commande at)
Vous pouvez supprimer un process planifié avec la commande at en utilisant l’indicateur –r.
Pour limiter les utilisateurs de la commande at, reportez–vous à la Remarque dans
Planification d’un process pour une opération ultérieure (commande at), page 4-18.
commande at ou atq
Les exemples ci–après illustrent les différentes utilisations de la commande at ou atq :
1. Pour déprogrammer un process, vous devez connaître son numéro. Utilisez les
commandes at –l ou atq pour obtenir le numéro d’un process. Pour plus d’informations,
reportez–vous à la section Liste de tous les process planifiés (commande at ou atq),
page 4-19.
2. Lorsque vous connaissez le numéro du process à déprogrammer, entrez :
at –r NuméroProcess
Vous pouvez également utiliser la commande smit rmat pour réaliser cette tâche.
Suppression d’un process d’arrière–plan (commande kill)
Si la touche d’INTERRUPTION n’a pas eu l’effet escompté sur le process d’avant-plan ou si
vous souhaitez arrêter un process d’arrière-plan, vous pouvez recourir à la commande kill.
Avant d’arrêter un process à l’aide de la commande kill, vous devez connaître son ID
process. Le format général de la commande kill est le suivant :
kill
IDProcess
Remarque : Pour supprimer un process, vous devez soit l’avoir lancé, soit être un
utilisateur root. Le signal par défaut d’un process suite à la commande kill est –15
(SIGTERM).
Commande kill
Remarque : Pour supprimer un process zombie, vous devez supprimer son parent.
1. Pour déterminer le PID du process à supprimer, lancez la commande ps. Vous pouvez
chaîner cette commande avec une commande grep pour mieux cibler les process qui
vous intéressent. Ainsi, pour obtenir le PID d’une session vi, entrez :
ps –l | grep vi
2. Dans l’exemple suivant, la commande find permet de faire une exécution en
arrière–plan. Vous pouvez alors décider d’arrêter le process. Emettez la commande ps
pour lister les numéros de PID.
$ find / –type f > dir.paths &
[1]
21593
$ ps
PID
TTY TIME COMMAND
1627 pts3 0:00 ps
5461 pts3 0:00 ksh
17565 pts3 0:00 –ksh
21593 pts3 0:00 find / –type f
$ kill 21593
$ ps
PID
TTY TIME COMMAND
1627 pts3 0:00 ps
5461 pts3 0:00 ksh
17565 pts3 0:00 –ksh
[1] + Terminated 21593
find /
4-20
AIX Guide de l’utilisateur – Système d’exploitation et unités
–type f > dir.paths
&
La commande kill 21593 arrête le process d’arrière–plan find et la deuxième commande
ps renvoie un état sans informations sur le PID 21593. Le système n’affichera pas le
message d’arrêt avant que vous n’entriez la commande suivante, à moins que la
commande soit cd.
La commande kill vous permet d’arrêter les process d’arrière–plan. Vous voulez
peut–être réaliser cette tâche si vous avez, par erreur, lancé un process en arrière-plan
ou que vous vous apercevez qu’il est trop long, par exemple.
Reportez–vous à la commande kill dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
La commande kill peut aussi être utilisée dans smit en entrant :
smit kill
Commandes et processus
4-21
Récapitulatif des commandes pour les commandes
et les process
Commandes
alias
La commande shell imprime une liste d’alias sur une sortie standard
history ,
page 12-96
La commande shell affiche la liste des événements de l’historique
man
Affiche les informations sur les commandes, les sous–programmes
et les fichiers en ligne
wsm
Effectue une gestion de système à partir d’un navigateur web
whatis
Décrit la fonction d’une commande
whereis
Localise la source, binaire ou manuelle, des programmes installés
at
Exécute des commandes à un moment ultérieur, liste tous
les process planifiés ou supprime un process du planning
atq
Affiche la file de travaux en attente de l’exécution
kill
Envoie un signal aux process en cours d’exécution
nice
Exécute une commande à un niveau de priorité inférieur
ou supérieur
ps
Affiche l’état en cours des process.
renice
Modifie la priorité des process en cours d’exécution
Process
4-22
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 5. Réacheminement des entrées/sorties
Le système d’exploitation AIX permet la gestion des entrées et sorties (E–S) de données de
et vers votre système en utilisant des commandes et symboles spécifiques E–S. Vous
pouvez gérer les entrées en indiquant l’emplacement à partir duquel les données sont
rassemblées. Vous pouvez par exemple indiquer de lire les entrées quand les données sont
entrées sur le clavier (entrées standard) ou de lire les sorties à partir d’un fichier. Vous
pouvez gérer les sorties en indiquant où les données s’affichent et sont enregistrées. Vous
pouvez indiquer d’envoyer les données de sortie à l’écran (sortie standard) ou de les
envoyer vers un fichier.
Le système est multitâche, ce qui signifie qu’il traite les process en combinaison les uns
avec les autres. Ce chapitre aborde les avantages du réacheminement des entrées et
sorties et de l’association des process.
Cette section décrit les points suivants :
• Entrées, sorties et erreurs standard, page 5-2
• Réacheminement des sorties standard, page 5-2
• Réacheminement des sorties vers un fichier, page 5-2
• Réacheminement des sorties avec ajout à un fichier, page 5-3
• Création d’un fichier texte avec réacheminement à partir du clavier, page 5-3
• Concaténation de fichiers texte, page 5-3
• Réacheminement des entrées standard, page 5-4
• Elimination des sorties via le fichier /dev/null, page 5-4
• Réacheminement des erreurs standard et autres sorties, page 5-4
• Utilisation des documents entrée en ligne (Here), page 5-5
• Utilisation des tubes et filtres, page 5-5
•
Affichage de la sortie d’un programme avec copie dans un fichier
(commande tee), page 5-6
• Effacement de l’écran (commande clear), page 5-7
•
Envoi d’un message vers la sortie standard (commande echo), page 5-7
• Ajout d’une ligne de texte à un fichier (commande echo), page 5-7
• Copie de l’écran dans un fichier (commandes capture et script), page 5-8
• Affichage de texte en gros caractères (commande banner), page 5-8
• Réacheminement des entrées/sorties, page 5-9
Réacheminement des entrées/sorties
5-1
Entrées, sorties et erreurs standard
Lorsqu’une commande est lancée, elle attend normalement que les fichiers suivants soient
ouverts : entrées, sorties et erreurs standards (appelés parfois sortie erreur ou sortie
diagnostic Un descripteur de fichier est un nombre associé à chacun de ces fichiers
comme suit :
Descripteur de fichier 0
Entrée standard
Descripteur de fichier 1
Sortie standard
Descripteur de fichier 2
Sortie erreur standard (diagnostic)
Un processus enfant hérite normalement de ces fichiers de son parent. Les trois fichiers
sont initialement attribués au poste de travail (0 pour le clavier, 1 et 2 pour l’écran). Le shell
leur permet d’être réacheminé vers un autre emplacement avant que le contrôle ne soit
passé sur une commande.
Lorsque vous entrez une commande, si aucun nom de fichier n’est précisé, votre clavier
représente l’entrée standard, parfois appelée stdin. A la fin d’une commande, les résultats
s’affichent sur votre écran.
Votre écran représente la sortie standard, parfois appelée stdout. Par défaut, les
commandes gardent leur entrée à partir de l’entrée standard et envoie les résultats à la
sortie standard.
Les messages d’erreur sont acheminés aux erreur standard, parfois appelées stderr. Par
défaut, il s’agit de votre écran.
Ces actions d’entrées et de sorties par défaut peuvent varier. Vous pouvez utiliser un fichier
comme entrées et envoyer les résultats d’une commande à un fichier. Il s’agit du
réacheminement des entrées/sorties.
La sortie d’une commande qui normalement s’affiche à l’écran peut être aisément
réacheminée vers un fichier. il s’agit du réacheminement des sorties. Cette fonction est très
utile lorsque le résultat d’une commande est trop long pour être aisément lu à l’écran ou
que vous souhaitez regrouper plusieurs petits fichiers dans un seul.
Bien qu’elle ne soit pas autant utilisée que le réacheminement des sorties, les entrées d’une
commande normalement issues du clavier peuvent être également réacheminées à partir
d’un fichier. Il s’agit du réacheminement des entrées. Le réacheminement des entrées
permet de préparer un fichier à l’avance ; ainsi la commande peut lire le fichier.
Réacheminement des sorties standard
Lorsque la mention >nomfichier est indiquée à la fin d’une commande, la sortie de la
commande est ajoutée au nom du fichier indiqué. Le > symbole est connu comme
l’opérateur de réacheminement des sorties.
Toute commande dont les résultats sont normalement affichés à l’écran peut être
réacheminée de la sorte.
Réacheminement des sorties vers un fichier
Il est possible de réacheminer la sortie d’un processus vers un fichier en saisissant la
commande suivie de l’opérateur de réacheminement des sorties et du nom de fichier. Par
exemple, pour réacheminer les résultats de la commande who dans un fichier nommé
users, entrez :
who > users
5-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
Remarque : Si le fichier users existe déjà, il est supprimé et remplacé sauf si l’option
noclobber des commandes (shell C) intégrées set ksh (Korn shell) ou csh est
indiquée.
Pour afficher le contenu du fichier users, entrez :
cat users
Une liste similaire à l’exemple ci–après s’affiche :
denise
marta
endrica
lft/0 May 13 08:05
pts/1 May 13 08:10
pts/2 May 13 09:33
Réacheminement des sorties avec ajout à un fichier
Lorsque la mention > > nomfichier est indiquée à la fin d’une commande, les sorties de la
commande sont ajoutées au nom du fichier indiqué, plutôt que d’écraser les données
existantes. Le >> symbole est connu comme l’opérateur de réacheminement.
Par exemple, pour ajouter file2 à file1, entrez :
cat file2 >> file1
Appuyez sur Entrée.
Remarque : Si le fichier file1 n’existe pas, il est créé sauf si l’option noclobber de la
commande (shell C) intégrée set ksh (Korn shell) ou csh est indiquée.
Création d’un fichier texte avec réacheminement à partir
du clavier
Utilisée seule, la commande cat considère comme entrées toutes les saisies clavier. Vous
pouvez rediriger ces entrées vers un fichier. Appuyez sur Ctrl–D (sur une nouvelle ligne)
pour signaler la fin du texte.
A l’invite du système, entrez ce qui suit :
cat > nomfichier
This is a test.
^D
Concaténation de fichiers texte
L’association de plusieurs fichiers en un seul fichier s’appelle la concaténation.
L’exemple suivant génère file4, composé de file1, file2 et file3.
Voir les exemple ci–après :
• A l’invite du système, entrez ce qui suit :
cat file1 file2 file3 > file4
• L’exemple suivant affiche une erreur communément rencontrée à la concaténation de
fichiers :
cat file1 file2 file3 > file1
Attention : Dans cet exemple, la commande cat peut ajouter file1, file2 et file3 dans
file1. La commande cat crée tout d’abord le fichier de sorties, elle supprime donc le
contenu de file1 et lui ajoute file2 et file3.
Réacheminement des entrées/sorties
5-3
Réacheminement des entrées standard
Lorsque la mention < nomfichier est indiquée à la fin d’une commande, les entrées de la
commande sont ajoutées au nom du fichier indiqué. Le < symbole est connu comme
l’opérateur réacheminement des entrées.
Remarque : Seules les commandes qui normalement gardent leurs entrées à partir
du clavier peuvent subir un réacheminement de leurs entrées.
Par exemple, pour envoyer le fichier letter1 comme message à l’utilisateur denise, via la
commande mail, entrez :
mail denise < letter1
Elimination des sorties via le fichier /dev/null
Le fichier /dev/null est un fichier spécial. Ce fichier a une propriété unique : il est toujours
vide. Toutes les données que vous envoyez vers /dev/null sont supprimées. Ceci est une
fonction utile lorsque vous exécutez un programme dont les sorties n’ont aucun intérêt pour
vous.
Soit, par exemple, le programme myprog qui lit les données à l’écran et renvoie des
messages que vous souhaitez ignorer. Pour qu’il lise les entrées dans le fichier monscript
et rejette les messages de sortie standard, entrez :
myprog < myscript >/dev/null
Dans cet exemple, myprog utilise le fichier myscript comme entrées et toutes les sorties
standard sont éliminées.
Réacheminement des erreurs standard et autres sorties
Outre l’entrée standard et la sortie standard, les commandes génèrent souvent d’autres
types de sortie comme les messages d’erreur ou d’état connus sous le nom de sortie de
diagnostic. Tout comme la sortie standard, la sortie erreur standard apparaît à l’écran, à
moins qu’elle ne soit réacheminée.
Pour réacheminer l’erreur standard ou une autre sortie, utilisez un descripteur de fichier. Un
descripteur de fichier est un nombre associé à chacun des fichiers d’entrée–sortie
généralement utilisés par une commande. Il est également possible de spécifier des
descripteurs de fichiers pour réacheminer l’entrée standard et la sortie standard, mais elles
disposent déjà de valeurs par défaut. Les nombres ci–après sont associés à l’entrée
standard, la sortie standard et la sortie erreur standard :
0
Entrée standard (clavier)
1
Sortie standard (écran)
2
Erreur standard (écran)
Pour réacheminer la sortie erreur standard, saisissez le descripteur de fichier numéro 2
devant la sortie ou ajoutez les symboles de réacheminement (> ou > >) suivis d’un nom
de fichier. Par exemple, la commande suivante prend la sortie d’erreur standard de la
commande cc à l’emplacement où elle est utilisée pour compiler le fichier testfile.c et
l’ajoute à la fin du fichier ERRORS :
cc testfile.c 2 >> ERRORS
5-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Il est également possible de réacheminer d’autres types de sortie à l’aide des descripteurs
de fichiers allant de 0 à 9. Ainsi, si la commande cmd consigne la sortie vers le descripteur
de fichier numéro 9, vous pouvez réacheminer cette sortie vers le fichier savedata à l’aide
de la commande suivante :
cmd 9> savedata
Si une commande génère plusieurs sorties, vous pouvez les réacheminer indépendamment
les unes des autres. Ainsi, si cette commande envoie sa sortie standard vers le descripteur
de fichier numéro 1, sa sortie erreur standard vers le descripteur de fichier numéro 2 et
génère un fichier de données sur le descripteur de fichier numéro 9, saisissez la ligne de
commande suivante pour réacheminer chacune de ces sorties vers un fichier différent :
command > standard 2> error 9> data
Réacheminement des sorties vers des documents entrée
en ligne (here)
Si une commande se présente sous la forme suivante :
command << eofstring
et eofstring est une chaîne qui ne contient pas de métacaractères, alors le shell considère
la ligne suivante comme entrée standard de la commande jusqu’à ce que le shell envoie
une ligne comprenant uniquement eofstring (précédé si possible d’une ou plusieurs
tabulations). Les lignes entre la première occurrence de eofstring et la seconde sont
souvent appelées document d’entrée en ligne ou document here. Si un tiret (–) suit
immédiatement les << caractères de réacheminement, le shell supprime les tabulations au
début de chaque ligne du document here avant de passer la ligne à command.
Le shell crée un fichier temporaire contenant le document here et remplace les variables et
les commandes dans le contenu avant de renvoyer le fichier à la commande. Il effectue le
contrôle de forme sur les noms de fichiers qui font partie des lignes de commande dans les
substitutions de commandes. Pour empêcher toutes substitutions, indiquez tous les
caractères de eofstring :
command << \eofstring
Le document Here est particulièrement utile pour un faible volume de données, qu’il est
plus judicieux de placer directement dans une procédure shell plutôt que dans un fichier
distinct (scripts d’édition, par exemple). Par exemple, vous pouvez taper :
cat <<– xyz
Ce message s’affiche sur
l’écran ; les tabulations principales sont supprimées.
xyz
Réacheminement des sorties à l’aide de canaux et filtres
Vous pouvez connecter deux ou plusieurs commandes pour que la sortie standard d’une
commande soit utilisée comme entrée standard d’une autre commande. Les commandes
connectées de telle sorte s’appellent une pipeline. La connexion qui accompagne les
commandes s’appelle un tube. Les tubes sont utiles car ils permettent d’associer plusieurs
commandes à but unique en une commande puissante.
Un pipeline permet d’acheminer la sortie à partir d’une commande pour devenir l’entrée
d’une autre commande. Les commandes sont connectées par un symbole tube (|).
Lorsqu’une commande garde son entrée à partir d’une autre commande, la modifie et
envoie les résultats à la sortie standard, elle s’appelle un filtre. Les filtres peuvent être
utilisés seuls mais ils s’avèrent très utiles dans les pipelines. Les filtres les plus fréquents
sont les suivants :
• sort
Réacheminement des entrées/sorties
5-5
• plus
• pg
Voir les exemple ci–après :
• La commande ls affiche le contenu du répertoire courant en un flot ininterrompu. Si les
informations ne tiennent pas sur un écran, certaines ne sont pas visibles. Pour obtenir
un affichage page par page, chaînez les commandes ls et pg. Par exemple, tapez la
commande suivante :
ls | pg
Dans cet exemple, la sortie de la commande ls devient l’entrée de la commande pg.
Pour afficher l’écran suivant, appuyez sur Entrée.
Les pipelines fonctionnent dans une seule direction (de gauche à droite). Chaque
commande est exécutée comme un process distinct, tous les process pouvant être
exécutés simultanément. Un process est suspendu lorsqu’il n’a plus de données à lire ou
que le canal vers le process suivant est plein.
• Les canaux peuvent également être utilisés avec la commande grep. La commande
grep cherche dans un fichier les lignes qui contiennent des chaînes d’un format
particulier. Pour afficher tous les fichiers créés ou modifiés en juillet, entrez :
ls –l | grep Jul
Dans cet exemple, la sortie de la commande ls devient l’entrée de la commande grep.
Affichage de la sortie d’un programme avec copie dans un
fichier (commande tee)
La commande tee, utilisée en combinaison avec une autre commande, lit l’entrée standard,
consigne la sortie d’un programme vers la sortie standard et la copie simultanément dans le
ou les fichiers spécifiés. La commande tee permet de visualiser immédiatement la sortie et
de la conserver en vue d’utilisations ultérieures.
Par exemple, tapez la commande suivante :
ps –ef | tee program.ps
La sortie standard de la commande ps –ef s’affiche à l’écran et une copie est sauvegardée
dans le fichier program.ps. Si le fichier program.ps existe déjà, il est supprimé et
remplacé, sauf si l’option noclobber de la commande intégrée set est activée.
Pour visualiser et sauvegarder la sortie d’une commande dans un fichier existant, entrez :
ls –l | tee –a program.ls
La sortie standard de la commande ls –l s’affiche à l’écran et une copie est sauvegardée
dans le fichier program.ps.
Le système affiche des informations similaires à l’exemple ci–après. Ces mêmes
informations figurent dans le fichier program.ls.
–rw–rw–rw–
–rw–rw–rw–
–rw–rw–rw–
1 jones
1 jones
1 jones
staff
staff
staff
2301
6317
5550
Sep 19
Aug 31
Sep 10
08:53 161414
13:17 def.rpt
14:13 try.doc
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande tee
dans le manuel AIX 5L Version 5.3 Commands Reference.
5-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Effacement de l’écran (commande clear)
Utilisez la commande clear pour supprimer de l’écran tous les messages et l’entrée clavier.
A l’invite, entrez ce qui suit :
clear
Le système efface l’écran et affiche l’invite.
Envoi d’un message vers la sortie standard (commande echo)
Utilisez la commande echo pour afficher les messages à l’écran.
Par exemple, pour inscrire un message sur la sortie standard, entrez, à l’invite :
echo Please insert diskette. . .
Le message suivant s’affiche :
Please insert diskette. . .
Pour combiner commande echo et caractères joker, entrez, à l’invite :
echo The back–up files are: *.bak
Le système affiche le message Les fichiers de sauvegarde sont : suivi des
noms de fichier dans le répertoire courant terminé par .bak.
Ajout d’une ligne de texte à un fichier (commande echo)
Utilisez la commande echo, utilisée avec l’opérateur de réacheminement d’ajout, pour
ajouter une ligne de texte à un fichier.
Par exemple, à l’invite, entrez :
echo Remember to backup mail files by end of week. >
>notes
Ceci ajoute le message Remember to backup mail files by end of week.
à la fin du fichier notes.
Réacheminement des entrées/sorties
5-7
Copie de l’écran dans un fichier (commandes capture et script)
Utilisez la commande capture qui émule un terminal VT100, pour copier toutes les
informations affichées sur votre terminal dans un fichier que vous spécifiez.
Utilisez la commande script pour copier toutes les informations affichées sur votre terminal,
sans émulation du terminal VT100, dans un fichier que vous spécifiez.
Les deux commandes sont utiles pour imprimer les enregistrements des boîtes de dialogue
affichées à l’écran.
Par exemple, pour prendre une capture d’écran avec une émulation d’un terminal VT100,
entrez la commande suivante sur la ligne de commande :
capture screen.01
Le système affiche des informations similaires à l’exemple suivant :
Capture command is started. The file is screen.01.
Use ^P to dump screen to file screen.01.
You are now emulating a vt100 terminal.
Press Any Key to continue.
Après avoir saisi les données souhaitées et vidé le contenu de l’écran, mettez fin à la
commande capture en appuyant sur les touches Ctrl–D ou en saisissant exit. Appuyez
ensuite sur la touche Entrée. Le système affiche des informations similaires à l’exemple
suivant :
Capture command is complete. The file is screen.01.
You are NO LONGER emulating a vt100 terminal.
La commande cat permet d’afficher le contenu de votre fichier.
Pour prendre une capture d’écran, saisissez la commande suivante sur la ligne de
commande :
script
Le système affiche des informations similaires à l’exemple suivant :
Script command is started The file is typescript
Tout ce qui s’affiche sur cet écran est maintenant copié dans le fichier typescript.
Pour mettre fin à la commande script, appuyez sur exit, puis sur Entrée.
Le système affiche des informations similaires à l’exemple suivant :
Script command is complete. The file is typescript.
La commande cat permet d’afficher le contenu de votre fichier.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description des commandes
capture et script dans le manuel AIX 5L Version 5.3 Commands Reference.
Affichage de texte en gros caractères (commande banner)
La commande banner affiche les caractères ASCII en gros caractères. Chaque ligne de
sortie peut compter 10 chiffres (ou des caractères en majuscules ou en minuscules).
Par exemple, à l’invite, entrez :
banner GOODBYE!
Le système affiche GOODBYE! en gros caractères.
5-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Récapitulatif des commandes relatives au réacheminement
des entrées/sorties
>
Réacheminement des sorties standard, page 5-2
<
Réacheminement des entrées standard, page 5-4
> >
Réacheminement des sorties avec ajout à un fichier, page 5-3
|
Réacheminement des sorties à l’aide de canaux et filtres, page 5-5
banner
Permet d’envoyer des chaînes de caractères ASCII en gros caractères
vers la sortie standard.
capture
Permet de vider le contenu de l’écran dans un fichier.
clear
Permet d’effacer l’écran du terminal.
echo
Permet d’envoyer des chaînes de caractères vers la sortie standard.
script
Permet de copier des sorties et entrées standard dans un fichier.
tee
Permet d’afficher la sortie standard d’un programme et d’en effectuer
une copie dans un fichier.
Réacheminement des entrées/sorties
5-9
5-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 6. Systèmes de fichiers et répertoires
Un système de fichiers est constitué d’un groupe de répertoires et des fichiers qu’ils
contiennent. Il est généralement représenté par une arborescence : le répertoire racine,
symbolisé par une barre oblique(/), définit un système de fichiers et apparaît au sommet de
l’arborescence. Les branches descendantes, issues du répertoire racine, peuvent contenir
des fichiers ou des sous–répertoires. Ces ramifications définissent des chemins d’accès
uniques à tous les objets du système de fichiers.
Les fichiers sont regroupés dans des répertoires. Ces derniers sont rarement indépendants
les uns des autres : les structurer en système de fichiers permet de les organiser.
Un fichier est un ensemble de données, susceptible d’être lu et dans lequel il est possible
d’écrire. Un programme, un texte, des données, une unité, etc., constituent des fichiers.
Commandes, imprimantes, terminaux, courrier et programmes d’application y sont stockés.
L’accès à ces divers éléments est de ce fait uniformisé: le système y gagne en souplesse et
en simplicité.
Ce chapitre traite des points suivants :
• Système de fichiers à la page, 6-2
– Types de systèmes de fichiers, page 6-2
– Structure des systèmes de fichiers, page 6-3
– Espace disponible sur un système de fichiers (commande df), page 6-5
•
Répertoires : généralités, page 6-6
– Types de répertoires, page 6-6
– Répertoires : Organisation, page 6-7
– Conventions d’appellation des répertoires, page 6-7
– Chemins d’accès aux répertoires, page 6-8
– Répertoires : Abréviations, page 6-7
• Procédures de gestion des répertoires, page 6-9
– Création de répertoires (commande mkdir), page 6-9
– Déplacement ou changement de nom d’un répertoire (commande mvdir), page 6-9
– Affichage du répertoire courant (commande pwd), page 6-10
– Changement de répertoire (commande cd), page 6-10
– Copie de répertoires (commande cp), page 6-11
– Affichage du contenu d’un répertoire (commande ls), page 6-11
– Suppression ou retrait d’un répertoire (commande rmdir), page 6-13
– Comparaison entre répertoires (commande dircmp), page 6-14
• Récapitulatif des commandes relatives aux Système de fichiers et aux répertoires,
page 6-15
Systèmes de fichiers et répertoires
6-1
Système de fichiers
Un système de fichiers est une structure hiérarchique (arborescence de fichiers) de fichiers
et de répertoires. Ce type de structure ressemble à un arbre renversé avec les racines au
sommet et les branches en bas. Cette arborescence des fichiers organise les données et
programmes en groupes, ce qui permet de manipuler simultanément plusieurs fichiers et
répertoires.
Certaines tâches sont exécutées de façon plus efficace sur un système de fichiers que sur
chaque répertoire d’un système de fichiers. Vous pouvez, par exemple, sauvegarder,
déplacer ou sécuriser l’ensemble d’un système de fichiers.
Le système de fichiers de base s’appelle système de fichiers journalisé (JFS). Ce système
de fichiers utilise des techniques de journalisation de base de données pour maintenir la
cohérence structurelle. Cela permet d’éviter d’endommager le système de fichiers lorsque
le système s’arrête de manière anormale.
Nombre de tâches de gestion du système sont liées aux systèmes de fichiers, notamment :
• l’affectation d’espace aux systèmes de fichiers sur les volumes logiques,
• la création de systèmes de fichiers,
• la mise à la disposition des utilisateurs de l’espace du système de fichiers,
• le contrôle de l’utilisation de l’espace du système de fichiers,
• la sauvegarde des systèmes de fichiers pour protéger les données en cas de panne du
système,
• le maintien de la cohérence des systèmes de fichiers.
Ces tâches incombent à l’administrateur du système.
Types de systèmes de fichiers
Prend en charge plusieurs types de systèmes de fichiers. Par exemple :
6-2
Système de fichiers journalisé (JFS)
Le type de base de système de fichiers
accepte l’ensemble des commandes
relatives aux systèmes de fichiers.
Système de fichiers journalisé amélioré
(JFS2)
Le type de base de système de fichiers
accepte l’ensemble des commandes
relatives aux systèmes de fichiers.
Système de fichiers réseau
Type de système de fichiers permettant
d’accéder aux fichiers résidant sur des
machines distantes comme s’il s’agissaient
de fichiers locaux.
Système de fichiers CD-ROM
Type de système de fichiers permettant
d’accéder au contenu d’un CD-ROM via les
interfaces habituelles du système
(ouverture, lecture et fermeture).
AIX Guide de l’utilisateur – Système d’exploitation et unités
Structure des systèmes de fichiers
Sur les systèmes autonomes, les systèmes de fichiers suivants résident, par défaut,
sur les unités associées :
/ Système de fichiers
/ Unité
/ dev / hd1
/ home
/ dev / hd2
/ usr
/ dev / hd3
/ tmp
/ dev / hd4
/ (racine)
/ dev / hd9var
/ var
/ proc
/ proc
/ dev / hd10opt
/ opt
L’arborescence des fichiers présente les caractéristiques suivantes :
• Les fichiers partageables par les machines de la même architecture matérielle se
trouvent dans le système de fichiers /usr.
• Les fichiers texte partageables, indépendants de l’architecture (pages de manuel,
par exemple) se trouvent dans le répertoire /var.
• Le système de fichiers /(root) contient les fichiers et les répertoires essentiels à
l’exploitation du système. Par exemple :
– répertoire des unités (/dev) ;
– points de montage des systèmes de fichiers sur le système de fichiers racine, /mnt,
par exemple.
• Le système de fichiers /home est le point de montage des répertoires personnels de
l’utilisateur.
• Pour les serveurs, le répertoire /export contient les fichiers de pagination d’espace, les
systèmes de fichiers racine client (non partagés), les répertoires de vidage, personnels
et /usr/share des clients sans disque, ainsi que les répertoires /usr exportés.
• Le système de fichiers /proc contient des informations sur l’état des processus et des
unités d’exécution dans le système.
• Le système de fichiers /opt contient les logiciels en option, comme les applications.
La liste suivante propose des informations sur le contenu de certains sous–répertoires du
système de fichiers / (racine).
/bin
Lien symbolique au répertoire /usr/bin.
/dev
Contient les noeuds unité pour les fichiers spéciaux des unités
locales. Le répertoire /dev contient les fichiers spéciaux des unités
de bande, des imprimantes, des partitions de disque et des
terminaux.
/etc
Contient les fichiers de configuration propres à chaque machine.
Exemples :
• /etc/hosts
• /etc/passwd
/export
Contient les répertoires et les fichiers d’un serveur, réservés aux
clients distants.
Systèmes de fichiers et répertoires
6-3
6-4
/home
Sert de point de montage au système de fichiers contenant les
répertoires personnels de l’utilisateur. Le système de fichiers /home
contient les fichiers et les répertoires utilisateur.
Sur les machines autonomes, un système de fichiers distinct est
monté sur le répertoire /home. Dans un réseau, un serveur peut
contenir des fichiers utilisateur qui doivent être accessibles par
plusieurs machines. Dans ce cas, la copie serveur du répertoire
/home est télémontée sur un système de fichiers /home local.
/lib
Lien symbolique au répertoire /usr/lib- qui comprend les
bibliothèques indépendantes de l’architecture au format lib*.a.
/sbin
Contient les fichiers requis pour l’amorçage de la machine et le
montage du système de fichiers /usr. La plupart des commandes
utilisées au moment de l’amorçage proviennent du système de
fichiers du disque RAM de l’image d’amorçage. De ce fait, très peu
de commandes se trouvent dans le répertoire /sbin.
/tmp
Sert de point de montage du système de fichiers contenant les
fichiers temporaires générés par le système.
/u
Lien symbolique au répertoire /home.
/usr
Sert de point de montage au système de fichiers contenant les
fichiers invariables partageables par les machines (fichiers
exécutables et documentation ASCII, par exemple).
Les machines autonomes montent un système de fichiers local
séparé sur le répertoire /usr. Les machines sans disque ou à faible
capacité disque montent un répertoire, à partir d’un serveur distant,
sur le système de fichiers /usr.
/var
Sert de point de montage des fichiers variables (dépendant de la
machine). Le système de fichiers /var est configuré comme un
système de fichiers dans la mesure où les fichiers qu’il contient
tendent à grossir. Par exemple, c’est un lien symbolique au
répertoire /usr/tmp qui contient les fichiers de travail temporaires.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Affichage de l’espace disponible sur un système de fichiers
(commande df)
Utilisez la commande df pour afficher des informations sur l’espace total et l’espace
disponible d’un système de fichiers. Le paramètre FileSystem spécifie le nom de l’unité où
réside le système de fichiers, le répertoire sur lequel il est monté ou son chemin d’accès
relatif. Si vous ne spécifiez pas le paramètre FileSystem, la commande df affiche des
informations sur les systèmes de fichiers actuellement montés. Si vous indiquez un fichier
ou un répertoire, la commande df affiche des informations sur le système de fichiers sur
lequel réside le fichier.
Normalement, la commande df se sert des comptes libres du superbloc. Dans certaines
circonstances exceptionnelles, ces comptes peuvent être en erreur. C’est ce qui se produit
si un système de fichiers est activement modifié pendant l’exécution de la commande df,
par exemple.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande df
dans le manuel AIX 5L Version 5.3 Commands Reference.
Remarque :
Dans certains systèmes de fichiers éloignés, tels que les NFS (Network
File Systems), les colonnes représentant l’espace disponible sur l’écran
restent vierges si le serveur ne fournit pas l’information demandée.
Les exemples ci–après illustrent les différentes utilisations de la commande df :
• Pour afficher les informations relatives à tous les systèmes de fichiers montés, entrez :
df
Si votre système est configuré de sorte que les répertoires /, /usr, /site et /usr/venus
résident sur des systèmes de fichiers distincts, la commande df génère un résultat
semblable au suivant :
Filesystem 512–blocks
/dev/hd4
20480
/dev/hd2
385024
/dev/hd9var 40960
/dev/hd3
20480
/dev/hd1
4096
free
13780
15772
38988
18972
3724
%used
32%
95%
4%
7%
9%
Iused %Iused
805
13%
27715
28%
115
1%
81
1%
44
4%
Mounted on
/
/usr
/var
/tmp
/home
• Pour afficher l’espace disponible du système de fichiers dans lequel réside le répertoire
en cours, saisissez :
df.
Systèmes de fichiers et répertoires
6-5
Répertoires : généralités
Un répertoire est un fichier qui ne contient que les informations d’accès à d’autres fichiers
et répertoires. Par conséquent, il occupe moins d’espace que les autres types de fichiers.
Les répertoires vous permettent de regrouper des fichiers et d’autres répertoires dans une
hiérarchie modulaire, ce qui confère à la structure de systèmes de fichiers à la fois flexibilité
et profondeur.
Les répertoires contiennent des entrées. Chacune d’entre elles contient le nom et le
numéro d’i–node (index node) du fichier. Pour optimiser l’utilisation de l’espace disque, les
données d’un fichier sont réparties sur plusieurs zones de la mémoire. L’i–node indique les
adresses et l’enchaînement de tous les blocs de données associés à un fichier. L’i–node
enregistre également d’autres informations, comme la date et l’heure de la dernière
ouverture/modification, les droits d’accès, le nombre de liens, le propriétaire, le type de
fichier, etc.
Un ensemble spécial de commandes contrôle les répertoires. Vous pouvez, via la
commande ln, associer plusieurs noms d’un fichier à un même i–node.
Les répertoires contenant souvent des informations réservées à certains utilisateurs, l’accès
aux répertoires peut être protégé. Vous pouvez, en définissant des droits d’accès, contrôler
et limiter l’accès aux répertoires, et désigner les utilisateurs autorisés à en modifier le
contenu. Pour plus d’informations, reportez–vous à la section Modes d’accès aux fichiers
et aux répertoires, page 10-4.
Ce chapitre traite des points suivants :
• Types de répertoires, page 6-6
• Répertoires : Organisation, page 6-7
• Conventions d’appellation des répertoires, page 6-7
• Chemins d’accès aux répertoires, page 6-8
• Répertoires : Abréviations, page 6-7
• Procédures de gestion des répertoires, page 6-9
Types de répertoires
Les répertoires peuvent être définis par le système d’exploitation, l’administrateur ou les
utilisateurs. Les répertoires système contiennent des fichiers système particuliers
(commandes, par exemple). Le répertoire /(root), défini par le système, constitue le sommet
de la hiérarchie du système de fichiers. Il est en général composé des répertoires suivants :
/dev
Fichiers spéciaux pour unités d’E–S.
/etc
Fichiers d’initialisation et d’administration du système.
/home
Répertoires de connexion des utilisateurs du système.
/tmp
Fichiers temporaires, supprimés à l’issue d’un nombre de jours
donné.
/usr
Répertoires lpp, include et programmes système.
/usr/bin
Programmes exécutables utilisateur.
Certains répertoires, comme le répertoire de connexion ou le répertoire personnel
($HOME), sont définis et personnalisés par l’administrateur. Lorsque vous vous connectez
au système, vous vous trouvez dans le répertoire de connexion (qui est alors le répertoire
courant).
Les répertoires que vous créez sont appelés des répertoires utilisateur. Ces répertoires
vous permettent d’organiser et de maintenir vos fichiers.
6-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Organisation des répertoires
Les répertoires contiennent des fichiers, des sous–répertoires ou une combinaison
des deux. Un sous–répertoire est un répertoire qui se trouve dans un autre répertoire.
Le répertoire contenant le sous–répertoire s’appelle le répertoire parent.
Chaque répertoire possède une entrée pour le répertoire parent dans lequel il a été créé, ..
(point point), et une entrée pour le répertoire lui–même, . (point). Dans la plupart des listes
de répertoires, ces fichiers sont cachés.
Arborescence de répertoire
La structure d’un système de fichiers peut rapidement devenir complexe.
Essayez de ne pas la surcharger. Veillez en outre à donner aux fichiers et
aux répertoires des noms évocateurs. Votre travail en sera facilité.
Répertoire parent
Chaque répertoire, à l’exception de /(racine), possède un répertoire parent
et peut avoir des répertoires enfants.
Répertoire personnel
Lorsque vous vous connectez, vous vous trouvez dans votre répertoire
personnel (répertoire de connexion). Il est défini par l’administrateur pour
chaque utilisateur. C’est dans ce répertoire que vous conservez vos
fichiers. Normalement, les répertoires que vous créez pour votre usage
personnel sont des sous–répertoires de votre répertoire personnel. Pour
revenir à tout moment à votre répertoire personnel, entrez la commande cd
et appuyez sur Entrée à l’invite.
Répertoire de travail
Vous travaillez toujours dans le cadre d’un répertoire. Ce répertoire, quel
qu’il soit, est appelé répertoire courant ou de travail. La commande pwd
(present working directory) affiche le nom du répertoire courant. Utilisez la
commande cd pour changer les répertoires de travail.
Conventions d’appellation des répertoires
Le nom d’un répertoire doit être unique dans le répertoire qui le contient. Ainsi, à chaque
répertoire ne correspond qu’un seul chemin d’accès dans le système de fichiers. Les noms
de répertoires suivent les mêmes conventions que les fichiers, explicitées à la section
Conventions d’appellation des fichiers, page 7-4.
Abréviations des répertoires
Les abréviations sont un moyen pratique de spécifier certains répertoires. En voici la liste :
Abréviation
Signification
.
Répertoire de travail courant.
..
Répertoire au–dessus (parent) du répertoire de travail courant.
~
Votre répertoire personnel. (Ceci n’est pas vrai pour le shell Bourne.
Pour plus d’informations, reportez–vous à la section Shell Bourne :
généralités, page 12-70.)
$HOME
Votre répertoire personnel. (Ceci est vrai pour tous les shells.)
Systèmes de fichiers et répertoires
6-7
Chemins d’accès au répertoire
L’accès à chaque fichier ou répertoire d’un système de fichiers se fait par un chemin unique,
appelé chemin d’accès, qui en indique l’emplacement. Le chemin d’accès spécifie
l’emplacement d’un répertoire ou d’un fichier dans le système de fichiers.
Remarque : Les chemins d’accès ne peuvent dépasser 1023 caractères.
Les types de chemins d’accès suivants sont associés au système de fichiers :
chemin d’accès absolu
chemin à partir du répertoire /(root). Les
chemins d’accès absolus commencent
toujours par le signe / (barre oblique).
chemin d’accès relatif
chemin à partir du répertoire courant vers
les sous–répertoires et fichiers en aval.
Un chemin d’accès absolu est constitué de la liste complète des noms de répertoire ou de
fichier situés en amont, à partir du répertoire /(root). Quel que soit l’endroit où vous vous
trouvez dans le système de fichiers, vous pouvez atteindre un répertoire ou un fichier en
spécifiant son chemin d’accès absolu. Ce chemin doit obligatoirement commencer par le
signe / (barre oblique), symbole du répertoire racine. Le chemin d’accès /A/D/9 est le
chemin absolu vers 9. La première / (barre oblique) représente le répertoire /(root), point de
départ de la recherche. Le reste du chemin oriente la recherche vers A, puis D et enfin 9.
Il peut y avoir deux fichiers nommés 9 car le chemin d’accès absolu donne à chaque fichier
un nom unique à l’intérieur du système de fichiers. Les chemins /A/D/9 et /C/E/G/9
spécifient deux fichiers distincts appelés (9).
En revanche, les chemins d’accès relatifs indiquent l’accès à un répertoire ou à un fichier
basé sur le répertoire de travail courant. Pour ce type de chemin d’accès, vous pouvez
utiliser la notation .. (point point) pour remonter dans la hiérarchie du système de fichiers.
Ces deux points successifs représentent le répertoire parent. De ce fait, les chemins
d’accès relatifs ne commencent pas par le signe/ (barre oblique). Ils donnent accès à un
fichier du répertoire courant ou à un fichier ou répertoire situé en amont ou en aval du
répertoire courant dans le système de fichiers. Si D est le répertoire actuel, le nom de
chemin relatif pour accéder à 10 est F/10. Néanmoins, le chemin d’accès absolu est
toujours /A/D/F/10. De la même manière, le chemin d’accès relatif pour accéder à 3
est../../B/3.
Vous pouvez également utiliser la notation . (point). La notation par point est couramment
employée pour exécuter des programmes qui doivent lire le nom du répertoire courant.
6-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Procédures de gestion des répertoires
Vous pouvez utiliser les répertoires et leur contenu de plusieurs façons.
Cette section présente les différentes commandes, avec des exemples:
•
Création d’un répertoire (commande mkdir), page 6-9
•
Déplacement ou changement de nom d’un répertoire (commande mvdir), page 6-9
•
Affichage du répertoire courant (commande pwd), page 6-10
•
Changement de répertoire (commande cd), page 6-10
•
Copie de répertoires (commande cp), page 6-11
•
Affichage du contenu d’un répertoire (commande ls), page 6-11
•
Suppression ou retrait d’un répertoire (commande rmdir), page 6-13
•
Comparaison de répertoires (commande dircmp), page 6-14
Création de répertoires (commande mkdir)
Utilisez la commande mkdir pour créer un ou plusieurs répertoires définis par le paramètre
Répertoire. Chaque répertoire ainsi créé contient les entrées standard (.) (point) et (..) (point
point). Vous pouvez définir des droits d’accès au répertoire via l’indicateur –m mode.
Le répertoire est créé dans le répertoire en cours ou le répertoire de travail, à moins que
vous ne spécifiez un nom de chemin d’accès absolu pour désigner un autre emplacement
du système de fichiers.
Les exemples ci–après illustrent les différentes utilisations de la commande mkdir :
• Pour créer un répertoire appelé Test dans le répertoire de travail en cours et disposant
des droits d’accès par défaut, entrez la commande :
mkdir Test
• Pour créer un répertoire appelé Test doté des droits rwxr–xr–x dans le répertoire
/home/demo/sub1 créé au préalable, entrez :
mkdir –m 755 /home/demo/sub1/Test
• Pour créer un répertoire appelé Test doté des droits d’accès par défaut, dans le
répertoire /home/demo/sub2, entrez :
mkdir –p /home/demo/sub2/Test
L’indicateur –p crée les répertoires /home, /home/demo et /home/demo/sub2 s’ils
n’existent pas.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
mkdir dans le manuel AIX 5L Version 5.3 Commands Reference.
Déplacement ou changement de nom d’un répertoire
(commande mvdir)
Pour déplacer ou renommer un répertoire, utilisez la commande mvdir.
Les exemples ci–après illustrent les différentes utilisations de la commande mkdir :
• Pour déplacer un répertoire, entrez :
mvdir book manual
Le répertoire book est déplacé dans le répertoire manual, si celui-ci existe. Sinon,
le répertoire book est renommé en manuel.
• Pour déplacer et renommer un répertoire, entrez :
mvdir book3 proj4/manual
Systèmes de fichiers et répertoires
6-9
Le répertoire book3 est déplacé vers le répertoire proj4 qui est renommé en manual
(si ce nom de répertoire n’est pas déjà utilisé).
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
mvdir dans le manuel AIX 5L Version 5.3 Commands Reference.
Affichage du répertoire courant (commande pwd)
La commande pwd écrit, sur l’unité de sortie standard, le chemin d’accès absolu du
répertoire courant (en commençant par le répertoire /(racine)). Tous les répertoires sont
séparés par une barre oblique (/). Le répertoire /(racine) est représenté par la première
barre /, le dernier répertoire indiqué étant le répertoire courant.
Par exemple, pour afficher le répertoire en cours, entrez :
pwd
Le nom du chemin d’accès complet du répertoire en cours s’affiche de la manière suivante :
/home/thomas
Changement de répertoire (commande cd)
Utilisez la commande cd pour passer du répertoire actuel à un autre répertoire. Pour cela,
vous devez disposer des droits d’exécution (recherche) dans le répertoire spécifié.
Si vous omettez de définir le paramètre Répertoire, la commande cd vous ramène à votre
répertoire de connexion ($HOME dans les environnements ksh et bsh ou $home dans
l’environnement csh). Si le nom du répertoire spécifié est un nom de chemin complet, il
devient le répertoire en cours. Un chemin d’accès complet commence par une barre oblique
(/) indiquant le répertoire /(racine), par un point (.) indiquant le répertoire courant ou par
point point (..) indiquant le répertoire parent. Si le nom du répertoire n’est pas un nom de
chemin entier, la commande cd le recherche en fonction d’un des chemins précisés dans
la variable shell $CDPATH (ou la variable $cdpath csh). Cette variable possède la même
syntaxe et sensiblement la même valeur sémantique que la variable shell $PATH
(ou la variable $path csh).
Les exemples ci–après illustrent les différentes utilisations de la commande cd :
• Pour accéder à votre répertoire personnel, entrez :
cd
• Pour passer au répertoire /usr/include, entrez :
cd /usr/include
• Pour passer au sous–répertoire sys, entrez :
cd sys
Si le répertoire courant /usr/include contient le sous–répertoire sys,
alors /usr/include/sys devient le répertoire courant.
• Pour remonter d’un niveau dans l’arborescence, entrez :
cd ..
Le nom de fichier spécial, point point (..), désigne le répertoire se trouvant
immédiatement au–dessus du répertoire en cours, à savoir son répertoire parent.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande cd
dans le manuel AIX 5L Version 5.3 Commands Reference.
6-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Copie de fichiers (commande cp)
Utilisez la commande cp pour copier le contenu du fichier ou du répertoire spécifié dans les
paramètres FichierSource ou RépertoireSource dans le fichier ou dans le répertoire spécifié
par les paramètres FichierCible ou RépertoireCcible. Si le fichier défini comme FichierCible
existe, son contenu est écrasé lors de la copie. Pour copier plusieurs fichiers source, la
cible doit être un répertoire.
Pour copier le FichierSource dans un répertoire, indiquez, dans le paramètre
RépertoireCible, le chemin d’accès à ce répertoire. Les fichiers conservent leurs noms
respectifs lorsqu’ils sont copiés dans un répertoire, à moins que vous n’indiquiez un
nouveau nom de fichier à la fin du chemin. Si vous lui associez l’indicateur –r ou –R,
la commande cp copie également des répertoires entiers dans d’autres répertoires.
Les exemples ci–après illustrent les différentes utilisations de la commande cp :
• Pour copier tous les fichiers du répertoire /home/accounts/customers/orders dans
le répertoire cible /home/accounts/customers/shipments, entrez la commande :
cp /home/accounts/customers/orders/* /home/accounts/customers/shipments
Cette commande copie les fichiers, mais pas les répertoires, du répertoire orders
dans le répertoire shipments.
• Pour copier un répertoire, ainsi que tous ses fichiers et sous–répertoires, dans un autre
répertoire, saisissez la commande suivante :
cp –R /home/accounts/customers /home/accounts/vendors
Le répertoire customers, avec ses fichiers et ses sous–répertoires (et les fichiers
que ces derniers contiennent), est copié dans le répertoire vendors.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande cp
dans le manuel AIX 5L Version 5.3 Commands Reference.
Affichage du contenu d’un répertoire (commande ls)
Utilisez la commande ls pour afficher le contenu d’un répertoire.
La commande ls écrit, sur l’unité de sortie standard, le contenu des Répertoires ou le nom
des Fichiers spécifiés, ainsi que les informations demandées via les indicateurs. A défaut de
paramètre Fichier ou Répertoire, la commande ls affiche le contenu du répertoire courant.
Par défaut, la commande ls affiche toutes les informations alphabétiquement par nom de
fichier. Si la commande est lancée par un utilisateur racine, l’indicateur par défaut est –A et
affiche toutes les entrées sauf . (point) et .. (point point). Pour afficher toutes les entrées
des fichiers, y compris celles qui commencent par un point (.), utilisez la commande ls –a.
Vous pouvez formater la sortie de plusieurs façons :
• une entrée par ligne, avec l’indicateur–l ;
• plusieurs entrées dans plusieurs colonnes, avec l’indicateur –C ou –x. L’indicateur –C
est le format par défaut quand la sortie se fait vers un terminal tty.
• des entrées séparées par des virgules, avec l’indicateur –m.
Systèmes de fichiers et répertoires
6-11
Pour déterminer le nombre de caractères par ligne sur l’unité de sortie, la commande ls
utilise la variable d’environnement $COLUMNS. Si cette variable n’est pas définie, la
commande lit le fichier terminfo. Si aucune de ces méthodes ne donne de résultat, elle
adopte par défaut la valeur 80.
Les informations affichées avec les indicateurs –e et –l sont interprétées comme suit :
Le premier caractère peut être :
d
l’entrée est un répertoire.
b
l’entrée est un fichier bloc spécial.
c
l’entrée est un fichier caractères spécial.
l
l’entrée est un lien symbolique.
c
l’entrée est un fichier FIFO (first in, first out) spécial.
s
l’entrée est un socket local.
–
l’entrée est un fichier ordinaire.
Les neuf caractères suivants sont répartis en trois ensembles de trois caractères chacun.
Les trois premiers caractères indiquent les droits du propriétaire. Les trois caractères
suivants indiquent les droits des autres utilisateurs du groupe. Les trois derniers caractères
indiquent les droits de toute autre personne ayant accès au fichier. Chaque caractère d’un
groupe de 3 correspond aux droits d’accès en lecteur, écriture et exécution. Le droit
d’exécution sur un répertoire confère le droit d’y rechercher un fichier donné.
Les droits sont indiqués comme suit :
r
accès en lecture.
t
seul le propriétaire du répertoire ou du fichier peut supprimer ou renommer un fichier
dans ce répertoire, même si les autres utilisateurs ont un droit d’écriture sur ce
répertoire.
w
accès en écriture (édition).
x
accès en exécution (recherche).
–
accès correspondant refusé.
Les informations affichées avec l’indicateur –e sont identiques à celles affichées avec
l’indicateur –l, à l’exception de l’ajout du 11ème caractère suivant :
+
Il indique un fichier doté d’informations de sécurité étendues. Par exemple,
le fichier peut comporter les attributs ACL, TCB ou TP dans le mode.
–
Il indique un fichier non doté d’informations de sécurité étendues.
Lorsque la taille des fichiers d’un répertoire est affichée, la commande ls affiche le
décompte total de blocs, blocs indirects compris.
Voir les exemple ci–après :
• Pour afficher la liste de tous les fichiers du répertoire courant, entrez :
ls –a
Cette liste comporte tous les fichiers, y compris : les fichiers .
– (point),
– les fichiers .. (point point),
– les autres fichiers commençant ou non par un . (point).
6-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
• Pour afficher des informations détaillées, entrez :
ls–l chap1.profile
Une liste exhaustive fournissant des informations complètes sur chap1 et .profile
s’affiche.
• Pour afficher des informations détaillées sur un répertoire, entrez :
ls –d –l . manual manual/chap1
Une liste exhaustive concernant les répertoires . (point) et manual s’affiche avec le
fichier manual/chap1. Sans indicateur –d, la commande afficherait la liste des fichiers
des répertoires . (point) et manual et non des informations complètes sur les
répertoires eux–mêmes.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande ls
dans le manuel AIX 5L Version 5.3 Commands Reference.
Suppression ou retrait d’un répertoire (commande rmdir)
La commande rmdir supprime du système le répertoire spécifié par le paramètre
Répertoire. Pour pouvoir être retiré, ce répertoire doit être vide (il ne peut contenir
que . et ..) et vous devez disposer des droits en écriture sur le répertoire parent
correspondant. Utilisez la commande ls –a Répertoire pour vérifier s’il est vide.
Les exemples ci–après illustrent les différentes utilisations de la commande rmdir :
• Pour vider et supprimer un répertoire, entrez :
rm mydir/* mydir/.*
rmdir mydir
Le contenu de mydir est supprimé, puis le répertoire lui–même. La commande rm
affiche un message d’erreur concernant la suppression des répertoires . (point) et ..
(point point). La commande rmdir supprime ensuite le répertoire.
Remarque :
La commande rm mydir/* mydir/.* supprime d’abord les fichiers dont le
nom ne commence pas par un point, puis ceux dont le nom commence
par un point. La commande ls n’affiche pas la liste des fichiers
commençant par un point sauf si vous utilisez l’indicateur –a.
• Pour supprimer le répertoire /tmp/jones/demo/mydir et les sous–répertoires qu’il
contient, entrez :
cd /tmp
rmdir –p jones/demo/mydir
Le répertoire jones/demo/mydir est supprimé du répertoire /tmp. Si un répertoire n’est
pas vide et que vous ne disposez pas des droits en écriture sur celui–ci lorsqu’il est
supprimé, la commande génère les messages d’erreur appropriés.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
mkdir dans le manuel AIX 5L Version 5.3 Commands Reference.
Systèmes de fichiers et répertoires
6-13
Comparaison de répertoires (commande dircmp)
La commande dircmp compare les deux répertoires spécifiés par Répertoire1 et
Répertoire2 et écrit des informations relatives à leur contenu sur l’unité de sortie standard.
Elle compare d’abord les noms des fichiers de chaque répertoire. Lorsqu’elle rencontre
deux fichiers portant le même nom, elle compare leur contenu.
Dans la sortie, la commande dircmp répertorie les fichiers uniques figurant dans chaque
répertoire. Elle dresse ensuite la liste des fichiers portant des noms identiques dans les
deux répertoires, mais ayant un contenu différent. Si aucune option n’est spécifiée, la
commande répertorie également les fichiers aux contenus et aux noms identiques dans
les deux répertoires.
Les exemples ci–après illustrent les différentes utilisations de la commande dircmp :
• Pour récapituler les différences entre les fichiers des répertoires proj.ver1 et proj.ver2,
entrez :
dircmp proj.ver1 proj.ver2
Le récapitulatif généré liste les différences entre les répertoires proj.ver1 et proj.ver2.
La synthèse répertorie séparément les fichiers figurant dans un répertoire, puis dans
l’autre et enfin ceux figurant dans les deux répertoires. Ces derniers sont en outre
différenciés selon que leur contenu est identique ou non.
• Pour afficher en détail les différences entre les fichiers des répertoires proj.ver1 et
proj.ver2, entrez :
dircmp –d –s proj.ver1 proj.ver2
L’indicateur –s supprime les informations relatives à des fichiers identiques. L’indicateur
–d affiche les fichiers différents trouvés dans les deux répertoires dans la liste diff.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
dircmp dans le manuel AIX 5L Version 5.3 Commands Reference.
6-14
AIX Guide de l’utilisateur – Système d’exploitation et unités
Récapitulatif des commandes pour les Systèmes de fichiers
et les répertoires
Système de fichiers
df
Donne des informations sur l’espace disponible dans les systèmes
de fichiers.
Abréviations des répertoires
.
Répertoire de travail courant
..
Répertoire “au–dessus” (parent) du répertoire de travail courant.
~
Votre répertoire personnel. (Ceci n’est pas vrai pour le shell Bourne.
Pour plus d’informations, reportez–vous à la section Shell Bourne :
généralités, page 12-70.)
$HOME
Répertoire personnel (valable pour tous les shells).
Procédures de gestion des répertoires
cd
Passe à un autre répertoire.
cp
Copie des fichiers ou des répertoires.
dircmp
Compare deux répertoires, ainsi que le contenu de leurs fichiers
communs.
ls
Affiche le contenu d’un répertoire.
mkdir
Crée un ou plusieurs répertoires.
mvdir
Déplace (ou renomme) un répertoire.
pwd
Affiche le chemin d’accès au répertoire de travail.
rmdir
Supprime un répertoire.
Systèmes de fichiers et répertoires
6-15
6-16
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 7. Fichiers
Dans le système d’exploitation, toutes les entrées/sorties (E/S) d’informations passent par
des fichiers. Ceci permet de standardiser l’accès aux logiciels et au matériel. On parle
d’entrée lorsqu’il y a modification ou écriture dans le contenu d’un fichier. On parle de sortie
lorsque le contenu d’un fichier est lu ou transféré vers un autre fichier. Par exemple, lorsque
qu’une sortie papier d’un fichier est demandée, le système lit le contenu du fichier et le
copie dans le fichier représentant l’imprimante.
Ce chapitre traite des points suivants :
• Types de fichiers, page 7-3.
– Conventions d’appellation des fichiers, page 7-4
– Chemins d’accès aux fichiers, page 7-4
– Caractères génériques et métacaractères, page 7-5
– Recherche générique et expressions régulières, page 7-6
• Procédures de gestion de fichier, page 7-7
– Suppression de fichiers (commande rm), page 7-7
– Déplacement et changement de nom d’un fichier (commande mv), page 7-8
– Copie de fichiers (commande cp), page 7-8
– Recherche de fichiers (commande find), page 7-9
– Affichage du type d’un fichier (commande file), page 7-10
– Affichage du contenu d’un fichier (commandes pg, more, page et cat), page 7-11
– Recherche de chaînes dans un fichier texte (commande grep), page 7-12
– Tri des fichiers texte (commande sort), page 7-13
– Comparaison de fichiers (commande diff), page 7-13
– Décompte des mots, des lignes et des octets d’un fichier (commande wc), page 7-14
– Affichage des premières lignes d’un fichier (commande head), page 7-14
– Affichage des dernières lignes d’un fichier (commande tail), page 7-14
– Coupe de sections de fichiers texte (commande cut), page 7-15
– Collage de sections de fichiers texte (commande paste), page 7-15
– Numérotation des lignes d’un fichier texte (commande nl), page 7-17
– Suppression de colonnes dans un fichier texte (commande colrm), page 7-17
• Liaison entre fichiers et répertoires, page 7-18
– Types de liens, page 7-18
– Liaison de fichiers (commande ln), page 7-19
– Suppression de fichiers liés, page 7-20
Fichiers
7-1
• Fichiers DOS, page 7-21
– Copie les fichiers DOS dans des fichiers de système
d’exploitation de base, page 7-21
– Copie des fichiers de système d’exploitation de base
dans des fichiers DOS, page 7-21
– Suppression de fichiers DOS, page 7-22
– Affichage du contenu d’un répertoire DOS, page 7-22
• Récapitulatif des commandes relatives aux fichiers, page 7-23
7-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
Types de fichiers
Voici les types de fichiers de base :
standard
fichier de données (texte, binaire ou exécutable)
répertoire
fichier contenant des informations permettant d’accéder à d’autres
fichiers
spécial
fichier de chaînage FIFO (first-in, first-out) ou unité physique
Les types de fichier reconnus par le système relèvent obligatoirement d’une de ces trois
catégories. Il existe cependant à l’intérieur de ces catégories de nombreuses variantes.
Fichiers standard
Les fichiers standard sont les fichiers les plus courants, ils sont utilisés pour stocker des
données. Les fichiers standard sont de la même forme que les fichiers texte ou binaires :
Fichiers texte
Les fichiers texte sont des fichiers réguliers stockés dans le format texte ASCII et lisibles
par l’utilisateur. Vous pouvez les afficher et les imprimer. Les lignes d’un fichier texte ne
doivent pas comporter de caractères NUL, et ne doivent pas excéder la longueur de
{LINE_MAX} octets, caractère de nouvelle ligne compris.
Le terme fichier texte n’interdit pas la présence de caractères de contrôle et autres
caractères non imprimables (autres que NUL). En conséquence, les utilitaires standard
d’affichage des fichiers texte, en entrée ou en sortie, soit sont capables de traiter ces
caractères spéciaux, soit décrivent explicitement les limites de leur action.
Fichiers binaires
Les fichiers binaires sont des fichiers standard, interprétés par le système. Les fichiers
binaires peuvent être des fichiers exécutables donnant des instructions au système. Les
commandes et les programmes sont stockées dans des fichiers binaires. La conversion
textes ASCII/codes binaires est effectuée par des compilateurs.
Les fichiers texte et binaire diffèrent sur un unique point, les fichiers texte contiennent des
lignes de longueur inférieure à {LINE_MAX} octets, pas de caractères NUL et chaque
ligne se termine par un caractère de nouvelle ligne.
Fichiers répertoire
Les fichiers répertoire comportent des informations que le système requiert pour accéder à
tous les types de fichiers, mais ils ne contiennent pas de données sur le fichier en cours.
Par conséquent, il occupe moins d’espace que les autres types de fichiers et confère au
système de fichiers souplesse et puissance. Chaque entrée de répertoire représente un
fichier ou un sous–répertoire. Chaque entrée comporte le nom du fichier et le numéro de
référence du nœud d’index du fichier (i–node number). Le numéro d’i–node désigne
l’unique nœud index attribué au fichier. Le numéro d’i–node décrit l’emplacement des
données associées au fichier. Les répertoires sont créés et contrôlés par un ensemble de
commandes séparées.
Fichiers
7-3
Fichiers spéciaux
Les fichiers spéciaux définissent les unités pour le système, ou sont des fichiers
temporaires générés par les process. Les types de fichiers spéciaux de base sont des
fichiers FIFO (premier entré, premier sorti), bloc ou caractères. Les fichiers FIFO sont
également appelés fichiers de chaînage. Les fichiers de chaînage sont créés par un
process afin de permettre une communication temporaire avec un autre process. Ces
fichiers cessent d’exister lorsque le premier process se termine. Les fichiers bloc et
caractères définissent des unités.
A chaque fichier sont associés des droits d’accès (dits modes d’accès), déterminant les
utilisateurs habilités à le lire, le modifier ou l’exécuter.
Reportez-vous à ”Modes d’accès aux fichiers et aux répertoires”, page10-4.
Conventions d’appellation des fichiers
Il ne peut y avoir, dans un même répertoire, deux fichiers enregistrés sous le même nom.
Ainsi, à chaque fichier ne correspond qu’un seul chemin d’accès dans le système de
fichiers. Pour nommer un fichier, voici quelques règles à respecter :
• Le nom ne peut excéder 255 caractères (lettres, chiffres et traits de soulignement).
• Le système d’exploitation respecte la disctinction entre les minuscules et les majuscules
dans les noms de fichiers. Par conséquent, FICHEA, FiChea et fichea sont trois noms
de fichiers distincts, même s’ils se trouvent dans le même répertoire.
• Choisissez des noms ”parlants”.
• Les noms de répertoires doivent respecter les mêmes conventions.
• Certaines caractères ont une signification spéciale pour le système d’exploitation.
Evitez de les utiliser dans les noms de vos fichiers. En voici une liste (non exhaustive) :
/ \ ” ’ * ; – ? [ ] ( ) ~ ! $ { } < > # @ & |
• Un nom de fichier est caché de la liste normale d’un répertoire s’il commence par un
point (.). Lorsque la commande ls est entrée avec l’indicateur –a, les fichiers cachés
sont répertoriés avec les autres fichiers et répertoires.
Chemins d’accès aux fichiers
Le chemin d’accès à un fichier ou à un répertoire est constitué de la liste des répertoires
situés en amont dans l’arborescence des répertoires.
Tous les chemins étant issus du répertoire racine /(root), chaque fichier est associé de
façon unique à ce répertoire, par un nom de chemin absolu. Un chemin d’accès absolu
commence toujours par le symbole / (barre oblique). Par exemple, le nom de chemin absolu
du fichier h pourrait être /B/C/h. Veuillez noter que deux fichiers de nom h peuvent exister
dans le système. Comme les chemins absolus des deux fichiers sont différents /B/h et
/B/C/h, chaque fichier h possède un nom unique dans le système. Chaque composant d’un
nom de chemin d’accès est un répertoire, excepté le dernier élément. Le dernier élément du
nom de chemin d’accès peut être un nom de fichier.
Remarque : Les chemins d’accès ne peuvent dépasser 1023 caractères.
7-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Concordance avec un modèle à l’aide de caractères de remplacement
et de métacaractères
Les caractères de remplacement constituent une méthode pratique pour spécifier de
multiples noms de fichiers ou répertoires. Les deux caractères de remplacement sont
l’astérisque ( * ) et le point d’interrogation ( ? ). Les métacaractères sont les crochets
ouverts et fermés ( [ ] ), le tiret ( – ) et le point d’exclamation ( ! ).
Recherche de concordances avec le caractère de remplacement *
L’astérisque ( * ) remplace une séquence ou une chaîne quelconque de caractères.
L’astérisque (*) désigne tout caractère, y compris aucun caractère.
Voir les exemple ci–après :
• Si, par exemple, votre répertoire contient les fichiers :
1test 2test afile1 afile2 bfile1 file file1 file10 file2 file3
et que vous souhaitez seulement vous reporter aux fichiers commençant par file,
spécifiez :
file*
La sélection portera sur les fichiers : file file1 file10 file2 file3.
• Pour rechercher les fichiers contenant le mot file, spécifiez :
*file*
La sélection portera sur les fichiers : afile1 afile2 bfile1 file file1 file10 file2 file3.
Recherche de concordances avec le caractère de remplacement ?
Utilisez le point d’interrogation ? pour remplacer un caractère quelconque. Le caractère ?
indique n’importe quel caractère unique.
Voir les exemple ci–après :
• Pour rechercher uniquement les fichiers commençant par file, suivis d’un seul caractère,
spécifiez :
file?
La sélection portera sur les fichiers : file1 file2 file3.
• Pour rechercher uniquement les fichiers commençant par file, suivis de deux caractères,
spécifiez :
file??
La sélection portera sur le fichier : file10.
Fichiers
7-5
Recherche de concordances avec les métacaractères shell [ ]
Les métacaractères sont une alternative aux caractères de remplacement. Il s’agit
d’encadrer les caractères souhaités par des crochets [ ]. La méthode est semblable à
l’utilisation de ?, mais là, vous précisez les caractères qui doivent concorder. Vous pouvez
aussi, à l’aide d’un tiret (–), spécifier une plage de valeurs. Pour spécifier toutes les lettres
de l’alphabet, indiquez [[:alpha:]]. Pour spécifier toutes les lettres minuscules de
l’alphabet, indiquez [[:lower:]].
Voir les exemple ci–après :
• Pour rechercher uniquement les fichiers se terminant par 1 ou 2, spécifiez :
*file[12]
La sélection portera sur les fichiers : afile1 afile2 file1 file2.
• Pour référencer uniquement les fichiers commençant par un chiffre, spécifiez :
[0123456789]*
ou
[0–9]*
La sélection portera sur les fichiers : 1test 2test.
• Pour rechercher uniquement les fichiers ne commençant pas par un a, spécifiez :
[!a]*
La sélection portera sur les fichiers : 1test 2test bfile1 file file1 file10 file2 file3.
Concordance avec un modèle et expressions régulières
Les expressions régulières permettent de sélectionner des chaînes dans un ensemble
spécifique de chaînes de caractères. Leur usage est généralement associé à un traitement
de texte.
Les expressions régulières peuvent représenter un large éventail de chaînes possibles.
Alors que ces expressions peuvent être diversement interprétées selon l’environnement
local, les fonctions d’internationalisation assurent l’invariance du contexte au niveau des
différents environnements locaux.
Voir les exemples dans les comparaisons suivantes :
Concordance avec un modèle
*
.*
?
.
[!a]
[^a]
[abc]
[abc]
[[:alpha:]]
[[:alpha:]]
Expression régulière
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande awk
dans le manuel AIX 5L Version 5.3 Commands Reference.
7-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Procédures de gestion de fichier
Travailler sur des fichiers couvre de multiples tâches. Le plus souvent, vous créez un fichier
texte à l’aide d’un éditeur. Les éditeurs les plus courants dans l’environnement UNIX sont
les éditeurs vi et ed. Etant donné que plusieurs éditeurs de texte sont disponibles,
choisissez celui qui vous convient le mieux.
Vous pouvez également créer des fichiers en réacheminant des entrées/sorties, comme
décrit dans Réacheminement des entrées/sorties, page 5-1. La sortie d’une commande
peut ainsi être envoyée dans un nouveau fichier ou ajoutée à un fichier existant.
Les fichiers créés et modifiés peuvent ensuite être copiés dans un autre répertoire et,
renommés pour en distinguer les différentes versions. Vous serez sans doute également
amené à créer des répertoires si vous travaillez sur plusieurs projets.
Il vous faudra aussi supprimer certains fichiers. Votre répertoire peut rapidement être
encombré de fichiers contenant des informations inutiles ou anciennes. Pour libérer de
l’espace sur votre système, assurez vous d’effacer les fichiers qui ne sont plus nécessaires.
Ce chapitre traite des points suivants :
•
Suppression de fichiers (commande rm), page 7-7
•
Déplacement et changement de nom d’un fichier (commande mv) à la page 7-8
•
Copie de fichiers (commande cp), page 7-8
•
Recherche de fichiers (commande find), page 7-9
•
Affichage du type d’un fichier (commande file), page 7-10
•
Affichage du contenu d’un fichier (commandes pg, more, page et cat), page 7-11
•
Recherche de chaînes dans un fichier texte (commande grep), page 7-12
•
Tri des fichiers texte (commande sort), page 7-13
•
Comparaison de fichiers (commande diff), page 7-13
•
Décompte des mots, des lignes et des octets d’un fichier (commande wc), page 7-14
•
Affichage des premières lignes d’un fichier (commande head), page 7-14
•
Affichage des dernières lignes d’un fichier (commande tail), page 7-14
•
Coupe de sections de fichiers texte (commande cut), page 7-15
•
Collage de sections de fichiers texte (commande paste), page 7-15
•
Numérotation des lignes d’un fichier texte (commande nl), page 7-17
•
Suppression de colonnes dans un fichier texte (commande colrm), page 7-17
Suppression de fichiers (commande rm)
Utilisez la commande rm pour supprimer des fichiers. La commande rm supprime les
entrées du fichier spécifié, d’un groupe de fichiers ou de certains fichiers sélectionnés dans
un répertoire. Pour utiliser la commande rm, il n’est pas nécessaire de disposer des droits
d’accès en écriture et en lecture sur le fichier et aucune confirmation de l’utilisateur n’est
demandée. Cependant, vous devez disposer des droits d’accès en écriture sur le répertoire
contenant le fichier.
Les exemples ci–après illustrent les différentes utilisations de la commande rm :
• Pour supprimer le fichier nommé myfile, entrez :
rm myfile
• Pour supprimer, un par un, tous les fichiers du répertoire mydir, entrez :
rm –i mydir/*
Fichiers
7-7
Lorsque chaque nom de fichier apparaît, saisissez y et appuyez sur Entrée pour
supprimer le fichier. Ou, pour conserver le fichier, appuyez seulement sur la touche
Entrée.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande rm
dans le manuel AIX 5L Version 5.3 Commands Reference.
Déplacement et changement de nom d’un fichier (commande mv)
Utilisez la commande mv pour déplacer les fichiers et répertoires d’un répertoire dans un
autre ou renommer un fichier ou un répertoire. Si vous déplacez un fichier ou un répertoire
dans un nouveau répertoire sans spécifier de nouveau nom, l’élément déplacé conserve
son nom d’origine.
Attention : Si vous omettez l’indicateur –i, la commande mv peut écraser de nombreux
fichiers. L’indicateur –i vous invite à confirmer avant que le fichier ne soit écrasé.
L’indicateur –f ne vous propose pas d’invite. Si les indicateurs –f et –i sont tous deux
spécifiés, le dernier indicateur spécifié est prioritaire.
Déplacement d’un fichier avec la commande mv
Les exemples ci–après illustrent les différentes utilisations de la commande mv :
• Pour déplacer un fichier dans un autre répertoire et lui attribuer un nouveau nom,
indiquez :
mv intro manuel/chap1
Le fichier intro est déplacé dans le répertoiremanual/chap1. Le nom intro est
supprimé du répertoire actuel et le même fichier apparaît sous le nom chap1 dans le
répertoire manual.
• Pour déplacer un fichier dans un autre répertoire en conservant son nom, entrez :
mv chap3 manual
Le fichier chap3 est déplacé vers manual/chap3.
Changement du nom d’un fichier avec la commande mv
Utilisez la commande mv pour changer le nom d’un fichier sans le déplacer vers un autre
répertoire.
Pour renommer un fichier, entrez :
mv appendix apndx.a
Le fichier appendix est renommé et s’appelle désormais apndx.a. Si un fichier de même
nom existe déjà, il est écrasé par le contenu du fichierappendix.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande mv
dans le manuel AIX 5L Version 5.3 Commands Reference.
Copie de fichiers (commande cp)
Utilisez la commande cp pour copier le contenu du fichier ou du répertoire spécifié dans les
paramètres SourceFile ou SourceDirectory dans le fichier ou dans le répertoire spécifié par
les paramètres TargetFile ou TargetDirectory. Si le TargetFile existe, son contenu est écrasé
lors de la copie, sans le moindre message d’avertissement. Pour copier plusieurs
SourceFile, la cible doit être un répertoire.
Si un fichier portant le même nom existe dans le répertoire de destination, le fichier copié
remplace le fichier existant du répertoire cible. Par conséquent, il est utile d’attribuer un
nouveau nom à la copie du fichier pour s’assurer qu’un fichier du même nom n’existe pas
encore dans le répertoire de destination.
Pour mettre une copie du FichierSource dans un répertoire, spécifiez un chemin d’accès à
un répertoire existant pour le paramètre RépertoireCible. Les fichiers conservent leur nom
d’origine, sauf si vous en spécifiez d’autres à la fin du chemin d’accès. La commande cp
7-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
copie également les répertoires entiers dans d’autres répertoires si vous spécifiez les
indicateurs –r ou –R.
Vous pouvez également copier des fichiers spéciaux d’unités à l’aide de l’indicateur –R. En
indiquant –R, les fichiers spéciaux sont recréés sous un nouveau nom de chemin d’accès.
En indiquant l’indicateur –r, la commande cp essaie de copier des fichiers spéciaux dans
des fichiers standard.
Les exemples suivants décrivent comment utiliser la commande cp :
• Pour copier un fichier du répertoire en cours, saisissez :
cp prog.c prog.bak
Appuyez sur Entrée.
Le fichier prog.c est copié dans le fichier prog.bak. Si le fichier prog.bak n’existe pas,
alors la commande cp le crée. S’il existe déjà, alors la commande cp le remplace par
une copie du fichier prog.c.
• Pour copier un fichier du répertoire en cours dans un autre répertoire, entrez :
cp jones /home/nick/clients
Le fichier jones est copié dans le répertoire /home/nick/clients/jones.
• Pour copier tous les fichiers d’un répertoire dans un nouveau répertoire, entrez :
cp /home/janet/clients/* /home/nick/customers
Seuls les fichiers du répertoire clients sont copiés dans le répertoire customers.
• Pour copier un ensemble spécifique de fichiers dans un autre répertoire, entrez :
cp jones lewis smith /home/nick/clients
Les fichiers jones, lewis et smith de votre répertoire de travail actuel sont copiés
dans le répertoire /home/nick/clients.
• Pour utiliser les métacaractères lors de la copie de fichiers, entrez :
cp programs/*.c .
Les fichiers du répertoire programs suffixé .c sont copiés dans le répertoire courant,
spécifié par le point (.). Notez que l’extension c et le point final doivent être séparés par
un espace.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande cp
dans le manuel AIX 5L Version 5.3 Commands Reference.
Recherche de fichiers (commande find)
Vous pouvez également utiliser la commande find pour effectuer une recherche récursive
dans l’arborescence des répertoires pour chaque Chemin d’accès spécifié, pour trouver les
fichiers correspondant à l’expression booléenne écrite à l’aide des termes donnés dans le
texte ci–après. La sortie de la commande find dépend des termes spécifiés par le
paramètre Expression.
Les exemples suivants décrivent comment utiliser la commande find :
• Pour afficher tous les fichiers .profile du système de fichiers, entrez :
find / –name .profile
Fichiers
7-9
Cette commande permet d’effectuer une recherche dans tout le système de fichiers et
écrit les noms de chemins complets de tous les fichiers .profile. La barre oblique
indique à la commande find de rechercher dans le répertoire /( root ) et dans tous ses
sous–répertoires.
Afin de gagner du temps, il est conseillé de limiter la recherche aux répertoires
susceptibles de contenir les fichiers recherchés.
• Pour répertorier les fichiers dotés d’un code de droit d’accès spécifique 0600 dans
l’arborescence en cours, saisissez :
find . –perm 0600
Les noms de fichiers possédant uniquement les droits d’accès en lecture et en écriture
du propriétaire sont alors affichés. Le point (.) indique à la commande find de rechercher
dans le répertoire courant et dans ses sous–répertoires. Pour obtenir des explications
sur les codes d’accès, veuillez vous reporter à la commande chmod.
• Pour rechercher dans plusieurs répertoires les fichiers dotés de certains codes de droit
d’accès, entrez :
find manual clients proposals –perm –0600
La commande répertorie ainsi les noms des fichiers dont les droits d’accès en lecture et
en écriture sont accordés à leur propriétaire et éventuellement dotés d’autres droits. La
recherche est effectuée dans les répertoires manual, clients et proposals ainsi que
dans leurs sous–répertoires. Dans l’exemple précédent, –perm 0600 sélectionne
uniquement les fichiers dont les codes de droits d’accès correspondent exactement à
0600. Dans cet exemple, –perm –0600 sélectionne les fichiers dont les codes de droits
d’accès permettent l’accès indiqué par 0600 et d’autres accès au–dessus du niveau
0600. Les codes 0622 et 2744 sont ainsi également concernés.
• Pour répertorier tous les fichiers du répertoire en cours ayant été modifiés au cours des
dernières 24 heures, saisissez :
find . –ctime 1
• Pour rechercher les fichiers standard comportant plusieurs liens, entrez :
find . –type f –links +1
Les noms de fichiers ordinaires ( –type f ) possédant plusieurs liens ( –links +1 ).
Remarque :
A chaque répertoire sont associés au moins deux liens : l’entrée dans
son répertoire parent et son entrée . (point). Pour plus d’informations
sur des liens de fichiers multiples, reportez–vous à la commande ln.
• Pour rechercher tous les fichiers dont la longueur est exactement de 414 octets,
saisissez :
find . –size 414c
Appuyez sur Entrée.
Reportez–vous à la commande find dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Affichage du type d’un fichier (commande file)
Vous pouvez également utiliser la commande file pour lire les fichiers spécifiés par le
paramètre File ou –f FileList, et réaliser une série de tests sur chacun de ces fichiers. La
commande tente de classer les fichiers par type. Elle envoie ensuite les types de fichiers
vers la sortie standard.
Si fichier semble s’afficher en ASCII, la commande file examine les 512 premiers octets et
détermine la langue du fichier. Si fichier ne semble pas s’afficher en ASCII, la commande
file tente de déterminer s’il s’agit d’un fichier de données binaires ou d’un fichier texte
contenant des caractères étendus.
7-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Si le paramètre File spécifie un exécutable ou un fichier de module d’objet et que le numéro
de version est supérieur à 0, la commande file affiche la version.
La commande file utilise le fichier /etc/magic pour identifier des fichiers comportant un
nombre magique, à savoir, tout fichier comportant une constante numérique ou une
constante de type chaîne définissant le type.
Les exemples suivants décrivent comment utiliser la commande file :
• Pour afficher le type des informations du fichier monfich, entrez :
file monfichier
Le type du fichier monfichier (par exemple, un répertoire, des données, du texte ASCII,
une source de programme C, ou archive).
• Pour afficher le type de chacun des fichiers spécifiés dans le fichier filenames.lst
(liste de noms de fichiers), entrez :
file –f filenames.lst
Le type de chaque fichier nommé dans le fichier filenames.lst est affiché.
Chaque nom de fichier doit être indiqué sur une ligne distincte.
• Pour créer le fichier filenames.lst qui contient tous les noms de fichiers du répertoire
courant, entrez :
ls > filenames.lst
Editez le fichier nomsfichiers si nécessaire.
Reportez–vous à la commande file dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Affichage du contenu d’un fichier (commandes pg, more, page et cat)
Les commandes pg, more et page permettent de visualiser le contenu d’un fichier et d’en
contrôler l’affichage. Vous pouvez également utiliser la commande cat pour afficher le
contenu d’un ou de plusieurs fichiers sur votre écran. En combinant la commande cat avec
la commande pg, vous pourrez lire le contenu d’un fichier en plein écran, un écran à la fois.
Vous pouvez également consulter le contenu des fichiers via les procédures de
réacheminement. Reportez–vous à Réacheminement des entrées/sorties, page 5-1 pour
plus de détails sur le réacheminement des entrées/sorties.
commande pg
Utilisez la commande pg pour lire les noms de fichiers spécifiés par le paramètre File et les
afficher page par page sur l’unité de sortie standard. Si vous spécifiez le tiret (–) comme
paramètre File ou exécutez la commande pg sans options, la commande pg lit les entrées
standard. Chaque écran est suivi d’une invite. Si vous appuyez sur Entrée, un autre écran
s’affiche. Des sous–commandes utilisées avec la commande pg permettent de revenir à un
écran antérieur.
Par exemple, pour consulter page par page le contenu du fichier monfich, entrez :
pg monfichier
Reportez–vous à la commande pg dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Commande more ou page
La commande more ou page affiche du texte continu écran par écran. Elle s’arrête après
chaque écran et affiche le nom de fichier et le pourcentage réalisé (par exemple,
monfichier (7%) ) au bas de l’écran. Si vous appuyez sur Entrée, la commande more
affiche une ligne supplémentaire. Si vous appuyez sur la barre d’espacement, la commande
more affiche un autre écran de texte.
Fichiers
7-11
Remarque : Sur certains modèles de terminaux, la commande more vide l’écran au lieu
de le faire défiler, avant d’afficher l’écran de texte suivant.
Par exemple, pour afficher le fichier monfich, entrez :
more monfichier
Appuyez sur la barre d’espacement pour passer à l’écran suivant.
Reportez–vous à la commande more dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
commande cat
Utilisez la commande cat pour lire séquentiellement les paramètres File et les écrire sur
l’unité de sortie standard.
Voir les exemple ci–après :
• Pour afficher le contenu du fichier notes, entrez :
cat notes
Si le fichier dépasse 24 lignes, le début défile sans que vous ayez le temps de le lire.
Pour obtenir un affichage page par page, utilisez la commande pg.
• Pour afficher le contenu des fichiers notes, notes2 et notes3, entrez :
cat notes notes2 notes3
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande cat
dans le manuel AIX 5L Version 5.3 Commands Reference.
Recherche de chaînes dans un fichier texte (commande grep)
Utilisez la commande grep pour rechercher, dans le fichier spécifié, l’expression générique
spécifiée par le paramètre Pattern et écrire chaque ligne correspondant à l’expression sur
l’unité de sortie standard.
Les exemples ci–après illustrent les différentes utilisations de la commande grep :
• Pour rechercher dans le fichier pgm.s les lignes correspondant à une expression
contenant des caractères de remplacement et des métacaractères (*, ^, ?, [, ], , , { et }),
ici les lignes commençant par une lettre (majuscule ou minuscule), entrez :
grep ”^[a–zA–Z]” pgm.s
Toutes les lignes du fichier pgm.s commençant par une lettre sont affichées.
• Pour afficher toutes les lignes d’un fichier sort.c qui ne correspondent pas à une
expression générique particulière, entrez :
grep –v bubble sort.c
Toutes les lignes du fichier sort.c ne contenant pas le mot bubble sont affichées.
• Pour afficher les lignes de la sortie de la commande ls contenant la chaîne staff, entrez :
ls –l | grep staff
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
grep dans le manuel AIX 5L Version 5.3 Commands Reference.
7-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
Tri des fichiers texte (commande sort)
Utilisez la commande sort pour trier par ordre alphabétique les lignes du (des) fichier(s)
spécifié(s) par le paramètre File et écrire le résultat sur l’unité de sortie standard. Si le
paramètre File spécifie plusieurs fichiers, la commande sort les concatène et trie le fichier
résultant.
Remarque :
La commande sort est sensible à la casse et place généralement les
majuscules avant les minuscules (cela peut varier en fonction des
paramètres régionaux).
Dans les exemples suivants, le contenu du fichier names est :
marta
denise
joyce
endrica
melanie
et le contenu du fichier states est :
texas
colorado
ohio
• Pour trier le contenu du fichier names, entrez :
sort names
Le système affiche des informations similaires à l’exemple suivant :
denise
endrica
joyce
marta
melanie
• Pour trier le contenu des deux fichiers names et states, entrez :
sort names states
Le système affiche des informations similaires à l’exemple suivant :
colorado
denise
endrica
joyce
marta
melanie
ohio
texas
• Pour remplacer le contenu du fichier names d’origine par son contenu trié, entrez :
sort –o names names
Le contenu du fichier names est remplacé par son contenu trié.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande sort
dans le manuel AIX 5L Version 5.3 Commands Reference.
Comparaison de fichiers (commande diff)
Utilisez la commande diff pour comparer des fichiers texte. Cette commande peut
comparer des fichiers isolés ou le contenu de répertoires.
Lorsque la commande diff est exécutée sur des fichiers standard ou lorsqu’elle compare
des fichiers texte dans des répertoires différents, la commande diff indique les lignes qui
présentent des différences dans les fichiers.
Les exemples ci–après illustrent les différentes utilisations de la commande diff :
• Pour comparer deux fichiers, entrez :
diff chap1.bak chap1
Fichiers
7-13
Les différences entre les chapitres chap1.bak et chap1 s’affichent.
• Pour comparer deux fichiers en ignorant les différences dues au nombre d’espaces,
entrez :
diff –w prog.c.bak prog.c
Deux lignes ne se distinguant que par le nombre d’espaces et de tabulations sont
considérées comme identiques par la commande diff–w.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande diff
dans le manuel AIX 5L Version 5.3 Commands Reference.
Décompte des mots, des lignes et des octets d’un fichier
(commande wc)
Utilisez la commande wc pour compter le nombre de lignes, de mots et d’octets des fichiers
spécifiés par le paramètre File. Si un fichier n’est pas spécifié pour le paramètre File,
l’entrée standard est utilisée. La commande écrit le résultat sur l’unité de sortie standard et
conserve un décompte total de tous les fichiers nommés. Si des indicateurs sont spécifiés,
leur ordre détermine celui de la sortie. Un mot est défini par une chaîne de caractères
délimitée par des espaces, des tabulations ou des caractères nouvelle ligne.
Si vous indiquez des fichiers sur la ligne de commande, leur nom est inscrit avec le
décompte.
Voir les exemple ci–après :
• Par exemple, pour afficher les décomptes en lignes, en mots et en octets du fichier
chap1, entrez :
wc chap1
Le nombre de lignes, de mots et d’octets du fichier chap1 est affiché.
• Pour afficher uniquement le nombre d’octets et de mots, entrez :
wc –cw chap*
Le nombre d’octets et de mots s’affiche dans chaque fichier dont le nom commence par
chap, et affiche les totaux.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande wc
dans le manuel AIX 5L Version 5.3 Commands Reference.
Affichage des premières lignes d’un fichier (commande head)
Utilisez la commande head pour écrire sur sortie standard les premières nouvelles lignes
des fichiers spécifiés ou de l’entrée standard. En l’absence d’indicateur, ce sont les 10
premières lignes qui sont affichées par défaut.
Par exemple, pour afficher les 5 premières lignes du fichier Test, entrez :
head –5 Test
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
head dans le manuel AIX 5L Version 5.3 Commands Reference.
Affichage des dernières lignes d’un fichier (commande tail)
Utilisez la commande tail pour écrire le fichier spécifié par le paramètre File sur une sortie
standard, en commençant à un point spécifié.
Voir les exemple ci–après :
• Pour afficher les 10 dernières lignes du fichier notes, entrez :
tail notes
• Pour préciser la ligne (en commençant par la fin) à partir de laquelle lire le fichier notes,
entrez :
7-14
AIX Guide de l’utilisateur – Système d’exploitation et unités
tail –20 notes
• Pour afficher le fichier notes page par page, à partir du 200ème octet, entrez :
tail –c +200 notes | pg
• Pour surveiller la taille du fichier accounts, entrez :
tail –f accounts
Les 10 dernières lignes du fichier accounts s’affichent. La commande tail affiche les
lignes au fur et à mesure qu’elles s’ajoutent au fichier de comptabilité. L’affichage se
poursuit tant que vous n’appuyez pas sur Ctrl–C pour l’interrompre.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande tail
dans le manuel AIX 5L Version 5.3 Commands Reference.
Coupe de sections de fichiers texte (commande cut)
Utilisez la commande cut pour écrire sur l’unité de sortie standard les octets, les caractères
ou les champs spécifiés, à partir de chaque ligne d’un fichier.
Voir les exemple ci–après :
• Pour afficher plusieurs champs de chaque ligne d’un fichier, entrez :
cut –f1,5 –d: /etc/passwd
Cette commande affiche les champs nom de connexion et nom utilisateur complet du
fichier mot de passe du système. Il s’agit des 1er et 5ème champs (–f1,5) séparés par
des deux points (–d:).
• Pour un fichier /etc/passwd semblable à :
su:*:0:0:User with special privileges:/:/usr/bin/sh
daemon:*:1:1::/etc:
bin:*:2:2::/usr/bin:
sys:*:3:3::/usr/src:
adm:*:4:4:System Administrator:/var/adm:/usr/bin/sh
pierre:*:200:200:Pierre Harper:/home/pierre:/usr/bin/sh
joan:*:202:200:Joan Brown:/home/joan:/usr/bin/sh
la commande cut génère :
su:User with special privileges
daemon:
bin:
sys:
adm:System Administrator
pierre:Pierre Harper
joan:Joan Brown
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande cut
dans le manuel AIX 5L Version 5.3 Commands Reference.
Collage de sections de fichiers texte (commande paste)
Utilisez la commande paste pour fusionner les lignes de plusieurs fichiers (12 au maximum)
dans un fichier unique.
Voir les exemple ci–après :
• Soit le fichier names contenant le texte :
rachel
jerry
mark
linda
scott
Fichiers
7-15
et un autre fichier nommé places contenant le texte suivant :
New York
Austin
Chicago
Boca Raton
Seattle
et un autre fichier nommé dates contenant le texte suivant :
February 5
March 13
June 21
July 16
November 4
Pour regrouper les fichiers names, places et dates, entrez :
paste names places dates > npd
Un fichier nommé npd est créé ; il contient les données du fichier names en première
colonne, celles du fichier places en deuxième colonne et celles du fichier dates en
troisième colonne. Le fichier npd contient maintenant les données suivantes :
rachel
jerry
mark
linda
scott
New York
Austin
Chicago
Boca Raton
Seattle
February 5
March 13
June 21
July 16
November 4
Un caractère de tabulation sépare le nom, l’emplacement et la date sur chaque ligne.
Ces colonnes ne sont pas alignées car les marques de tabulation sont définise à chaque
huitième colonne.
• Pour séparer les colonnes par un caractère autre qu’une tabulation, entrez :
paste –d”!@” names places dates > npd
Les caractères ! et @ séparent alternativement les données. Si les fichiers names,
places et dates sont les mêmes que dans l’exemple 1, le fichier npd apparaît sous la
forme :
rachel!New York@February 5
jerry!Austin@March 13
mark!Chicago@June 21
linda!Boca Raton@July 16
scott!Seattle@November 4
• Pour afficher le répertoire actuel en quatre colonnes, entrez :
ls | paste – – – –
Chaque tiret ( – ) indique à la commande paste de créer une colonne contenant des
données issues de l’unité d’entrée standard. La première ligne est affichée dans la
première colonne, la deuxième ligne dans la deuxième colonne, etc.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
paste dans le manuel AIX 5L Version 5.3 Commands Reference.
7-16
AIX Guide de l’utilisateur – Système d’exploitation et unités
Numérotation des lignes d’un fichier texte (commande nl)
Utilisez la commande nl pour lire le fichier spécifié (entrée standard par défaut),
numéroter les lignes et écrire celles–ci sur la sortie standard.
Voir les exemple ci–après :
• Pour numéroter uniquement les lignes qui ne sont pas vides, entrez :
nl chap1
Les lignes non vides du fichier chap1 s’affichent, numérotées.
• Pour numéroter toutes les lignes, entrez :
nl –ba chap1
Toutes les lignes du fichier chap1 sont numérotées, y compris les lignes vides.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande nl
dans le manuel AIX 5L Version 5.3 Commands Reference.
Suppression de colonnes dans un fichier texte (commande colrm)
Utilisez la commande colrm pour supprimer d’un fichier les colonnes spécifiées. L’entrée
est lue sur l’unité d’entrée standard. La sortie est envoyée vers l’unité de sortie standard.
Lancée avec un seul paramètre, la commande supprime de chaque ligne toutes les
colonnes à partir de la colonne spécifiée. Lancée avec deux paramètres, ce sont les
colonnes comprises entre les deux colonnes spécifiées qui sont supprimées.
Remarque : La numérotation des colonnes commence à 1.
Voir les exemple ci–après :
• Pour supprimer les colonnes du fichier text.fil, entrez :
colrm 6 < text.fil
Si text.fil contient :
123456789
la commande colrm affiche :
12345
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
colrm dans le manuel AIX 5L Version 5.3 Commands Reference.
Par exemple, le fichier /etc/passwd a la forme suivante :
Fichiers
7-17
Liaison entre fichiers et répertoires
Un lien est une connexion entre un nom de fichier et un numéro de référence de nœud
d’index (inode), représentation interne d’un fichier. Les entrées de répertoire pouvant
comporter des noms de fichiers appariés avec des i-nodes, chaque entrée de répertoire
constitue un lien. C’est son numéro d’i-node, et non son nom, qui permet d’identifier un
fichier. En utilisant les liens, tout numéro d’i-node ou fichier peut avoir plusieurs noms
différents.
Par exemple, l’i-node 798 contient un mémo sur les ventes de Juin de l’agence Omaha.
L’entrée de répertoire correspondante est la suivante:
Numéro d’i–node
Nom de fichier
798
memo
Comme ces informations font référence à celles stockées dans les répertoires sales
et omaha, la liaison permet de partager les informations si nécessaire. A l’aide de la
commande ln, des liens sont créés vers ces répertoires. Le fichier est alors référencé
sous trois noms :
Numéro d’i–node
Nom de fichier
798
memo
798
sales/june
798
omaha/junesales
Lorsque vous utilisez la commande pg ou cat pour visualiser le contenu d’un des trois
noms de fichier, les mêmes informations sont affichées. Si vous modifiez l’un de ces trois
fichiers, le contenu des deux autres est modifié en conséquence.
Types de liens
Les liens sont créés avec la commande ln et sont de types suivants :
lien fixe
Donne accès aux données d’un fichier par le biais
d’un nouveau nom de fichier. Un lien fixe assure
l’existence d’un fichier. Lorsqu’un lien fixe est
supprimé, le numéro d’i–node et ses données sont
également supprimés. Les liens fixes peuvent
uniquement être créés entre des fichiers qui sont
dans le même système de fichiers.
lien symbolique
Donne accès aux données d’autres systèmes de
fichiers par le biais d’un nouveau nom de fichier.
Un lien symbolique est un type particulier de fichier,
contenant un chemin d’accès. Lorsqu’un process
rencontre un lien symbolique, il recherche
éventuellement ce chemin. Les liens symboliques
ne protègent pas les fichiers de leur suppression du
système de fichiers.
Remarque : L’utilisateur qui crée un fichier en reste propriétaire quel que soit le nombre
de liens qui y sont rattachés. Seul le propriétaire du fichier ou l’utilisateur root peut définir
le mode d’accès à ce fichier. Cependant, des modifications peuvent être apportées au
fichier à partir d’un nom de fichier lié avec le mode d’accès approprié.
Un fichier ou un répertoire existe tant qu’il existe un lien fixe avec son i–node. Dans la
longue liste affichée par la commande ls –l, le nombre de liens fixes vers chaque fichier et
sous–répertoire est fourni. Tous les liens fixes sont équivalents pour le système : l’ordre de
leur création est indifférent.
7-18
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liaison de fichiers (commande ln)
Lier des fichiers via la commande ln permet de travailler sur les mêmes données en
plusieurs endroits. Les liaisons sont générées via l’attribution de noms différents au fichier
d’origine. L’utilisation de liaisons permet à plusieurs utilisateurs de partager un même fichier
de grande taille (une base de données ou une liste de diffusion, par exemple) sans qu’il soit
nécessaire de faire des copies de ce fichier. Les liaisons permettent d’économiser de
l’espace disque et présentent également l’avantage suivant : les modifications intégrées
dans un fichier sont automatiquement répercutées dans tous les fichiers liés.
La commande ln relie le fichier désigné sous le paramètre SourceFile au fichier désigné
sous le paramètre TargetFile ou au fichier de même nom dans un autre répertoire y spécifié
par le paramètre TargetDirectory. Par défaut, la commande ln crée des liens fixes. Pour
utiliser la commande ln afin de créer des liens symboliques, ajoutez l’indicateur –s.
Remarque : Vous devez absolument spécifier l’indicateur –s pour lier des fichiers entre
systèmes de fichiers.
Vous ne pouvez associer qu’un fichier à un nouveau nom. Vous pouvez cependant en
associer plusieurs à un répertoire.
Le paramètre TargetFile est facultatif. Si vous ne désignez pas de fichier cible, la
commande ln crée un fichier dans votre répertoire actuel. Le nouveau fichier hérite du nom
du fichier désigné sous le paramètre SourceFile.
Voir les exemple ci–après :
• Pour créer une liaison vers un fichier nommé chap1, entrez :
ln –f chap1 intro
Le fichier chap1 est relié au nom intro. Avec l’indicateur –f, le nom de fichier intro est
créé s’il n’existe pas. Si intro existe, le fichier est remplacé par une liaison vers chap1.
Les noms de fichiers chap1 et intro désignent le même fichier.
• Pour relier un fichier nommé index au même nom dans un autre répertoire nommé
manual, entrez :
ln index manual
Le fichier index est relié au nom manual/index.
• Pour lier plusieurs fichiers à des noms dans d’autres répertoires, entrez :
ln chap2 jim/chap3 /home/manual
chap2 est lié à /home/manual/chap2 et jim/chap3 à /home/manual/chap3.
• Pour utiliser la commande ln avec des caractères de remplacement, entrez :
ln manual/* .
Remarque : Vous devez séparer l’astérisque du point par un espace. Tous les fichiers
contenus dans le répertoire manual sont liés dans le répertoire actuel, dot (.). Les
fichiers ont le même nom que dans le répertoire manual.
• Pour créer un lien symbolique, entrez :
ln –s /tmp/toc toc
Le lien symbolique toc est créé dans le répertoire courant. Le fichier toc pointe sur le
fichier /tmp/toc. Si le fichier /tmp/toc existe, la commande cat toc affiche son
contenu.
• Pour obtenir le même résultat sans préciser le paramètre TargetFile, entrez :
ln –s /tmp/toc
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande ln
dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers
7-19
Suppression de fichiers liés
Utilisez la commande rm pour supprimer le lien du nom de fichier indiqué. Lorsque l’un des
noms de fichiers à lien fixe est supprimé, le fichier n’est pas complètement supprimé
puisqu’il reste sous l’autre nom. Ce n’est qu’à la suppression du dernier lien à l’i–node que
les données sont supprimées. Le numéro d’i–node correspondant est alors libéré.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande rm
dans le manuel AIX 5L Version 5.3 Commands Reference.
7-20
AIX Guide de l’utilisateur – Système d’exploitation et unités
Fichiers DOS
Le système d’exploitation AIX vous permet de gérer des fichiers DOS sur votre système. Il
vous suffit de copier les fichiers DOS voulus sur une disquette. Votre système peut lire ces
fichiers dans un répertoire de système d’exploitation de base dans le format approprié, et
sur la disquette sous format DOS.
Remarque : Les caractères génériques * et ? (astérisque et point d’interrogation) ne
sont pas admis pour les commandes concernées dans cette section (bien qu’ils soient
acceptés par le shell). Si vous ne spécifiez pas d’extension de nom de fichier, vous
aurez une extension vide.
Copie les fichiers DOS dans des fichiers de système d’exploitation
de base
La commande dosread copie le fichier DOS spécifié dans le fichier de système
d’exploitation de base indiqué.
Remarque : Les conventions d’appellation des fichiers s’appliquent, à une exception
près. Comme la barre oblique inversée (\) peut avoir une signification particulière pour
le système d’exploitation de base, utilisez la barre oblique (/) comme délimiteur pour
spécifier des noms de sous–répertoire dans les noms de chemin DOS.
Voir les exemple ci–après :
• Pour copier un fichier texte nommé chap1.doc à partir d’une disquette DOS vers
le système de fichiers du système d’exploitation de base, entrez :
dosread –a chap1.doc chap1
Le fichier texte DOS \CHAP1.DOC de l’unité par défaut /dev/fd0 est copié sur le fichier
système de base chap1 dans le répertoire actuel.
• Pour copier un fichier binaire à partir d’une disquette DOS sur le système de fichiers du
système d’exploitation de base, entrez :
dosread –D/dev/fd0 /survey/test.dta /home/fran/testdata
Le fichier de données DOS \SURVEY\TEST.DTA de /dev/fd0 est copié sur le fichier du
système d’exploitation de base /home/fran/testdata.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
dosread dans le manuel AIX 5L Version 5.3 Commands Reference.
Copie de fichiers de système d’exploitation
de base dans des fichiers DOS
Utilisez la commande doswrite pour copier le fichier de système d’exploitation de base
dans le fichier DOS spécifié.
Remarque : Les conventions DOS d’appellation des fichiers s’appliquent, à une
exception près : étant donné que la barre oblique inverse (\) peut avoir une significations
spéciale dans le système d’exploitation de base, utilisez une barre oblique (/) comme
caractère délimiteur pour spécifier les noms de sous–répertoires dans un chemin
d’accès DOS.
Voir les exemple ci–après :
• Pour copier un fichier texte nommé chap1 du système de fichiers du système
d’exploitation de base sur une disquette DOS, entrez :
doswrite –a chap1 chap1.doc
Le fichier du système d’exploitation de base chap1 du répertoire actuel est copié dans
le fichier texte DOSe \CHAP1.DOC de /dev/fd0.
Fichiers
7-21
• Pour copier un fichier binaire nommé /survey/test.dta sur une disquette DOS depuis le
système de fichiers du système d’exploitation de base, entrez :
doswrite –D/dev/fd0 /home/fran/testdata /survey/test.dta
Le fichier de données du système d’exploitation de base /home/fran/testdata est copié
dans le fichier DOS \SURVEY\TEST.DTA sur /dev/fd0.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
doswrite dans le manuel AIX 5L Version 5.3 Commands Reference.
Suppression de fichiers DOS
Utilisez la commande dosdel pour supprimer le fichier DOS spécifié.
Remarque : Les conventions d’appellation des fichiers s’appliquent, à une exception
près. Comme la barre oblique inversée (\) peut avoir une signification particulière pour le
système d’exploitation de base, utilisez la barre oblique (/) comme délimiteur pour
spécifier des noms de sous–répertoire dans les noms de chemin DOS.
La commande dosdel convertit en majuscules les minuscules apparaissant dans le nom du
fichier ou du répertoires avant de vérifier le disque. Tous les chemins d’accès étant
supposés absolus (et non relatifs), la barre oblique (/) initiale est inutile.
Par exemple, pour supprimer un fichier DOS intitulé file.ext de l’unité par défaut (/dev/fd0),
entrez :
dosdel file.ext
Reportez–vous à la commande dosdel dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Affichage du contenu d’un répertoire DOS
Utilisez la commande dosdir pour afficher des informations sur les fichiers ou répertoires
DOS spécifiés.
Remarque : Les conventions d’appellation des fichiers s’appliquent, à une exception
près. Comme la barre oblique inversée (\) peut avoir une signification particulière pour le
système d’exploitation de base, utilisez la barre oblique (/) comme délimiteur pour
spécifier des noms de sous–répertoire dans les noms de chemin DOS.
La commande dosdir convertit en majuscules les minuscules apparaissant dans le nom du
fichier ou du répertoires avant de vérifier le disque. Tous les chemins d’accès étant
supposés absolus (et non relatifs), la barre oblique initiale (/) est inutile.
Par exemple, pour lire un répertoire des fichiers DOS sur l’unité /dev/fd0, entrez :
dosdir
La commande affiche le nom des fichiers, et la taille de l’espace disponible,
comme dans l’exemple suivant.
PG3–25.TXT
PG4–25.TXT
PG5–25.TXT
PG6–25.TXT
Espace libre : 312320 octets
Reportez–vous à la commande dosdir dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
7-22
AIX Guide de l’utilisateur – Système d’exploitation et unités
Récapitulatif des commandes relatives aux fichiers
*
Caractère générique utilisé pour remplacer un ou plusieurs
caractères
?
Caractère générique utilisé pour remplacer un seul caractère
[]
Métacaractères utilisés pour remplacer des caractères inclus
Procédures de gestion de fichier
cat
Concatène ou affiche des fichiers
cmp
Compare deux fichiers
colrm
Extrait des colonnes d’un fichier
cp
Copie des fichiers
cut
Ecrit des octets, des caractères ou des champs sélectionnés de
chaque ligne d’un fichier
diff
Compare des fichiers texte
file
Détermine le type de fichier
find
Recherche des fichiers avec une expression correspondant
grep
Recherche un fichier pour un modèle
head
Affiche les premières lignes ou les premiers octets d’un ou de
plusieurs fichiers
more
Affiche du texte continu un écran à la fois
mv
Déplace des fichiers
nl
Numérote les lignes dans un fichier
pg
Formate les fichiers à l’affichage
rm
Retire (délie) des fichiers ou des répertoires
paste
Fusionne les lignes de plusieurs fichiers ou des lignes qui se suivent
dans un fichier
page
Affiche du texte continu un écran à la fois
sort
Trie les fichiers, fusionne les fichiers déjà triés et vérifie si les fichiers
ont été triés
tail
Envoie un fichier vers la sortie standard en commençant à un endroit
spécifique
wc
Compte le nombre de lignes, de mots et d’octets dans un fichier
Fichiers
7-23
Liaison entre fichiers et répertoires
ln
Relie fichiers et répertoires
Fichiers DOS
7-24
dosdel
Supprime des fichiers DOS
dosdir
Répertorie le répertoire des fichiers DOS
dosread
Copie les fichiers DOS dans des fichiers de système d’exécution
de base
doswrite
Copie les fichiers de système d’exécution de base dans des fichiers
DOS
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 8. Imprimantes, travaux d’impression
et files d’attente
Vous pouvez, en fonction de l’imprimante, contrôler la présentation et les caractéristiques
des sorties papier. L’imprimante, d’une part, la console et l’unité centrale, d’autre part,
peuvent se trouver dans des lieux distincts. L’imprimante peut être directement connectée
à un système local, mais un travail d’impression peut également être envoyé via un réseau
à un système distant.
Pour gérer les travaux d’impression avec un maximum d’efficacité, le système place chaque
travail dans une file d’attente, jusqu’à ce que l’imprimante soit disponible. Un ou plusieurs
travaux peuvent ainsi se trouver en file d’attente : Comme l’imprimante produit la sortie à
partir d’un fichier, le système traite la prochaine tâche dans la file d’attente. Ce process
continue jusqu’à l’impression de chaque tâche dans la file d’attente.
Pour des informations détaillées sur les imprimantes, les travaux d’impression ou les files
d’attente, reportez–vous au manuel AIX 5L Version 5.3 Imprimantes et impression – Guide
de l’utilisateur.
Ce chapitre traite des points suivants :
• Terminologie relative à l’impression, page 8-2
• Lancement d’un travail d’impression (commande qprt), page 8-5
• Annulation d’un travail d’impression (commande qcan), page 8-10
• Priorité d’un travail d’impression (commande qpri), page 8-11
• Déplacement d’un travail d’impression dans une autre file d’attente d’impressiozln
(commande qmov), page 8-12
• Blocage et libération d’un travail d’impression (commande qhld), page 8-13
• Contrôle de l’état d’un travail d’impression (commande qchk), page 8-14
• Formatage des fichiers à imprimer (commande pr), page 8-16
• Impression de fichiers ASCII sur une imprimante PostScript, page 8-18
• Automatisation de la conversion ASCII–PostScript, page 8-20
• Annulation de la détermination automatique des types de fichier d’impression, page 8-21
• Récapitulatif des commandes relatives à l’impression, page 8-22
Imprimantes, travaux d’impression et files d’attente
8-1
Terminologie relative à l’impression
Voici une définition des principaux termes relatifs à l’impression.
imprimante locale
Lorsque vous branchez une imprimante sur un nœud ou sur un hôte, elle est dite
imprimante locale.
travail d’impression
Un travail d’impression est une unité de travail destinée à l’imprimante. Il peut être
constitué d’un ou de plusieurs fichiers, selon la demande émise. Le système affecte
un numéro unique à chaque travail qu’il exécute.
spouleur d’impression
Le spouleur utilisé pour l’impression offre une fonction de traitement différé
générique, permettant la mise en file d’attente de différents types de travaux,
y compris des travaux d’impression. Le spouleur ne ”sait” normalement pas quel
type de travail est mis en attente. Lorsque l’administrateur définit une file d’attente,
son objet est déterminé par le programme expéditeur spécifié pour la file d’attente.
Par exemple, si ce programme est la commande piobe (programme d’entrée E/S
de l’imprimante), la file d’attente sera une file d’impression.
De même, si le programme expéditeur est un compilateur, il s’agit d’une file d’attente
de travaux à compiler. Lorsque la commande qdaemon du spouleur sélectionne un
travail de la file, il exécute le travail en appelant le programme expéditeur spécifié par
l’administrateur lors de la définition de la file d’attente.
enq est la principale commande du spouleur. Pour placer un travail d’impression en
file d’attente, vous pouvez directement invoquer cette commande, mais vous avez
trois autres commandes frontales à disposition : Les commandes lp, lpr et qprt.
Une demande émise par le biais d’une de ces commandes est d’abord transmise au
programme enq, lequel place les informations sur le fichier dans la file d’attente, en
vue de son traitement par le process qdaemon.
Programme expéditeur de l’imprimante
Le programme expéditeur de l’imprimante est un ensemble de programmes appelés
par la commande qdaemon du spouleur pour traiter un travail en attente
d’impression. Ce programme :
. reçoit de la commande qdaemon la liste des fichiers à imprimer ;
. applique les attributs imprimante et de formatage issus de la base de données,
éventuellement remplacés par les indicateurs spécifiés sur la ligne de commande ;
. initialise l’imprimante avant d’imprimer un fichier ;
. lance au besoin les filtres requis pour convertir le flux des données dans un format
pris en charge par l’imprimante ;
. fournit les filtres requis pour le formatage simple des documents ASCII ;
. assure le support des caractères nationaux ;
. transmet les données d’impression filtrées au pilote de l’unité d’impression ;
. génère les pages de début et de fin ;
. génère les exemplaires multiples ;
. signale les incidents (absence de papier, intervention requise, erreur imprimante,
etc.) ;
8-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
. signale les incidents décelés par les filtres ;
. effectue un nettoyage après l’annulation d’un travail d’impression ;
. fournit un environnement d’impression, personnalisable par l’administrateur
système.
unité d’imprimante/de traceur
Fichier spécifique figurant dans le répertoire /dev de l’unité. Ce fichier peut être utilisé
par la fonction de réacheminement (par exemple, cat FileName >/dev/lp0).
Pour modifier et afficher les paramètres du pilote d’unité, vous pouvez utiliser
Web–based System Manager (entrez wsm, puis sélectionnez Devices) ou les
commandes lsdev et chdev. Pour que les commandes de l’imprimante puissent
accéder à une unité d’impression, une file d’attente d’impression doit être créée pour
l’unité, ou l’imprimante doit être configurée dans le programme expéditeur de
l’imprimante dans /etc/qconfig.
qdaemon
qdaemon est un process d’arrière–plan qui contrôle les files d’attente. Il est
généralement initié par la commande startsrc lorsque le système est activé. startsrc
est un process associé au démon srcmstr qui est initié par la commande
/etc/inittab.
qdaemon assure le suivi des requêtes d’impression dans le répertoire
/var/spool/lpd/qdir et veille à ce que les travaux soient dirigés sur l’imprimante
adéquate et au moment opportun. Il assure aussi le suivi de l’état des imprimantes et
enregistre les données concernant l’utilisation des imprimantes pour la comptabilité
du système (pour les commandes lpstat et enq –A, par exemple). Ces données sont
consignées dans le répertoire /var/spool/lpd/stat.
Quand qdaemon est arrêté, il est relancé par le processus srcmstr.
Remarque : N’interrompez pas srcmstr ; il contrôle d’autres démons actifs sur
le système.
file d’attente
La file d’attente est l’endroit vers lequel sont dirigés les travaux d’impression. Il s’agit
d’une strophe dans le fichier /etc/qconfig dont le nom correspond à celui de la file
d’attente. Elle désigne l’unité de file d’attente associée. En voici un exemple :
Msa1:
device = lp0
En général, les files d’attente sont créées via Web–based System Manager.
unité de file d’attente
La strophe relative à l’unité de file d’attente suit généralement celle relative à la file
d’attente locale dans le fichier /etc/qconfig. Elle indique le fichier /dev (unité
imprimante) destinataire de l’impression et le programme expéditeur à utiliser.
En voici un exemple :
lp0:
file = /dev/lp0
header = never
trailer = never
access = both
backend = /usr/lpd/piobe
Dans l’exemple précédent, lp0 est le nom de l’unité, les autres lignes définissant
son mode d’utilisation.
L’ajout d’une imprimante via Web–based System Manager (entrez wsm, puis
sélectionnez Devices) crée automatiquement une entrée pour une unité de file
d’attente standard dans une file d’attente existante.
Imprimantes, travaux d’impression et files d’attente
8-3
Remarques :
1. Plusieurs unités de file d’attente peuvent être associées à une seule file
d’attente.
2. Si vous utilisez une imprimante distante, il n’y a pas d’entrée particulière dans
le fichier /etc/qconfig. La file d’attente dirige le fichier vers le serveur.
imprimante réelle
Une imprimante réelle est l’imprimante matérielle connectée à un port série ou
parallèle à une adresse matérielle unique. Au niveau du noyau, le programme pilote
de l’imprimante communique avec l’imprimante matérielle pour lui fournir une
interface avec une imprimante virtuelle.
imprimante distante
Un système d’impression à distance donne aux noeuds non directement connectés
accès à l’imprimante.
Pour accéder à distance aux fonctions d’impression, les nœuds indépendants doivent
être connectés à un réseau via le protocole TCP/IP (Transmission Control
Protocol/Internet Protocol) ; ils doivent dans ce cas prendre en charge les
applications TCP/IP nécessaires.
imprimante virtuelle
Une imprimante virtuelle, généralement appelée définition d’imprimante virtuelle, est
un fichier contenant un ensemble de valeurs d’attribut décrivant un flux de données
spécifique pour une imprimante donnée. Avant qu’un travail d’impression puisse être
placé dans une file d’attente, une définition d’imprimante virtuelle doit exister à la fois
pour la file d’attente d’impression et pour l’unité de file d’attente. Reportez–vous à la
commande mkvirprt pour plus d’informations.
8-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Lancement d’un travail d’impression (commande qprt)
Utilisez la commande qprt ou smit pour lancer un travail d’impression et spécifier
les éléments suivants :
• Nom du fichier à imprimer
• Nom de la file d’attente d’impression
• Nombre de copies à imprimer
• Copie du fichier sur l’hôte distant ?
• Fichier à effacer après l’impression ?
• Notifier l’état du travail d’impression ?
• Notifier l’état du travail d’impression via la messagerie ?
• Impression continue ou non
• Nom utilisateur pour l’étiquette ‘Delivery To’ (destinataire)
• Message d’accusé de réception de la console pour l’imprimante distante
• Message d’accusé de réception du fichier pour l’imprimante distante
• Niveau de priorité
Préalables
• Pour les travaux d’impression locaux, l’imprimante doit être connectée physiquement
au système, ou, si vous utilisez une imprimante de réseau, configurée et connectée
au réseau.
• Pour les travaux d’impression distants, le système doit être configuré pour communiquer
avec le serveur d’impression distant.
• Pour imprimer un fichier, vous devez disposer des droits de lecture sur ce fichier.
Pour supprimer un fichier imprimé, vous devez disposer des droits d’écriture sur le
répertoire où il est stocké.
Utilisation de la commande qprt
La commande qprt crée et place en file d’attente un travail d’impression afin d’imprimer le
fichier indiqué. Si vous indiquez plusieurs fichiers, l’ensemble de ces fichiers forme un seul
travail d’impression. Les fichiers sont imprimés dans l’ordre indiqué sur la ligne de
commande.
Le format de base de la commande qprt est :
qprt –Pnom_file nom_fichier
Imprimantes, travaux d’impression et files d’attente
8-5
Vous pouvez ajouter différents indicateurs à la commande qprt :
–b Nombre
Définit la marge en bas de page. Elle est représentée par
le nombre de lignes laissées vierges en bas des pages.
–B Valeur
Spécifie le mode d’impression des pages en continu
(séparables au niveau des pointillés). La variable Valeur
est une chaîne à deux caractères. Le premier caractère
s’applique aux pages d’en–tête. Le second caractère
s’applique aux pages d’en–queue. Vous leur donnez la valeur
souhaitée :
a
Imprime toujours la page (d’en–tête ou d’en–queue) sur les
travaux d’impression.
ur
N’imprime jamais la page (d’en–tête ou d’en–queue).
g
Imprime la page (d’en–tête ou d’en–queue) une seule fois
par travail d’impression (groupe de fichiers). Par exemple,
–B ga spécifie l’impression d’une page d’en–tête au début
de chaque travail et d’une page d’en–queue à la fin de
chaque fichier pour chaque travail d’impression.
Remarque : En environnement d’impression distant,
la valeur par défaut est déterminée à distance par la file
d’attente du serveur.
–e Option
Indique si l’impression est demandée avec enrichissement
de texte.
+
L’enrichissement de texte est demandé.
!
L’enrichissement de texte n’est pas demandé.
–E Option
Indique si l’impression est demandée en double hauteur.
+
L’impression est demandée en double hauteur.
!
L’impression en double hauteur n’est pas demandée.
–f TypeFiltre
Identificateur d’un caractère spécifiant un filtre par lequel les
fichiers doivent passer avant d’être envoyés à l’impression.
Les identificateurs disponibles sont p, qui sollicite le filtre pr
et n, qui traite les sorties résultant de la commande troff.
–i Nombre
Décale chaque ligne selon le nombre d’espaces indiqué.
La variable Nombre doit être intégrée à la largeur de page
indiquée par l’indicateur –w.
–K Option
Indique si l’impression condensée est demandée.
+
L’impression condensée est demandée.
!
L’impression condensée n’est pas demandée.
–l Nombre
8-6
Définit la longueur de la page selon le nombre de lignes
indiqué. Si la variable Nombre possède la valeur 0, la
longueur de page n’étant pas prise en compte, la sortie est
imprimée en continu. La longueur de page, tenant compte des
marges haut et bas, indique la taille imprimable du papier.
AIX Guide de l’utilisateur – Système d’exploitation et unités
–L Option
Indique si les lignes dépassant la largeur de page doivent être
envoyées à la ligne suivante ou tronquées à la marge de
droite.
+
La fin des lignes étendues passe à la ligne suivante.
!
Les lignes étendues sont tronquées au niveau de la marge
de droite.
–N Nombre
Indique le nombre d’exemplaires à imprimer. Sans cet
indicateur, un seul exemplaire est imprimé.
–p Nombre
Définit le pas (espacement) à nombre de caractères par
pouce. 10 et 12 sont des valeurs standard pour Nombre.
Le pas réel des caractères imprimés dépend aussi des
valeurs des indicateurs –K (texte condensé) et –W
(double largeur).
–P FileAttente
[: UnitéFileAttente ]
Désigne la file d’attente d’impression et (facultatif) l’unité de
file d’attente. Sans cet indicateur, l’imprimante désignée est
celle définie par défaut.
–Q Valeur
Spécifie le format du papier pour le travail d’impression
La valeur de la taille du papier dépend de l’imprimante.
1 pour le format lettre, 2 pour le format ’légal’, etc. Consultez
votre manuel d’imprimante pour les valeurs attribuées aux
formats de papier spécifiques.
–t Nombre
Définit la marge en haut de page. Définit la marge en haut de
page. Elle est représentée par le nombre de lignes laissées
vierges en haut des pages.
–w Nombre
Définit la largeur de page selon le nombre de caractères
indiqués dans la variable Nombre. La largeur doit tenir compte
de la valeur d’indentation spécifiée par l’indicateur –i.
–W Option
Indique si l’impression est demandée en double largeur.
+
L’impression est demandée en double largeur.
!
L’impression en double largeur n’est pas demandée.
Imprimantes, travaux d’impression et files d’attente
8-7
–z Valeur
Fait pivoter la sortie papier de l’imprimante du nombre de
quarts de tour (sens horaire) spécifié par la variable Valeur.
La longueur (–l) et la largeur (–w) sont automatiquement
ajustées en conséquence.
0
Portrait
1
Paysage à droite
2
Portrait à l’envers
3
Paysage à gauche.
–# Valeur
Indique une fonction spécifique.
j
Affiche le numéro du travail d’impression spécifié
h
Place le travail en attente, mais à l’état HELD (bloqué)
jusqu’à ce qu’il soit libéré.
v
Valide les valeurs des indicateurs du programme expéditeur
de l’imprimante. Cette validation sert notamment à détecter
les indicateurs illégaux au moment de soumettre un travail
d’impression. Si la validation n’est pas définie, un travail
d’impression assorti d’un indicateur incorrect ne sera
interrompu qu’ultérieurement, en cours de traitement.
Les exemples suivants décrivent l’utilisation des indicateurs de commande qpri :
• Pour imprimer le fichier myfile sur la première imprimante disponible configurée pour la
file d’attente d’impression par défaut et avec les valeurs définies par défaut, entrez :
qprt myfile
• Pour imprimer le fichier myfile sur une file d’attente d’impression donnée, avec des
indicateurs spécifiques et pour valider ces indicateurs au moment où le travail sera
envoyé en impression, entrez :
qprt –f p –e + –Pfastest –# v somefile
Le fichier myfile est traité par la commande du filtre pr (indicateur –f p) puis imprimé en
mode enrichissement de texte (indicateur –e +) sur la première imprimante disponible
configurée pour la file d’attente fastest (indicateur –Pfastest).
• Pour imprimer myfile sur une page au format légal, entrez :
qprt –Q2 myfile
• Pour imprimer trois exemplaires de chacun des fichiers new.index.c, print.index.c et
more.c sur la file d’attente Msp1, entrez :
qprt –PMsp1 –N 3 new.index.c print.index.c more.c
8-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
• Pour imprimer trois exemplaires de la concaténation des trois fichiers new.index.c,
print.index.c et more.c, entrez :
cat new.index.c print.index.c more.c | qprt –PMsp1 –N 3
Remarque : Le système d’exploitation de base prend aussi en charge la commande
d’impression UNIX BSD (lpr) et celle d’UNIX System V (lp). Reportez–vous aux
descriptions des commandes lpr et lp dans le manuel AIX 5L Version 5.3 Commands
Reference pour plus d’informations et pour obtenir des détails sur la syntaxe.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande qprt
dans le manuel AIX 5L Version 5.3 Commands Reference.
Commande smit
Pour lancer un travail d’impression via SMIT, entrez :
smit qprt
Imprimantes, travaux d’impression et files d’attente
8-9
Annulation d’un travail d’impression (commande qcan)
Cette section explique comment annuler un travail d’impression dans la file d’attente
d’impression. Lors de l’annulation, vous êtes invité à fournir le nom de la file d’attente
d’impression où est contenu le travail et le numéro de travail à annuler.
La procédure décrite s’applique aux travaux d’impression traités localement et à distance.
Préalables
• Pour les travaux d’impression locaux, l’imprimante doit être connectée physiquement au
système, ou, si vous utilisez une imprimante de réseau, configurée et connectée au
réseau.
• Pour les travaux d’impression distants, le système doit être configuré pour communiquer
avec le serveur d’impression distant.
Web–based System Manager
Pour annuler un travail d’impression à l’aide du raccourci Web–based System Manager,
entrez :
wsm printers
Dans la fenêtre d’impressions en attente, sélectionnez le travail d’impression,
puis utilisez les menus pour l’annuler d’une file d’attente d’impression.
Utilisation de la commande qcan
La commande qcan permet d’annuler un travail spécifique d’une file d’impression locale ou
distante ou tous les travaux d’une file d’attente d’impression locale. Pour déterminer le
travail, entrez la commande qchk.
Le format de base de la commande qcan est le suivant :
qcan –PQueueName –x JobNumber
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
qcan dans le manuel AIX 5L Version 5.3 Commands Reference.
Les exemples suivants décrivent l’utilisation de la commande qcan :
• Pour annuler le travail 123 quelle que soit l’imprimante sur laquelle ce travail s’effectue,
entrez :
qcan –x 123
• Pour annuler tous les travaux en attente sur l’imprimante lp0, entrez :
qcan –X –Plp0
Remarque : Le système d’exploitation de base prend également en charge la
commande d’annulation d’impression UNIX BSD (lprm) et la commande d’annulation
d’impression d’UNIX System V (cancel). Pour plus d’informations et pour obtenir des
détails sur la syntaxe, reportez–vous aux descriptions des commandes lprm et cancel
dans le manuel AIX 5L Version 5.3 Commands Reference.
Commande smit
Pour annuler un travail d’impression via SMIT, entrez :
smit qcan
8-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Priorité d’un travail d’impression (commande qpri)
Cette section indique comment modifier la priorité affectée à un travail d’impression. Vous
pouvez affecter les priorités voulues sur les files locales. Plus la valeur est élevée, plus la
priorité est grande. La valeur par défaut est 15. La priorité maximale est 20 pour la plupart
des utilisateurs et 30 pour les utilisateurs avec des privilèges racine et les membres du
groupe printq (groupe 9).
Remarque : Vous ne pouvez pas attribuer de priorité aux travaux d’impression traités
à distance.
Préalables
L’imprimante doit être connectée physiquement au système.
Web–based System Manager
Pour modifier la priorité d’un travail d’impression en attente à l’aide de Web–based System
Manager, entrez wsm, puis sélectionnez Printers.
Sélectionnez le travail voulu dans la fenêtre, puis affectez–lui une priorité dans une file
locale via les menus proposés.
Commande qpri
Utiliser la commande qpri pour réaffecter la priorité d’un travail d’impression que vous avez
soumis. Si vous êtes utilisateur racine ou faites partie du groupe printq, vous pouvez
affecter une priorité à n’importe quel travail d’impression en file d’attente.
Le format de base de la commande qpri est :
qpri –# JobNumber –a PriorityLevel
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande qpri
dans le manuel AIX 5L Version 5.3 Commands Reference.
Les exemples suivants décrivent comment utiliser la commande qpri :
• Pour attribuer au numéro de travail 123 la priorité 18, entrez :
qpri –# 123 –a 18
• Pour donner la priorité à un travail d’impression local au moment de soumettre ce travail,
entrez :
qprt –PQueueName –R PriorityLevel FileName
Commande smit
Pour changer la priorité d’un travail d’impression via SMIT, entrez :
smit qpri
Imprimantes, travaux d’impression et files d’attente
8-11
Déplacement d’un travail d’impression dans une autre file
d’attente d’impression (commande qmov)
Cette section décrit le déplacement d’un travail d’impression vers une autre file d’attente.
Remarque : vous ne pouvez pas déplacer vers une autre file d’attente un travail
d’impression traité à distance.
Préalables
L’imprimante doit être connectée physiquement au système.
Web–based System Manager
Pour déplacer un travail d’impression vers une autre file d’attente d’impression à l’aide de
Web–based System Manager, entrez wsm, puis sélectionnez Printers.
Dans la fenêtre Printer Queues, sélectionnez le travail d’impression, puis déplacez–le d’une
file d’attente vers une autre via les menus proposés.
Utilisation de la commande qmov
Utilisez la commande qmov pour déplacer un travail d’impression d’une file d’attente à une
autre. Vous pouvez déplacer un travail d’impression particulier ou déplacer tous les travaux
d’impression d’une file d’attente d’impression spécifiée ou encore tous les travaux
d’impression envoyés par un utilisateur spécifié. Pour déterminer le numéro du travail
d’impression, entrez la commande qchk. Pour en savoir plus, reportez–vous à commande
qchk, page 8-14.
Le format de base de qmov est :
qmov
–mNewQueue {[ –#JobNumber ] [ –PQueue ] [ –uUser ]}
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
qmov dans le manuel AIX 5L Version 5.3 Commands Reference.
Les exemples suivants décrivent l’utilisation de la commande qmov :
• Pour déplacer le travail 280 vers la file d’attente d’impression hp2, entrez :
qmov –mhp2 –#280
• Pour déplacer tous les travaux d’impression de la file d’attente d’impression hp4D vers
la file d’attente d’impression hp2, entrez :
qmov –mhp2 –Php4D
Commande smit
Pour déplacer un travail d’impression via SMIT, entrez :
smit qmov
8-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
Blocage et libération d’un travail d’impression
(commande qhld)
Cette section décrit le blocage d’un travail d’impression envoyé dans la file d’attente
d’impression. Par la suite, pour libérer les travaux bloqués, utilisez les mêmes commandes.
Remarque : Vous ne pouvez pas bloquer ou libérer les travaux d’impression traités
à distance.
Préalables
L’imprimante doit être connectée physiquement au système.
Web–based System Manager
Pour bloquer ou libérer un travail d’impression à l’aide de Web–based System Manager,
entrez wsm, puis sélectionnez Printers.
Dans la fenêtre Printer Queues, sélectionnez le travail d’impression puis utilisez les menus
pour le bloquer ou le libérer.
Utilisation de la commande qhld
La commande qhld permet de bloquer un travail d’impression placé dans la file d’attente.
Il est possible de mettre en suspens un travail d’impression particulier ou tous les travaux
d’impression d’une file d’attente spécifiée. Pour déterminer le numéro du travail
d’impression, entrez la commande qchk. Pour en savoir plus, reportez–vous à la
description de la commande qchk, page 8-14.
Le format de base de la commande qhld est :
qhld [ –r ] {[ –#JobNumber ] [ –PQueue ] [ –uUser ]}
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
qhld dans le manuel AIX 5L Version 5.3 Commands Reference.
Les exemples suivants décrivent l’utilisation de la commande qhld :
• Pour libérer le travail452 quelle que soit la file d’attente sur laquelle il se trouve,
entrez :
qhld –#452
• Pour libérer tous les travaux de la file d’attente hp2, entrez :
qhld –Php2
• Pour libérer le travail452 quelle que soit la file d’attente sur laquelle il se trouve,
entrez :
qhld –#452 –r
• Pour libérer tous les travaux de la file d’attente hp2, entrez :
qhld –Php2 –r
commande smit
Pour bloquer ou libérer un travail d’impression avec SMIT, entrez :
smit qhld
Imprimantes, travaux d’impression et files d’attente
8-13
Contrôle de l’état d’un travail d’impression (commande qchk)
Cette section décrit l’affichage des informations d’état en cours pour des travaux,
des files d’attente, des imprimantes ou des utilisateurs spécifiés.
Préalables
• Pour les travaux d’impression locaux, l’imprimante doit être connectée physiquement
au système, ou, si vous utilisez une imprimante de réseau, configurée et connectée au
réseau.
• Pour les travaux d’impression distants, le système doit être configuré pour communiquer
avec le serveur d’impression distant.
Web–based System Manager
Pour vérifier l’état d’un travail d’impression avec Web–based System Manager, tapez wsm,
puis sélectionnez Printers.
Dans la fenêtre Printer Queues, sélectionnez le travail d’impression, puis vérifiez son état
à l’aide des menus.
Utilisation de la commande qchk
Utilisez la commande qchk pour afficher les informations sur l’état en cours des travaux
d’impression, des files d’impression ou des utilisateurs spécifiés.
Le format de base de la commande qchk est le suivant :
qchk –P QueueName –# JobNumber –u OwnerName
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
qchk dans le manuel AIX 5L Version 5.3 Commands Reference.
Les exemples suivants décrivent l’utilisation de la commande qchk :
• Pour afficher l’état de la file d’attente par défaut, entrez :
qchk –q
• Pour afficher l’état long de toutes les files jusqu’à ce qu’elles soient vides tout en mettant
à jour l’écran toutes les 5 secondes, entrez :
qchk –A –L –w 5
• Pour afficher l’état de la file d’attente lp0, entrez :
qchk –P lp0
• Pour afficher l’état du travail 123, entrez :
qchk –# 123
• Pour vérifier l’état de tous les travaux de toutes les files d’attente, saisissez :
qchk –A
Remarque : Le système d’exploitation de base prend également en charge la
commande de contrôle de file d’attente UNIX BSD (lpq) et celle d’UNIX System V
(lpstat). Pour obtenir des détails sur la syntaxe, reportez–vous à la description des
commandes lpq et lpstat dans le manuel AIX 5L Version 5.3 Commands Reference.
Commande smit
Pour contrôler l’état d’un travail d’impression avec SMIT, entrez :
smit qchk
8-14
AIX Guide de l’utilisateur – Système d’exploitation et unités
Conditions de l’état de file d’attente d’impression
Voici quelques–unes des conditions d’état d’une file d’impression :
DEV_BUSY
Signification :
• Plusieurs files sont définies pour une unité d’impression (lp0)
et une autre file utilise actuellement l’imprimante.
• qdaemon a essayé d’utiliser l’unité de port d’imprimante (lp0),
mais une autre application utilise actuellement cette imprimante.
Pour pallier un état DEV_BUSY, patientez jusqu’à ce que la file ou
l’application libère l’imprimante ou annulez le travail (ou le processus)
qui utilise le port d’imprimante.
DEV_WAIT
La file attend l’imprimante, celle–ci étant hors ligne en raison d’un
manque ou d’un bourrage, ou parce que son câble est desserré,
défectueux ou n’est pas connecté correctement.
Pour pallier un état DEV_WAIT, corrigez le problème à l’origine de
l’attente. Pour exécuter les tests de diagnostic, il peut s’avérer plus simple
d’utiliser la commande enq pour transférer tous les travaux en attente de
la file DEV_WAIT à une autre file qui, soit est en cours d’impression, soit
dans l’état DOWN. Une fois le problème résolu, vous pouvez replacer les
travaux non imprimés dans leur file d’origine.
DOWN
Une file d’attente passe généralement à l’état DOWN après avoir été
dans l’état DEV_WAIT. Ceci se produit quand le pilote de l’imprimante ne
reconnaît plus l’imprimante en raison d’une mauvaise signalisation.
Néanmoins, certaines imprimantes ne peuvent pas signaler au système
de mise en file d’attente qu’elles sont hors ligne et, à la place, signalent
qu’elles ne fonctionnent pas. Dans ce cas, ou si l’imprimante semble ne
pas fonctionner, la file passera à l’état DOWN.
Pour pallier un état DOWN, corrigez l’incident à l’origine du blocage de la
file d’attente et demandez à l’administrateur système de remettre la file en
marche. La file doit être remise en marche manuellement avant de
pouvoir être réutilisée.
HELD
Indique qu’un travail d’impression est bloqué. Le spouleur ne pourra le
traiter que lorsqu’il sera libéré.
QUEUED
Indique qu’un fichier figurant dans une file attend son tour pour être
imprimé.
READY
Indique que tout ce qui concerne la file est prêt pour la mise en file
d’attente et l’impression d’un travail.
RUNNING
Indique que l’impression d’un fichier est en cours.
Imprimantes, travaux d’impression et files d’attente
8-15
Formatage des fichiers à imprimer (commande pr)
Utilisez la commande pr pour effectuer un formatage simple des fichiers à imprimer.
Chaînez la sortie de la commande pr à la commande qprt pour formater votre texte.
Voici quelques indicateurs de la commande pr :
8-16
–d
Génère une sortie en double espacement.
–h ”Chaîne”
Affiche la chaîne spécifiée, entre guillemets ( ” ”), au lieu du nom
du fichier, comme en–tête de page. Indicateur et chaîne doivent être
séparés par un espace.
–l Lignes
Redéfinit la hauteur de page (66 lignes, par défaut) au nombre de Lignes
indiqué. Si ce nombre est inférieur à la somme des lignes de l’en–tête et
du bas de page (en nombre de lignes), ces derniers sont supprimés
(même effet que l’indicateur –t).
–m
Fusionne des fichiers. La sortie standard est formatée de sorte que la
commande pr écrive une ligne de chaque fichier spécifié par une variable
File, côte à côte, en colonnes de texte de même taille (sur la base du
nombre total de colonnes). Cet indicateur est incompatible avec
l’indicateur – Column.
–n [ Largeur ]
[ Caractère ]
Numérote les lignes selon le format spécifié par la variable Largeur.
La valeur par défaut est de 5 chiffres. Si la variable Caractère (caractère
non numérique quelconque) est spécifié, il est ajouté au numéro de ligne,
pour marquer la séparation entre ce numéro et le reste de la ligne.
Le caractère de séparation par défaut est le caractère ASCII Tab.
–o Décalage
Indente chaque ligne du nombre d’espaces indiqué par la variable
Décalage. Le nombre total de caractères par ligne est la somme de la
largeur de page et du décalage. La valeur par défaut de Décalage est 0.
–s Caractère
Sépare les colonnes par la variable Caractère au lieu d’insérer des
espaces. Le caractère par défaut de Caractère est un caractère ASCII
Tab.
–t
N’affiche ni les cinq lignes d’en-tête, ni les cinq lignes de bas de page.
S’arrête à la dernière ligne de la page sans créer d’espace jusqu’à la fin
de la page.
–w Largeur
Définit le nombre de colonnes par ligne à la valeur indiquée par la
variable Largeur. La valeur par défaut est 72, générant une sortie
multi-colonne de même taille. Aucune autre limite n’est imposée.
Si l’indicateur –w n’est pas spécifié et que l’indicateur –s l’est,
la largeur par défaut est de 512 colonnes.
– Colonne
Définit le nombre de colonnes à la valeur de la variable Colonne.
La valeur par défaut est 1. Cette option est incompatible avec l’indicateur
–m. Les indicateurs –e et –i sont supposés actifs pour les sorties
multicolonnes. Une colonne de texte ne doit pas dépasser la largeur
de la page (voir indicateur –l). Lorsque cet indicateur est combiné à
l’indicateur –t, optez pour le nombre de lignes minimal pour la sortie.
+ Page
Commence par afficher le numéro de page spécifié par la variable Page.
La valeur par défaut est 1.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande pr
dans le manuel AIX 5L Version 5.3 Commands Reference.
Voici une liste d’exemples d’utilisation des indicateurs de commande pr :
• Pour indiquer le titre du fichier prog.c, entrez :
pr –h ”MAIN PROGRAM” prog.c | qprt
prog.c est imprimé sous le titre MAIN PROGRAM (à la place du nom de fichier).
Date de modification et numéro de page sont toujours imprimés.
• Pour imprimer le fichier word.lst sur plusieurs colonnes, entrez :
pr –3 word.lst | qprt
Le fichier word.lst est imprimé sur trois colonnes verticales.
• Pour imprimer plusieurs fichiers côte à côte, entrez :
pr –m –h ”Members and Visitors” member.lst visitor.lst | qprt
Les fichiers member.lst et visitor.lst sont imprimés côte à côte sous le titre Membres
et visiteurs.
• Pour modifier le fichier prog.c en vue d’un usage ultérieur, entrez :
pr –t –e prog.c > prog.notab.c
Les tabulations du fichier prog.c sont remplacées par des espaces, et le résultat placé
dans prog.notab.c. Une tabulation est placée aux colonnes 9, 17, 25, 33 et ainsi de
suite. L’indicateur –e indique à la commande pr de remplacer les tabulations, l’indicateur
–t supprime les en–têtes de page.
• Pour imprimer le fichier myfile sur deux colonnes, au format paysage et en texte de
7 points, entrez :
pr –l66 –w172 –2 myfile | qprt –z1 –p7
Imprimantes, travaux d’impression et files d’attente
8-17
Impression de fichiers ASCII sur une imprimante PostScript
Le système de formatage de texte comprend le filtre enscript qui permet de convertir en
PostScript des fichiers d’impression ASCII en vue de les imprimer sur une imprimante
PostScript. Ce filtre est appelé par la commande qprt –da lors de l’envoi d’un travail
d’impression vers une file d’attente PostScript.
Préalables
• L’imprimante doit être connectée physiquement au système.
• Elle doit être définie et configurée.
• La partie transcript des services de formatage de texte (Text Formatting Services) doit
être installée.
Plusieurs indicateurs peuvent être spécifiés avec la commande qprt afin de personnaliser la
sortie lors de l’envoi de fichiers ASCII vers une file d’attente d’impression PostScript :
–1+
Ajoute des en–têtes de page.
–2+
Formate la sortie en deux colonnes.
–3+
Imprime les en–têtes de pages, les dates et les numéros de page dans
un style fantaisiste. On parle parfois de mode “gaudy”.
–4+
Imprime le fichier, même s’il contient des caractères non imprimables.
–5+
Donne la liste des caractères qui ne font pas partie d’une police.
–h chaîne
Spécifie une chaîne à utiliser pour les en–têtes de page. Si ce paramètre
n’est pas spécifié, l’en–tête se compose du nom de fichier, de la date de
modification et du numéro de page.
–l valeur
Spécifie le nombre maximal de lignes imprimées par page. Selon la taille de
caractères en points, le nombre de lignes par page peut être inférieur.
–L!
Tronque les lignes dépassant la largeur de la page.
–p
Spécifie la taille de caractères en points. Si ce paramètre n’est pas précisé,
le système suppose que la taille de caractères est 10, sauf si le mode pivoté
sur deux colonnes (–2+ –z1) est spécifié, auquel cas la valeur 7 est utilisée.
–s
Spécifie le style de police. Si ce paramètre n’est pas indiqué, c’est la police
Courier qui est utilisée. L’imprimante PostScript doit avoir accès à la police
spécifiée. Les polices possibles sont :
• Courier–Oblique
• Helvetica
• Helvetica–Oblique
• Helvetica–Narrow
• Helvetica–Narrow–Oblique
• NewCenturySchlbk–Italic
• Optima
• Optima–Oblique
• Palatino–Roman
• Palatino–Italic
• Times–Roman
• Times–Italic
–z1
8-18
Fait pivoter la sortie de 90 degrés (mode paysage).
AIX Guide de l’utilisateur – Système d’exploitation et unités
Voici une liste d’exemples d’utilisation des indicateurs de commande qrpt :
• Pour envoyer le fichier ASCII myfile.ascii vers l’imprimante PostScript nommée Msps1,
entrez :
qprt –da –PMsps1 myfile.ascii
• Pour envoyer le fichier ASCII myfile.ascii vers l’imprimante PostScript nommée Msps1
et l’imprimer en police Helvetica, entrez :
qprt –da –PMsps1 –sHelvetica myfile.ascii
• Pour envoyer le fichier ASCII myfile.ascii vers l’imprimante PostScript nommée Msps1
et l’imprimer avec la taille de caractère 9, entrez :
qprt –da –PMsps1 –p9 myfile.ascii
Imprimantes, travaux d’impression et files d’attente
8-19
Automatisation de la conversion ASCII–PostScript
La plupart des applications qui génèrent des fichiers d’impression PostScript suivent la
convention d’appellation qui veut qu’un fichier d’impression PostScript commence toujours
par les caractères %!. Pour configurer le système de sorte qu’il repère les fichiers
d’impression ASCII soumis à une file d’attente PostScript et qu’il les convertisse
automatiquement en fichiers PostScript, procédez comme suit.
1. A l’invite, entrez ce qui suit :
smit chpq
2. Indiquez une file d’attente PostScript ou sélectionnez–en une à l’aide de la fonction List.
3. Sélectionnez l’option Printer Setup.
4. Basculez la valeur de l’option AUTOMATIC detection of print file TYPE to be done?
sur yes.
Les commandes suivantes sont alors équivalentes : elles convertissent tout fichier ASCII
en fichier PostScript et l’impriment sur une imprimante PostScript. Ainsi, pour convertir et
imprimer le fichier monfichier.ascii, entrez l’une des commandes suivantes :
qprt –Pps monfichier.ps monfichier.ascii
lpr –Pps monfichier.ps monfichier.ascii
lp –dps monfichier.ps monfichier.ascii
où ps est une file d’attente d’impression PostScript.
8-20
AIX Guide de l’utilisateur – Système d’exploitation et unités
Annulation de la détermination automatique des types
de fichiers d’impression
Vous devrez peut–être annuler la détermination automatique des types de fichiers
d’impression pour l’impression PostScript dans les cas suivants :
• Pour imprimer un fichier PostScript nommé myfile.ps qui ne commence pas par %!,
entrez ce qui suit sur la ligne de commande :
qprt –ds –Pps myfile.ps
• Pour imprimer le listing source d’un fichier PostScript nommé myfile.ps qui commence
par %!, entrez ce qui suit sur la ligne de commande :
qprt –da –Pps myfile.ps
Imprimantes, travaux d’impression et files d’attente
8-21
Récapitulatif des commandes relatives à l’impression
8-22
annuler
Annule les demandes sur une imprimante ligne.
lp
Envoie des demandes à une imprimante ligne.
lpq
Examine la file d’attente d’impression.
lpr
Met en file d’attente les travaux d’impression.
lprm
Supprime des travaux d’impression de l’imprimante ligne.
lpstat
Affiche des informations sur l’état de l’imprimante ligne.
pr
Envoie un fichier vers l’unité de sortie standard.
qcan
Annule un travail d’impression.
qchk
Affiche l’état d’une file d’attente d’impression.
qhld
Bloque/libère un travail d’impression.
qmov
Déplace un travail vers une autre file d’attente.
qpri
Définit la priorité d’un travail dans la file d’attente.
qprt
Lance un travail d’impression.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 9. Fichiers de sauvegarde et supports
de stockage
Une fois que votre système fonctionne, il vous faut réfléchir aux moyens de sauvegarder
systèmes de fichiers, répertoires et fichiers. Sachant qu’il est toujours possible d’effacer ou
de modifier un fichier – intentionnellement ou accidentellement, adopter une stratégie de
sauvegarde efficace s’impose. En cas de problème, vous aurez ainsi toujours la ressource
de restaurer la version la plus récente de vos fichiers et systèmes de fichiers.
Remarque : Si un disque “plante”, toutes les données qu’il contient sont définitivement
détruites. Le seul moyen de recouvrer ces données est de les restaurer à partir d’une
copie de sauvegarde.
Il existe différentes méthodes pour sauvegarder vos systèmes fichiers. Le plus souvent,
vous opterez pour une sauvegarde simple, c’est–à–dire une copie du fichier, du répertoire
ou du système de fichiers, permettant un transfert ou une restauration en cas de destruction
ou de modification accidentelle. Il est également possible d’archiver une copie d’un ou de
plusieurs fichiers, ou d’une base de données, pour un usage ultérieur, à des fins
d’historique ou pour recouvrer les données en cas de perte ou de détérioration.
Ce chapitre traite des points suivants :
•
Etablissement d’une tratégie de sauvegarde, page 9-2
•
Formatage de disquettes (commande format ou fdformat), page 9-5
•
Vérification de l’intégrité du système de fichiers (commande fsck), page 9-6
•
Copie de ou sur des disquettes (commande flcopy), page 9-7
•
Copie de fichiers sur bande ou disque (commande cpio –o), page 9-8
•
Copie de fichiers sur bande ou disque (commande cpio –o), page 9-9
•
Copie de ou sur des bandes(commande tcopy), page 9-10
•
Vérification de l’intégrité d’une bande (commande tapechk), page 9-11
•
Compression des fichiers (commandes compress et pack), page 9-12
•
Décompression des fichiers (commandes uncompress et unpack), page 9-14
•
Sauvegarde de fichiers (commande backup), page 9-15
•
Restauration de fichiers (commande restore), page 9-17
•
Archivage de fichiers (commande tar), page 9-19
•
Récapitulatif des commandes relatives à la sauvegarde, page 9-20
Fichiers de sauvegarde et supports de stockage
9-1
Etablissement d’une stratégie de sauvegarde
Il n’existe pas une, mais plusieurs stratégies de sauvegarde – les utilisateurs ayant chacun
leurs impératifs et leurs souhaits. Une approche adaptée à un système mono-utilisateur a
peu de chances de convenir sur un système servant 5 ou 10 utilisateurs. De même, une
stratégie adaptée à un système où les fichiers sont modifiés quotidiennement sera
inefficace sur un système où la fréquence de modification des données est faible. Vous seul
êtes à même de déterminer la stratégie qui convient le mieux.
Garantissez-vous contre les pertes majeures.
Votre système peut–il continuer à fonctionner si un seul disque tombe en panne ?
Pouvez–vous recouvrer vos données si tous les disques tombent en panne ? Pouvez–vous
reconstituer votre système si vous perdez vos disquettes ou vos bandes de sauvegarde,
qu’elles sont brûlées ou volées ? Réfléchissez donc au moyen de recouvrer l’usage de
votre système dans chacun de ces cas de figure.
Vérifiez régulièrement vos sauvegardes.
Supports et unités de sauvegarde, même les plus fiables, ne sont pas à l’abri d’une
défaillance. Une bibliothèque conséquente de bandes ou de disquettes n’est d’aucune utilité
si vous ne pouvez les relire et les transférer sur un disque. Pour vérifier que vos
sauvegardes sont exploitables, affichez régulièrement leur table des matières (via
restore –T, ou tar –t pour les bandes d’archives). Si vous effectuez vos sauvegardes sur
disquettes et que vous disposez de plusieurs unités de disquettes, tentez de les lire sur une
unité autre que celle qui a servi à créer la sauvegarde. Vous pouvez également créer un
second lot de disquettes de sauvegarde de niveau 0. Si vous utilisez un dérouleur en
continu, lancez régulièrement la commande tapechk pour effectuer un contrôle de
cohérence rudimentaire sur la bande.
Conservez les anciens supports de sauvegarde.
Prévoyez de recycler régulièrement les supports de sauvegarde, mais pas tous. Il peut
parfois s’écouler plusieurs mois avant que vous (ou un autre utilisateur du système) vous
aperceviez qu’un fichier important a disparu ou qu’il est endommagé. Vous serez alors
soulagé de savoir qu’il en existe une sauvegarde. Voici un exemple de planning de
recyclage de disquettes et des bandes de sauvegarde :
• Une fois par semaine, recyclage de toutes les disquettes de sauvegarde quotidiennes,
excepté celles du vendredi.
• Une fois par mois, recyclez toutes les disquettes du vendredi, excepté celle du dernier
vendredi du mois. Ainsi, les quatre dernières sauvegardes du vendredi sont toujours
disponibles.
• Une fois par trimestre, recyclage de toutes les disquettes mensuelles, excepté celles du
dernier mois. Conservez indéfiniment la dernière disquette de chaque mois,
éventuellement dans un lieu distinct.
Vérifiez les systèmes de fichiers avant de les sauvegarder.
Une sauvegarde effectuée sur un système de fichiers endommagé sera probablement
inutilisable. Avant d’effectuer une sauvegarde, prenez l’habitude de vérifier l’intégrité du
système de fichiers à l’aide de la commande fsck.
Vérifiez que les fichiers que vous sauvegardez ne sont pas en cours d’utilisation.
Le système ne doit pas être en cours d’exploitation lorsque vous lancez vos sauvegardes.
Si c’est le cas, les fichiers risquent d’être modifiés, et votre sauvegarde de ne pas être à
jour.
9-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
Sauvegardez votre système avant d’y effectuer des changements majeurs.
Il est toujours plus prudent de sauvegarder l’intégralité du système avant de tester
un élément matériel, de procéder à une réparation ou d’installer des nouvelles unités,
de nouveaux programmes ou autres.
Divers
Lorsque vous planifiez et implémentez une stratégie de sauvegarde, n’oubliez pas
les points suivants :
• La fréquence de modification des données. Les données du système d’exploitation ne
changeant pas très souvent, vous ne devez pas effectuer fréquemment les sauvegardes.
Les données utilisateur, à l’inverse, sont en général souvent modifiées et vous devez les
sauvegarder en conséquence.
• Le nombre d’utilisateurs sur le système. Le volume à sauvegarder et la fréquence des
sauvegarde en dépendent directement.
• La difficulté de recréer les données. Vous devez savoir qu’il est impossible de recréer
certaines données s’il n’y a pas de sauvegarde.
Ainsi, une stratégie de sauvegarde afin de conserver vos données revêt une importance
capitale. En évaluant les besoins de votre site, vous pourrez identifier la méthode de
sauvegarde la mieux adaptée à vos besoins. Prévoyez des sauvegardes fréquentes et
régulières des données utilisateurs. Recouvrer des données perdues peut s’avérer difficile
si vous n’avez pas défini de stratégie de sauvegarde.
Supports de stockage
Il existe différents types de supports de stockage. Les supports disponibles dépendent de la
configuration matérielle et logicielle de votre système. Les supports les plus utilisés sont les
disquettes 5 1/4 pouces, les bandes 8 mm, les bandes 9 pistes et les disquettes
3 1/2 pouces.
Avertissement : Exécuter la commande backup détruit toutes les données
antérieurement stockées sur le support de sauvegarde sélectionné.
Disquettes
Les disquettes sont le support de sauvegarde standard. C’est–à–dire que, sauf spécification
autre de votre part via la commande backup –f, la commande backup envoie
automatiquement sa sortie vers l’unité /dev/rfd0, à savoir l’unité de disquette. Pour effectuer
une sauvegarde sur l’unité de bande par défaut, entrez /dev/rmt0 et appuyez sur Entrée.
Maniez les disquettes avec soin. Chaque élément d’information occupe un espace tellement
infime que la moindre rayure, poussière, miette, particule de tabac... peut rendre
l’information inutilisable. N’oubliez pas les points suivants :
• Ne touchez pas les surfaces d’enregistrement.
• Conservez les disquettes à l’abri de toute source de champ magnétique
et électromagnétique (téléphone, dictaphone, calculatrice, etc.).
• Evitez les températures extrêmes (plage recommandée : entre 10°C et 60°C).
• Prenez soin des disquettes pour prévenir toute perte de données.
• Effectuez régulièrement des copies de sauvegarde.
Avertissement : Disquettes et unité de disquette doivent être du même type, faute de
quoi vous risquez de perdre des données. Si vous introduisez une disquette incorrecte
dans l’unité de disquette 3 1/2 pouces, les données de la disquette risquent d’être
détruites.
Fichiers de sauvegarde et supports de stockage
9-3
Les disquettes 3 1/2 pouces compatibles sont les suivantes :
• 1 Mo de capacité (soit 720 Ko de données)
• 2 Mo de capacité (soit 1,44 Mo de données)
Bandes
En raison de leur capacité élevée et de leur durée de vie, les bandes sont souvent le
support choisi pour stocker des fichiers de grande taille ou une grande quantité de fichiers,
comme des copies d’archive de systèmes de fichiers. Elles servent également à transférer
des fichiers d’un système à un autre. Elles sont en revanche peu adaptées au stockage
de fichiers souvent utilisés, d’autres supports offrant des temps d’accès bien inférieurs.
Les fichiers bande sont créés via des commandes telles que backup, cpio et tar,
qui ouvrent une unité de bande, y écrivent des données et la ferment.
9-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Formatage de disquettes (commande format ou fdformat)
Avertissement : Le formatage d’une disquette détruit toutes les données qu’elle
contient.
Vous pouvez formater des disquettes dans l’unité spécifiée par le paramètre Unité
(/dev/rfd0, par défaut) via les commandes format et fdformat. La commande format
détermine le type d’unité de disquette :
• Disquette 5,25 pouces à faible densité (360 Ko) comprenant 40 x 2 pistes,
de 9 secteurs chacune
• Disquette 5,25 pouces à haute densité (1,2 Mo) comprenant 80 x 2 pistes,
de 15 secteurs chacune
• Disquette 3,5 pouces à faible densité (720 Ko) comprenant 80 x 2 pistes,
de 9 secteurs chacune
• Disquette 3,5 pouces à haute densité (2,88 Mo) comprenant 80 x 2 pistes,
de 36 secteurs chacune
Tous les secteurs ont une taille de 512 octets (quel que soit le type de disquette).
Sauf spécification contraire via le paramètre Unité, la commande format formate une
disquette en haute densité.
Utilisez la commande fdformat pour formater une disquette en faible densité, sauf si
l’indicateur –h est spécifié. Le paramètre Unité indique l’unité où se trouve la disquette à
formater (/dev/rfd0 pour l’unité 0, par exemple).
Avant de formater une disquette, les commandes format et fdformat demandent
confirmation. Vous pouvez ainsi annuler l’opération au besoin.
Voir les exemple ci–après :
• Pour formater une disquette dans l’unité /dev/rfd0, entrez :
format –d /dev/rfd0
• Pour formater une disquette sans vérifier les secteurs, entrez :
format –f
• Pour formater une disquette 360 ko dans une unité 5 1/4 pouces, 1,2 Mo de l’unité
/dev/rfd1, entrez :
format –l –d /dev/rfd1
• Pour forcer le formatage en haute densité d’une disquette avec la commande fdformat,
entrez :
fdformat –h
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
format dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-5
Vérification de l’intégrité du système de fichiers
(commande fsck)
Utilisez la commande fsck pour vérifier la cohérence du système de fichiers et remédier
aux incohérences de façon interactive. Il est important d’exécuter cette commande sur
chaque système de fichiers dans le cadre de l’initialisation du système. Vous devez pouvoir
lire le fichier unité sur lequel réside le système de fichiers (unité /dev/hd0, par exemple).
Généralement, le système de fichiers est cohérent et la commande fsck se contente
d’indiquer le nombre de fichiers, de blocs utilisés et de blocs libres. Dans le cas contraire,
la commande fsck signale les incohérences et vous demande l’autorisation d’y remédier.
La commande fsck n’intervient que prudemment en évitant toute action qui provoquerait
une perte de données valides. Toutefois, dans certains cas, fsck recommande la
destruction d’un fichier endommagé.
Attention :Lancez toujours la commande fsck après un incident système. L’intervention
peut détruire quelques données. L’action par défaut de chaque correction de cohérence
consiste à attendre que l’opérateur entre ouiou non. Si vous ne disposez pas des droits
d’écriture sur un fichier affecté, la commande fsck utilise par défaut la réponse non.
Voir les exemple ci–après :
• Pour vérifier tous les systèmes de fichiers par défaut, entrez :
fsck
Sous cette forme, la commande fsck vous demande confirmation avant toute
modification sur un système de fichiers.
• Pour réparer automatiquement des problèmes mineurs avec les systèmes de fichiers
par défaut, entrez :
fsck –p
• Pour vérifier le système de fichiers /dev/hd1, entrez :
fsck /dev/hd1
Le système de fichiers non monté se trouvant sur l’unité /dev/hd1 est vérifié.
Remarque : La commande fsck n’opère aucune correction sur un système de fichiers
monté.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
fsck dans le manuel AIX 5L Version 5.3 Commands Reference.
9-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Copie vers et à partir de disquettes (commande flcopy)
Utilisez la commande flcopy pour copier une disquette (ouverte comme /dev/rfd0)
vers un fichier nommé floppy créé dans le répertoire en cours. Le message
Change floppy, hit return when done s’affiche si nécessaire.
La commande flcopy copie alors le fichier floppy sur la disquette.
Voir les exemple ci–après :
• Pour copier /dev/rfd1 dans le fichier floppy dans le répertoire en cours, entrez :
flcopy –f /dev/rfd1 –r
• Pour copier les 100 premières pistes de la disquette, entrez :
flcopy –f /dev/rfd1 –t 100
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de
la commande flcopy dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-7
Copie de fichiers sur des bandes ou des disques
(commande cpio –o)
Utilisez la commande cpio –o pour lire les chemins d’accès sur l’entrée standard et copier
ces fichiers sur la sortie standard, avec les chemins d’accès et les informations d’état.
Les chemins d’accès ne peuvent dépasser 128 caractères. Evitez d’utiliser des noms de
chemins composés uniquement de fichiers liés avec la commande cpio. Si la mémoire
est insuffisante, vous risquez de perdre des informations de liaison.
Reportez–vous aux exemple ci–après :
• Pour copier sur une disquette les fichiers du répertoire courant se terminant par .c,
entrez :
ls *.c | cpio –ov >/dev/rfd0
L’indicateur –v affiche le nom de chaque fichier.
• Pour copier sur une disquette le répertoire courant et ses sous–répertoires, entrez :
find . –print | cpio –ov >/dev/rfd0
L’arborescence dont le sommet est le répertoire courant (.) est sauvegardée,
avec tous ses sous–répertoires et ses fichiers.
• Pour utiliser une chaîne de commande plus brève, entrez :
find . –cpio /dev/rfd0 –print
L’entrée –print affiche le nom de chaque fichier à mesure qu’il est copié.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
cpio dans le manuel AIX 5L Version 5.3 Commands Reference.
9-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Copie de fichiers à partir d’une bande ou d’un disque
(commande cpio –i)
Utilisez la commande cpio –i pour lire à partir de l’entrée standard un fichier d’archive créé
à l’aide de la commande cpio –o et copier à partir de celui–ci les fichiers dont les noms
correspondent au paramètre Modèle. Ces fichiers sont copiés dans l’arborescence de
répertoires en cours. Il est possible d’indiquer plusieurs paramètres Modèle, en respectant
la notation de noms de fichiers décrite dans la commande ksh. La valeur par défaut du
paramètre Modèle est un astérisque (*) qui permet de sélectionner tous les fichiers du
répertoire en cours. Dans une expression telle que [a–z], le tiret (–) signifie jusqu’à,
conformément à la séquence de tri en cours.
Remarque : Les modèles ”*.c” et ”*.o” doivent être placés entre guillemets pour
éviter que le shell ne traite l’astérisque (*) comme un caractère joker. Il s’agit d’un cas
particulier dans lequel la commande cpio elle–même décode le caractère joker.
Voir les exemple ci–après :
• Pour afficher la liste des fichiers qui ont été enregistrés sur une disquette avec la
commande cpio, entrez :
cpio –itv </dev/rfd0
Cette commande affiche la table des matières des données préalablement enregistrées
dans le fichier /dev/rfd0 dans le format de la commande cpio. La liste est semblable à la
liste de répertoire longue produite par la commande ls –l.
• Pour n’afficher que les noms de chemin des fichiers, n’employez que les paramètres –it.
• Pour copier, à partir d’une disquette, les fichiers préalablement enregistrés avec la
commande cpio, entrez :
cpio –idmv </dev/rfd0
Cette commande copie les fichiers préalablement enregistrés dans le fichier /dev/rfd0
à l’aide de la commande cpio dans le système de fichiers (spécifiez le paramètre –i).
Le paramètre –d permet à la commande cpio de créer les répertoires appropriés si une
arborescence de répertoires est enregistrée. Le paramètre –m conserve la dernière
heure de modification qui était en vigueur au moment de la sauvegarde des fichiers.
Le paramètre –v entraîne l’affichage des noms des fichiers au fur et à mesure qu’ils
sont copiés.
• Pour copier des fichiers sélectionnés à partir d’une disquette, entrez :
cpio –i ”*.c” ”*.o” </dev/rfd0
Cette commande copie les fichiers se terminant par .c ou .o à partir d’une disquette.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
cpio dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-9
Copie sur et à partir de bandes (commande tcopy)
Utilisez la commande tcopy pour effectuer des copies à partir de bandes magnétiques
et sur des supports magnétiques.
Par exemple, pour copier à partir d’une bande continue sur une bande 9 pistes, entrez :
tcopy /dev/rmt0 /dev/rmt8
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
tcopy dans le manuel AIX 5L Version 5.3 Commands Reference.
9-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Vérification de l’intégrité d’une bande (commande tapechk)
Vous pouvez effectuer un contrôle de cohérence rudimentaire sur une unité de bande
connectée à l’aide de la commande tapechk. Certains dysfonctionnements d’une unité de
bande peuvent être détectés simplement en lisant une bande. La commande tapechk offre
une solution pour effectuer des lectures de bande au niveau fichier.
Par exemple, pour vérifier les trois premiers fichiers sur une unité de bande, entrez :
tapechk 3
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
tapechk dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-11
Compression des fichiers (commandes compress et pack)
Utilisez la commande compress et la commande pack pour compresser des fichiers en
vue de leur stockage.
Utilisez la commande uncompress et la commande unpack pour décompresser des
fichiers restaurés.
Le processus de compression et de décompression de fichiers prend du temps mais, une
fois compressées, les données prennent moins de place sur le support de stockage.
Pour comprimer un système de fichiers, utilisez l’une des méthodes suivantes :
• L’option –p associée à la commande backup.
• Les commandes compress et pack.
Avantages de la compression de fichiers :
• Des coûts réduits et l’économie de temps : compression de données avant leur transfert
via un réseau.
– Compression des systèmes de fichiers avant d’effectuer des sauvegardes pour
économiser l’espace sur bande.
– Compression des fichiers journaux créés par les shell scripts qui fonctionnent la nuit ;
il est simple de faire compresser le fichier par le script avant qu’il ne se termine.
– Compression des fichiers ne faisant l’objet d’aucun accès. Par exemple, les fichiers
appartenant à utilisateur qui est absent pour une période prolongée peuvent être
compressés et placés dans une archive tar sur disque ou sur bande afin d’être
restaurés ultérieurement.
• Economie financière et gain de temps, du fait de la compression des fichiers avant leur
envoi sur un réseau.
Remarques :
1. La commande compress peut se trouver à court d’espace de travail dans le
système de fichiers pendant la compression. La commande compress crée les
fichiers compressés avant de supprimer tout fichier décompressé. Elle a donc
besoin d’un espace de travail représentant 50 % de place supplémentaire par
rapport à la taille totale des fichiers.
2. La compression d’un fichier peut échouer parce qu’il est déjà compressé. Si la
commande compress ne peut réduire la taille des fichiers, elle échoue.
Compression de fichiers avec la commande compress
Utilisez la commande compress pour réduire la taille des fichiers à l’aide du codage
adaptatif Lempel–Zev. Chaque fichier original spécifié par le paramètre Fichier est remplacé
par un fichier compressé au nom duquel est ajouté le suffixe .Z. Le fichier compressé
conserve les caractéristiques suivantes du fichier original : propriétaire, modes, heures
d’accès et de modification. Si aucun fichier n’est spécifié, l’entrée standard est compressée
vers la sortie standard. Si la compression ne permet pas de réduire la taille d’un fichier, un
message est envoyé vers la sortie d’erreur standard et le fichier d’origine n’est pas
remplacé.
Utilisez la commande uncompress pour rétablir les fichiers compressés dans leur forme
d’origine.
Le degré de compression dépend de la taille du fichier d’entrée, du nombre de bits par code
spécifié par la variable Bits, et de la fréquence de chaînes communes. En général le code
source ou le texte anglais sont réduits de 50 à 60 %. La compression produite par la
commande compress est généralement plus compacte et nécessite moins de temps de
calcul que celle de la commande pack, qui utilise le codage adptatif Huffman.
9-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
Par exemple, pour compresser le fichier foo et écrire le pourcentage de compression sur
la sortie d’erreur standard, entrez :
compress –v foo
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
compress dans le manuel AIX 5L Version 5.3 Commands Reference.
Compression de fichiers avec la commande pack
Utilisez la commande pack pour enregistrer le ou les fichiers spécifiés par le paramètre
Fichier sous une forme compressée, à l’aide du codage Huffman. Le fichier d’entrée est
remplacé par un fichier compressé dont le nom est dérivé du nom de fichier d’origine
(Fichier.z), et qui possède les mêmes modes d’accès, dates d’accès et de modification,
et propriétaire que le fichier d’origine. Le nom du fichier d’entrée ne peut comporter plus de
253 octets, afin de permettre l’ajout du suffixe .z. Si la commande pack réussit, le fichier
d’origine est supprimé.
Utilisez la commande unpack pour rétablir les fichiers compressés dans leur forme
d’origine.
Si la commande pack ne peut pas créer un fichier plus petit, elle cesse son traitement et
signale qu’elle ne peut économiser de l’espace. (L’impossibilité de gagner de la place se
produit généralement avec les fichiers de petite taille, ou ceux ayant une distribution de
caractères uniforme.) Le gain d’espace réel dépend de la taille du fichier d’entrée et de la
fréquence de distribution des caractères. Du fait qu’un arbre de décodage constitue la
première partie de chaque fichier .z, vous ne gagnez pas de place avec les fichiers
inférieurs à trois blocs. En général, les fichiers texte sont réduits de 25 à 40 %.
La valeur de sortie de la commande pack est le nombre de fichiers qu’elle n’a pas pu
compresser. La compression n’est pas effectuée dans les cas suivants :
• Le fichier est déjà compressé.
• Le nom du fichier d’entrée possède plus de 253 octets.
• Le fichier contient des liens.
• Le fichier est un répertoire.
• Le fichier ne peut être ouvert.
• La compression n’économise pas de blocs de stockage.
• Un fichier nommé Fichier.z existe déjà.
• Le fichier .z ne peut pas être créé.
• Une erreur d’E/S s’est produite pendant le traitement.
Par exemple, pour compresser les fichiers chap1 et chap2, entrez :
pack chap1 chap2
Cette commande compresse chap1 et chap2, et les remplace par des fichiers nommés
chap1.z et chap2.z. La commande pack affiche le pourcentage de diminution de taille de
chaque fichier.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
pack dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-13
Décompression de fichiers
(commandes uncompress et unpack)
Utilisez les commandes uncompress et unpack pour décompresser des fichiers.
Utilisation de la commande uncompress
Utilisez la commande uncompress pour décompresser les fichiers précédemment
compressés à l’aide de la commande compress. Tout fichier compressé spécifié par la
variable Fichier est remplacé par sa version développée. Cette version porte le même nom
que la version compressée, sans l’extension .Z. Ce fichier conserve les attributs du fichier
d’origine (propriétaire, droits d’accès, date et heure de dernière modification, etc.). A défaut
de fichier(s) spécifié(s), l’entrée standard est décompressée sur la sortie standard.
Semblable à la commande uncompress, la commande zcat écrit toujours la sortie
développée sur l’unité de sortie standard.
• Par exemple, pour décompresser le fichier foo, entrez :
uncompress foo
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
uncompress dans le manuel AIX 5L Version 5.3 Commands Reference.
Utilisation de la commande unpack
Utilisez la commande unpack pour décompresser les fichiers créés à l’aide de la
commande pack. Pour chaque fichier spécifié, la commande unpack recherche le fichier
Fichier.z compressé. Si ce fichier est comprimé, unpack le remplace par sa version
décompressée. La commande unpack renomme le nouveau fichier en supprimant le suffixe
.z de Fichier. Le nouveau fichier conserve les attributs du fichier d’origine (propriétaire,
modes, heures d’accès et de modification, etc.).
La commande unpack n’opère que sur les fichiers suffixés .z. Aussi, si vous spécifiez
un nom de fichier ne se terminant pas par .z, la commande unpack lui ajoute le suffixe
et recherche dans le répertoire un fichier avec ce suffixe.
La valeur en sortie de la commande unpack est le nombre de fichiers qu’elle n’a pu
décompresser. Un fichier ne peut pas être décompressé dans les situations suivantes :
• Le nom du fichier (hors extension .z) dépasse 253 octets.
• Le fichier ne peut être ouvert.
• Le fichier n’est pas compressé.
• Un fichier décompressé portant le même nom existe déjà.
• Le fichier décompressé ne peut être créé.
Remarque : La commande unpack inscrit un avertissement sur l’unité de sortie
standard si le fichier qu’elle décompresse est doté de liens. Le fichier nouvellement
décompressé comporte un numéro d’i-node (numéro de référence d’i-node) différent
du fichier compressé d’origine. Toutefois, les autres fichiers liés à l’i-node du fichier
compressé d’origine existent toujours et sont toujours comprimés.
Par exemple, pour décompresser les fichiers chap1.z et chap2.z, entrez :
unpack chap1.z chap2
Les fichiers chap1.z et chap2.z sont décompressés et remplacés par les fichiers chap1
et chap2.
Remarque : Vous pouvez utiliser la commande unpack avec des noms de fichiers
comportant le suffixe .z ou un autre suffixe.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
unpack dans le manuel AIX 5L Version 5.3 Commands Reference.
9-14
AIX Guide de l’utilisateur – Système d’exploitation et unités
Sauvegarde de fichiers (commande backup)
Attention : Toute tentative de sauvegarde d’un système de fichiers monté génère un
message. La commande backup poursuit son traitement mais il peut en résulter des
incohérences dans le système de fichiers. Cet avertissement ne concerne pas le
système de fichiers racine (/).
Utilisez la commande backup ou la commande smit pour créer des copies de vos
fichiers sur des supports de sauvegarde tels qu’une bande magnétique ou une disquette.
Ces copies adoptent l’un des deux formats de sauvegarde suivants :
• Fichiers spécifiques sauvegardés par noms, via l’indicateur –i.
• Intégralité de systèmes de fichiers sauvegardés par numéros d’i-node,
via les paramètres –Level et FileSystem.
Remarques :
1. Il y a toujours un risque d’endommagement des données lorsqu’un fichier est
modifié pendant la sauvegarde du système. Réduisez donc au minimum les
activités sur le système pendant la procédure de sauvegarde.
2. Si vous effectuez une sauvegarde sur une bande 8 mm alors que la taille de bloc
de l’unité est défini à 0 (zéro), il sera impossible de procéder à une restauration
directement à partir de la bande. Dans ce cas, reportez-vous aux procédures
particulières décrites dans la section relative à la commande restore.
Attention : Vérifiez que les indicateurs que vous spécifiez sont compatibles avec le
support de sauvegarde.
Sauvegarde de fichiers (commande backup)
Utilisez la commande backup pour créer des copies de fichiers sur des supports de
sauvegarde.
Par exemple, pour sauvegarder par noms des fichiers de votre répertoire $HOME, entrez :
find $HOME –print | backup –i –v
L’indicateur –i indique au système de lire sur l’entrée standard les noms des fichiers à
sauvegarder. La commande find génère une liste des fichiers du répertoire de l’utilisateur.
Cette liste devient, par chaînage, l’entrée standard de la commande backup.
L’indicateur –v affiche un état de la progression de la sauvegarde. Les fichiers sont
sauvegardés sur l’unité de sauvegarde par défaut du système local.
Voir les exemple ci–après :
• Pour sauvegarder le système de fichiers racine, entrez :
backup –0 –u /
Le niveau (0) et la barre oblique (/) instruisent le système qu’il s’agit de sauvegarder
le système de fichiers racine (/). La sauvegarde a lieu dans le fichier /dev/rfd0.
L’indicateur –u signifie au système qu’il doit mettre à jour l’article relatif au niveau
de sauvegarde courant, dans le fichier /etc/dumpdates.
• Pour sauvegarder tous les fichiers du système de fichiers racine (/), modifiés depuis la
dernière sauvegarde de niveau 0, entrez :
backup –1 –u /
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
backup dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-15
Sauvegarde de fichiers (commande smit)
Utilisez la commande smit pour exécuter la commande backup qui permet de créer des
copies de vos fichiers sur des supports de sauvegarde.
1. A l’invite, entrez ce qui suit :
smit backup
2. Entrez le chemin d’accès au répertoire sur lequel est normalement monté le système de
fichiers, dans le champ chemin d’accès complet au REPERTOIRE :
/home/bill
3. Dans les champs unité ou FICHIER DE SAUVEGARDE, entrez le nom de l’unité de
sortie (ci–dessous le nom d’une unité de bande magnétique) :
/dev/rmt0
4. Appuyez sur Tab pour basculer la valeur du champ facultatif SIGNALEMENT de chaque
étape de la sauvegarde, si vous souhaitez afficher des messages d’erreur.
5. Dans un environnement de gestion de système, observez la valeur par défaut du champ
Nombre MAX. de blocs à écrire sur la sauvegarde : ce champ ne concerne pas les
sauvegardes sur bande.
6. Appuyez sur Entrée pour sauvegarder le répertoire ou le système de fichiers nommé.
7. Exécutez la commande restore –t. Si elle génère un message d’erreur, la sauvegarde
est à recommencer.
9-16
AIX Guide de l’utilisateur – Système d’exploitation et unités
Restauration de fichiers (commande restore)
Utilisez la commande restore ou la commande smit pour lire des fichiers écrits à l’aide de
la commande backup à partir du support de sauvegarde et pour les restaurer sur votre
système local.
Remarques :
1. La restauration doit être effectuée via la même méthode que celle utilisée pour la
sauvegarde. Par exemple, un système de fichiers sauvegardé par noms doit être
restauré par noms.
2. Lorsque la sauvegarde occupe plusieurs disquettes, la commande restore lit celle
qui est en place, puis vous invite à insérer la suivante. Appuyez sur Entrée une fois
la disquette insérée, pour poursuivre la restauration.
Utilisation de la commande restore
Utilisez la commande restore pour lire des fichiers écrits à l’aide de la commande backup
et pour les restaurer sur votre système local.
Voir les exemple ci–après :
• Pour afficher la liste des fichiers précédemment sauvegardés, entrez :
restore –T
Les informations sont lues à partir de l’unité de sauvegarde par défaut /dev/rfd0.
S’il s’agit de fichiers isolés, seul leur nom est affiché. S’il s’agit de systèmes de fichiers
entiers, leur numéro d’i-node apparaît également.
• Pour restaurer des fichiers sur le système de fichiers principal, entrez :
restore –x –v
L’indicateur –x extrait tous les fichiers du support de sauvegarde et les restaure
à leur emplacement dans le système de fichiers. L’indicateur –v affiche un état de
la progression des opérations à mesure que les fichiers sont restaurés. Dans le cas
de la restauration d’un système de fichiers tout entier, les fichiers sont affichés avec
leur numéro d’i-node. Sinon, seul leur nom est affiché.
• Pour copier le fichier /home/mike/manual/chap1, entrez :
restore –xv /home/mike/manual/chap1
Cette commande extrait le fichier /home/mike/manual/chap1 du support de
sauvegarde et le restaure. Le nom de fichier /home/mike/manual/chap1 doit pouvoir
être affiché à l’aide de la commande restore –T.
• Pour copier tous les fichiers dans le répertoire manual, entrez :
restore –xdv manual
Le répertoire manual et les fichiers qu’il contient sont alors restaurés. Si le répertoire
n’existe pas, un répertoire manual est créé dans le répertoire en cours afin de recevoir
les fichiers restaurés.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
restore dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-17
Utilisation de la commande smit
Utilisez la commande smit pour exécuter la commande restore, qui lit des fichiers écrits par
la commande backup et les restaure sur votre système local.
1. A l’invite, entrez ce qui suit :
smit restore
2. Renseignez la zone REPERTOIRE cible. Il s’agit du répertoire dans lequel vous
souhaitez que les fichiers soient restaurés.
3. Passez au champ UNITE ou FICHIER DE SAUVEGARDE, entrez le nom de l’unité
de sortie (ci–dessous le nom d’une unité de bande magnétique) :
/dev/rmt0
Si l’unité n’est pas disponible, un message semblable au suivant s’affiche :
Cannot open /dev/rmtX, no such file or directory.
Ce message indique que le système ne peut pas contacter le pilote de l’unité car il n’y
a pas de fichier correspondant à rmtX dans le répertoire /dev. Seuls les éléments dont
l’état est disponible sont dans le répertoire /dev.
4. Pour le champ NBRE de blocs à lire en une entrée, nous vous conseillons de
conserver la valeur par défaut.
5. Appuyez sur Entrée pour restaurer le système de fichiers ou le répertoire spécifié.
9-18
AIX Guide de l’utilisateur – Système d’exploitation et unités
Archivage de fichiers (commande tar)
Il est également possible d’archiver une copie d’un ou de plusieurs fichiers, ou d’une base
de données, pour un usage ultérieur, à des fins d’historique ou pour recouvrer les données
en cas de perte ou de détérioration. Une archive est généralement utilisée lorsque ces
données spécifiques sont supprimées du système.
Utilisez la commande tar pour écrire des fichiers ou les extraire d’un fichier archive.
Sauf spécification contraire, la commande tar recherche les archives sur l’unité par défaut
(bande, généralement).
Lorsque vous écrivez dans un fichier archive, la commande tar passe par un fichier
temporaire (fichier /tmp/tar*) et garde en mémoire une table des fichiers dotés de plusieurs
liens. Un message d’erreur est émis si la commande tar ne peut créer ce fichier temporaire
ou si la mémoire disponible est insuffisante pour contenir les tables de liens.
Voir les exemple ci–après :
• Pour écrire les fichiers file1 et file2 dans un nouveau fichier archive, sur l’unité de bande
par défaut, entrez :
tar –c file1 file2
• Pour extraire tous les fichiers du répertoire /tmp du fichier archive de l’unité de bande
/dev/rmt2 et imputer la durée de l’opération au temps de modification, entrez :
tar –xm –f/dev/rmt2 /tmp
• Pour afficher le nom des fichiers du fichier archive sur disque out.tar à partir du
répertoire courant, entrez :
tar –vtf out.tar
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande tar
dans le manuel AIX 5L Version 5.3 Commands Reference.
Fichiers de sauvegarde et supports de stockage
9-19
Récapitulatif des commandes relatives à la sauvegarde
9-20
sauvegarde
Sauvegarde des fichiers et des systèmes de fichiers.
compress
Compresse et décompresse des données.
cpio
Copie des fichiers vers et à partir de supports de stockage
et de répertoires.
fdformat
Formate des disquettes.
flcopy
Copie de et sur disquettes.
format
Formate des disquettes.
fsck
Vérifie la cohérence du système de fichiers et remédie aux
problèmes en mode interactif.
pack
Compresse des fichiers.
restore
Copie des fichiers ou des systèmes de fichiers, préalablement
sauvegardés via la commande backup, à partir d’une unité locale.
tapechk
Contrôle le dérouleur de bande en continu.
tar
Manipule les archives.
tcopy
Copie une bande magnétique.
uncompress
Compresse et décompresse des données.
unpack
Décompresse des fichiers.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 10. Sécurité du système et des fichiers
L’objectif de la sécurité informatique est d’assurer la protection des informations stockées
sur le système informatique. La sécurité informatique est axée sur différents points :
Intégrité
La valeur d’une information dépend de sa fiabilité. Des données
modifiées à mauvais escient perdent tout ou partie de leur intérêt.
Confidentialité
La valeur de beaucoup d’informations tient au fait qu’elles sont
secrètes.
Disponibilité
Les informations doivent être disponibles.
Il est bon de planifier et de mettre en œuvre votre stratégie en matière de sécurité avant
de commencer à exploiter votre système. Il est en effet très long de la modifier après coup :
mieux vaut donc prévenir que guérir.
Ce chapitre traite des points suivants :
• Menaces sur la sécurité, page 10-2
• Propriété des fichiers et groupes d’utilisateurs, page 10-4
– Changement du propriétaire d’un fichier ou d’un répertoire (commande chown),
page 10-4
– Modes d’accès aux fichiers et aux répertoires, page 10-4
– Affichage d’informations sur le groupe (commande lsgroup), page 10-6
– Modification des droits d’accès aux fichiers et aux répertoires (commande chmod),
page 10-8
• Listes de contrôle des accès (ACL), page 10-9
– Liste ACL pour objets de systèmes de fichiers, page 10-9
– Type de liste ACL AIXC, page 10-9
– Type de liste ACL NFS4, page 10-11
– Exemple de liste ACL, page 10-15
– Autorisation d’accès, page 10-12
– Affichage des information de contrôle des accès (commande aclget), page 10-16
– Paramétrage des informations de contrôle des accès (commande aclput), page 10-16
– Modification des information de contrôle des accès (commande acledit), page 10-16
• Verrouillage du terminal (commande lock ou xlock), page 10-17
• Récapitulatif des commandes relatives à la sécurité fichiers et système, page 10-18
Sécurité du système et des fichiers
10-1
Menaces sur la sécurité
Les types de comportement suivants sont susceptibles de porter atteinte à la sécurité d’un
système:
Négligence
La sécurité des informations est souvent mise à mal par simple
négligence des utilisateurs autorisés. Par exemple, si vous divulguez
votre mot de passe, aucun dispositif de sécurité, aussi sophistiqué
soit–il, ne pourra empêcher un accès non autorisé à votre compte et
à vos données.
Indiscrétion
Nombre de problèmes de sécurité sont le fait d’utilisateurs autorisés
mais indiscrets, explorant le système à la recherche de données non
sécurisées.
Pénétration
Il s’agit là d’une “attaque” délibérée contre le système. Il s’agit
souvent d’une pénétration effectuée par quelqu’un ayant étudié de
près les protections en place et ayant réussi à en déceler les failles.
Bien que la pénétration dans un système représente généralement la plus grande menace
à la sécurité des informations, ne sous–estimez pas les problèmes engendrés par la
négligence ou l’indiscrétion.
Sécurité de base
Voici quelques règles de base, applicables à tous les systèmes, pour assurer une sécurité
minimale :
•
Sauvegardes, page 10-2
•
Identification et authentification, page 10-3
•
ID de connexion, page 10-3
•
Terminaux sans surveillance, page 10-3
Sauvegardes
Se doter de sauvegardes de système physiquement sûres, fiables et mises à jours
constitue la stratégie de sécurité la plus importante. Avec une sauvegarde de système
fiable, vous pouvez faire face à tous types de problèmes sur le systèmes et subir des pertes
de données réduites. Votre stratégie de sauvegarde doit être documentée, avec notamment
des informations concernant :
• la fréquence des sauvegardes,
• le type de sauvegarde (système, données, par incréments),
• le mode de contrôle des bandes de sauvegarde,
• le mode de stockage des bandes de sauvegarde.
Pour en savoir plus, reportez–vous à “Fichiers de sauvegarde et supports de stockage,
page 9-1”.
10-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
Identification et authentification
Identification et authentification établissent votre identité. Vous êtes invité à vous connecter
à votre système. Pour cela, vous devez fournir votre nom utilisateur et, éventuellement, un
mot de passe (sur un système sûr, tous les comptes non affectés d’un mot de passe doivent
être invalidés). Si le mot de passe est correct, vous accédez au compte correspondant et
disposez des droits et des privilèges afférents.
Le mot de passe étant l’unique protection de votre compte, choisissez–le bien et
protégez–le des indiscrétions. Tenter de deviner un mot de passe est souvent la base d’une
tentative d’accès illégal. Pour une protection efficace des mots de passe, il n’y aucune
confusion entre les données de sécurité et les données utilisateur. Les mots de passe,
codés, et les autres données de sécurité se trouvent dans le fichier /etc/security/passwd.
Ce fichier ne doit être accessible que par l’utilisateur root : en restreignant ainsi cet accès,
un utilisateur malveillant ne peut décrypter les mots de passe via un programme qui boucle
sur un ensemble de mots de passe possibles.
Il reste possible de deviner un mot de passe en tentant la connexion à un compte : si le mot
de passe est banal ou qu’il n’est pas modifié assez souvent, l’opération risque d’aboutir.
ID de connexion
Le système d’exploitation identifie les utilisateurs grâce à leur ID de connexion. Cet ID
permet au système de suivre toutes les actions d’un utilisateur. Après la connexion d’un
utilisateur, mais avant l’exécution de son programme initial, le système affecte l’ID de
connexion du processus à l’ID utilisateur trouvé dans la base de données. Tous les process
suivants de la session sont affectés de cet ID. Il est ainsi possible de garder trace de toutes
les activités exécutées sous cet ID.
Au cours de la session, vous pouvez réinitialiser l’ID utilisateur effectif, l’ID utilisateur réel,
l’ID groupe effectif, l’ID groupe réel et l’ID groupe supplémentaire, mais vous ne pouvez pas
changer l’ID de connexion utilisateur.
Terminaux sans surveillance
Tous les systèmes sont vulnérables si des terminaux sont laissés connectés sans
surveillance. Le cas le plus grave étant celui d’un administrateur laissant sans surveillance
son terminal connecté sous l’identité de l’utilisateur root. En règle générale, les utilisateurs
doivent se déconnecter avant d’abandonner leur terminal.
Vous pouvez forcer un terminal à se déconnecter après une période d’inactivité en réglant
les paramètres TMOUT et TIMEOUT dans le fichier de profile profile /etc/.
Le paramètre TMOUT fonctionne dans le shell (Korn) ksh et le paramètre TIMEOUT
fonctionne dans le shell (Bourne) bsh. Pour de plus amples informations sur la commande
TMOUT, reportez–vous à Substitution de paramètres (shell Korn ou POSIX), page 12-22.
Pour de plus amples informations sur la commande TIMEOUT, reportez–vous à Substitution
de variables (shell Bourne), page 12-83.
L’exemple suivant, extrait d’un fichier .profile force le terminal à se désactiver après une
heure d’inactivité :
TO=3600
echo ”Setting Autologout to $TO”
TIMEOUT=$TO
TMOUT=$TO
export TIMEOUT TMOUT
Remarque : Vous pouvez annuler les valeurs TMOUT et TIMEOUT dans le fichier
/etc/profile en spécifiant d’autres valeurs dans le fichier .profile de votre répertoire
personnel.
Sécurité du système et des fichiers
10-3
Propriété des fichiers et groupes d’utilisateurs
A l’origine, le propriétaire d’un fichier est identifié par l’ID de l’utilisateur ayant créé le fichier.
C’est lui qui détermine qui peut lire, écrire (modifier) ou exécuter le fichier. La propriété peut
être modifiée avec la commande chown.
Chaque ID utilisateur est rattaché à un ID groupe unique. Les groupes sont créés par
l’administrateur au moment de la configuration du système. Lorsqu’un fichier est créé, le
système attribue des droits à l’ID de l’utilisateur créateur, à l’ID du groupe auquel il
appartient et à un groupe dit autres, consisté de tous les autres utilisateurs. La commande
id affiche votre ID utilisateur (UID), votre ID groupe (IP), et les noms de tous les groupes
auxquels vous appartenez.
Dans les listes de fichiers (comme les listes affichées par la commande ls ), les groupes
d’utilisateurs sont toujours représentés dans l’ordre suivant : utilisateur, groupe et autres. Si
vous avez besoin de trouver votre nom de groupe, la commande groupes affiche tous les
groupe d’un ID utilisateur.
Modification de la propriété d’un fichier ou d’un répertoire
(commande chown)
Pour changer le propriétaire de vos fichiers, lancez la commande chown.
Lorsque l’option –R est spécifiée, la commande chown redescend de manière récursive
dans la structure du répertoire à partir du répertoire spécifié. Chaque fois qu’elle rencontre
un lien symbolique, le propriétaire du fichier ou du répertoire sur lequel pointe le lien est
changé (la propriété du lien lui-même reste inchangée).
Remarque : Seul l’utilisateur root est habilité à changer le propriétaire d’un fichier dont il
n’est pas propriétaire. Les erreurs ne sont pas affichées lorsque l’option –f est spécifiée.
Par exemple, pour changer le propriétaire du fichier program.c, entrez :
chown jim program.c
Appuyez sur Entrée.
Les droits d’accès utilisateur au fichier program.c s’appliquent à présent à jim. Comme le
propriétaire, jim peut utiliser la commande chmod pour autoriser ou refuser l’accès à
d’autres utilisateurs au fichier program.c.
Reportez–vous à la commande chown dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Modes d’accès aux fichiers et aux répertoires
Chaque fichier a un propriétaire. Il s’agit du créateur du fichier, pour les nouveaux fichiers.
C’est lui qui définit le mode d’accès au fichier. Les modes d’accès déterminent les droits
accordés aux autres utilisateurs sur ce fichier. Seuls le propriétaire d’un fichier ou
l’utilisateur root peuvent modifier les droits d’accès à ce fichier.
Il existe trois classes d’utilisateurs : utilisateur/propriétaire, groupe et tous les autres. Les
droits accordés à ces classes d’utilisateurs sont une combinaison des trois modes: lecture,
écriture et exécution. Lorsqu’un nouveau fichier est créé, les droits d’accès par défaut les
droits d’accès en lecture, en écriture, et en exécution pour l’utilisateur qui a créé le fichier.
Les deux autres groupes disposent des droits d’accès en lecture et en exécution. Le
tableau ci–dessous illustre les droits accordés par défaut à chaque classe de groupes
d’utilisateurs :
10-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Classes
Lecture
Ecriture
Exécution
Propriétaire
Oui
Oui
Oui
Groupe
Oui
Non
Oui
Autres
Oui
Non
Oui
Le système détermine qui détient des droits et le niveau d’autorisation accordé pour chaque
activité. Les modes d’accès sont représentés de manière symbolique et de manière
numérique dans le système d’exploitation.
Représentation symbolique des droits d’accès
La représentation symbolique des droits d’accès est la suivante :
r
Droit de lecture : les utilisateurs sont autorisés à consulter le fichier.
w
Droit d’écriture : les utilisateurs sont autorisés à modifier le contenu du fichier.
x
Droit d’exécution : les utilisateurs sont autorisés à exécuter le fichier (il doit s’agir
bien entendu d’un fichier exécutable, c’est-à-dire, le plus souvent d’un fichier
contenant un programme). Pour les répertoires, ce droit donne la possibilité
d’explorer leur contenu.
Les modes d’accès des fichiers et des répertoires sont représentés par neuf caractères.
Les trois premiers caractères représentent les droits d’accès en cours de Propriétaire, les
trois caractères suivants représente les droits d’accès en cours de Groupe et les trois
derniers caractères représentent les paramètres par défaut des droits d’accès des Autres.
Un tiret (–) dans l’ensemble de neuf caractères indique qu’aucun droit d’accès n’est octroyé.
Par exemple, un fichier avec un mode d’accès, rwxr–xr–x autorise la lecture et
l’exécution aux trois groupes, mais les droits d’accès en écriture sont seulement octroyés
au propriétaire du fichier. Il s’agit de la représentation symbolique des droits par défaut.
La commande ls utilisée avec l’indicateur –l (L minuscule), fournit une liste détaillée du
répertoire courant. Les 10 premiers caractères de la liste ls –l affiche le type du fichier et les
droits d’accès pour chacun des trois groupes. La commande ls –l indique également le
propriétaire et le groupe associés à chaque fichier et à chaque répertoire.
Le premier caractère indique le type de fichier. Les neuf autres caractères comportent des
informations de droits d’accès au fichier pour chacune des trois classes d’utilisateurs. Voici
les types de fichiers possibles :
–
fichiers standard
d
répertoire
b
fichiers blocs spéciaux
c
fichiers caractères spéciaux
p
fichiers tubes spéciaux
l
liens symboliques
s
sockets
Dans cet exemple, il s’agit d’un extrait de liste ls –l :
–rwxrwxr–x
2
janet
acct
512 Mar 01 13:33 january
Le premier caractère le tiret (–) indique un fichier standard. Les neuf caractères suivants
(rwxrwxr–x) représentent les modes d’accès de Utilisateur, Groupe et Autres, comme
décrit auparavant. janet est le propriétaire du fichier et acct est le nom du groupe de
Janet. 512 est la taille du fichier, en octets, Mar 01 13:33 est la dernière date de
modification, et january est le nom du fichier. Le 2 indique le nombre de liens associés
au fichier.
Sécurité du système et des fichiers
10-5
Représentation numérique des droits d’accès
Numériquement, les droits d’accès sont représentés par 4 pour la lecture, 2 pour l’écriture
et 1 pour l’exécution. La somme des droits (comprise entre 1 et 7) représente les droits
d’accès de chaque catégorie (utilisateur, groupe et autres). Le tableau suivant présente les
valeurs numériques de chaque niveau d’accès :
Total
Lecture
Ecriture
Exécution
0
–
–
–
1
–
–
1
2
–
2
–
3
–
2
1
4
4
–
–
5
4
–
1
6
4
2
–
7
4
2
1
A la création d’un fichier, les droits par défaut sont représentés par 755, soit : accès en
lecture, écriture et exécution (4+2+1=7) pour l’utilisateur, accès en lecture et exécution
(4+1=5) pour le groupe, et lecture et exécution (4+1=5) pour les autres. Pour modifier les
modes de droits d’accès des fichiers que vous possédez, exécutez la commande chmod
(changer de mode).
Affichage d’informations sur le groupe (commande lsgroup)
Utilisez la commande lsgroup pour afficher les attributs de tous les groupes du système (ou
de groupes spécifiques). Si un ou plusieurs attributs ne peuvent pas être lus, la commande
lsgroup répertorie autant d’informations que possible. Les informations d’attribut s’affichent
sous la forme de définitions Attribut = Valeur, chacune étant séparée par un espace.
Liste de tous les groupes du système
Pour répertorier tous les groupes sur le système, entrez :
lsgroup ALL
Le système affiche les groupes, leur ID et la liste des utilisateurs du groupe, comme suit :
system 0
arne,pubs,ctw,geo,root,chucka,noer,su,dea,
backup,build,janice,denise
staff
1
john,ryan,flynn,daveb,jzitt,glover,maple,ken
gordon,mbrady
bin
2
root,bin
sys
3
root,su,bin,sys
10-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liste d’attributs spécifiques de tous les groupes
Pour afficher les attributs spécifiques de tous les groupes, effectuez l’une des étapes
suivantes :
• Série d’expressions Attribut=Valeur, séparées par un espace (style par défaut).
C’est le style par défaut. Par exemple, pour afficher la liste des ID et des utilisateurs de
tous les groupes du système, entrez :
lsgroup –a id users ALL | pg
Appuyez sur Entrée. Cette commande affiche les attributs.
Une liste semblable à la suivante s’affiche :
system id=0 users=arne,pubs,ctw,geo,root,chucka,noer,su,dea,backup,build
staff id=1 users=john,ryan,flynn,daveb,jzitt,glover,maple,ken
• Format strophes. Par exemple, pour afficher la liste des ID et des utilisateurs de tous les
groupes du système au format strophe, entrez :
lsgroup –a –f id users ALL | pg
Une liste semblable à la suivante s’affiche :
system:
id=0
users=pubs,ctw,geo,root,chucka,noer,su,dea,backup,build
staff:
id=1
users=john,ryan,flynn,daveb,jzitt,glover,maple,ken
bin:
id=2
users=root,bin
sys:
id=3
users=root,su,bin,sys
Affichage des attributs d’un groupe spécifique
Pour afficher tous les attributs d’un groupe spécifique, vous avez également le choix entre
deux styles :
• Série d’expressions Attribut=Valeur, séparées par un espace. C’est le style par
défaut. Par exemple, pour afficher la liste des attributs du groupe système, entrez :
lsgroup system
Une liste semblable à la suivante s’affiche :
system id=0
users=arne,pubs,ctw,geo,root,chucka,noer,su,dea,backup,build,janice,denise
• Format strophes. Par exemple, pour afficher la liste de tous les attributs du groupe bin
au format strophes, entrez :
lsgroup –f system
Une liste semblable à la suivante s’affiche :
system:
id=0
users=arne,pubs,ctw,geo,root,chucka,noer,su,dea,
backup,build,janice,denise
Sécurité du système et des fichiers
10-7
Liste d’attributs spécifiques d’un groupe
Pour afficher des attributs spécifiques d’un groupe donné, entrez :
lsgroup –a Attributs Groupe
Par exemple, pour afficher la liste des ID et des utilisateurs du groupe bin, entrez :
lsgroup –a id users bin
Appuyez sur Entrée.
Une liste semblable à la suivante s’affiche :
bin id=2 users=root,bin
Reportez–vous à la commande lsgroup dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
Modification des droits d’accès aux fichiers et aux répertoires
(commande chmod)
Pour modifier les droits d’accès en lecture, en écriture et en exécution des fichiers spécifiés,
et les modes des répertoires spécifiés, utilisez la commande chmod.
Voir les exemple ci–après :
• Pour ajouter un type de permission aux fichiers chap1 et chap2, entrez :
chmod g+w chap1 chap2
Le droit d’accès en écriture aux fichiers chap1 et chap2 est octroyé aux membres
du groupe.
• Pour apporter simultanément plusieurs changements de permission au répertoire
monrep, entrez :
chmod go–w+x monrep
Cette commande refuse (–) aux membres du groupe (g) et aux autres utilisateurs (o) les
droits de créer ou de supprimer les fichiers (w) dans le répertoire monrep et permet (+)
aux membres du groupe et aux autres utilisateurs d’effectuer une recherche dans le
répertoire monrep ou de l’utiliser (x) dans un nom de chemin d’accès. Cette commande
équivaut à la séquence:
chmod g–w monrep
chmodo–wmonrep
chmodg+xmonrep
chmodo+xmonrep
• Pour réserver à son propriétaire l’usage de la procédure shell cmd comme commande,
entrez :
chmod u=rwx,go= cmd
Les droits d’accès en lecture, en écriture et en exécution sont alors octroyés à
l’utilisateur propriétaire du fichier (u=rwx). Le groupe et les autres utilisateurs se voient
également refuser les droits d’accès à cmd ( go= ).
• Pour utiliser le mode numérique de la commande chmod pour changer les droits
afférents au fichier text, entrez :
chmod 644 text
Ce qui accorde au propriétaire le droit d’accès en lecture et en écriture, les autres
se contentant de la lecture seule.
Reportez–vous à la commande chmod dans le manuel AIX 5L Version 5.3 Commands
Reference pour avoir la syntaxe complète.
10-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Listes de contrôle d’accès
Le contrôle d’accès est constitué de ressources d’informations protégées indiquant qui peut
avoir accès à ces ressources. Le système d’exploitation permet un accès limité aux initiés
ainsi qu’une sécurité discrétionnaire. Le propriétaire d’une ressource d’informations peut
octroyer des droits d’accès en lecture ou en écriture à d’autres utilisateur pour cette
ressource. Un utilisateur possédant des droits d’accès à une ressource peut transférer ses
droits à d’autres utilisateurs. Cette sécurité permet un flux d’informations contrôlé par
l’utilisateur dans le système. Le propriétaire d’une ressource d’informations définit les droits
d’accès à l’objet.
Les utilisateurs possèdent uniquement un accès basé sur le nombre d’utilisateurs vers
l’objet qu’ils possèdent. En général, les utilisateurs reçoivent soit des droits de groupe soit
des droits par défaut pour une ressource. La tâche principale pour l’administration du
contrôle d’accès consiste à définir l’appartenance à un groupe des utilisateurs, en effet,
cette appartenance détermine les droits d’accès des utilisateurs aux fichiers qu’ils ne
possèdent pas.
Liste ACL pour objets de systèmes de fichiers
Les objets de systèmes de fichiers sont généralement associés à une Liste de contrôle des
accès (Access Control List) qui se compose normalement d’une série d’entrées de contrôle
des accès (Access Control Entries). Chaque entrée ACE définit l’identité et les droits
d’accès afférents.
Pour conserver les listes de contrôle des accès, utilisez les commandes aclget, acledit,
aclput et aclconvert.
Notez que la liste ACL est généralement stockée et gérée sur le support pas le système de
fichier physique (PFS). AIX 5.3 fournit une infrastructure pour les systèmes de fichiers
physiques afin de prendre en charge et gérer différents types de listes ACL. Le système de
fichier JFS2 fourni avec AIX prend en charge deux types de listes ACL :
• AIXC
• NFS4
Les systèmes de fichier précédents ne prennent en charge que le type de liste ACL AIXC
comme dans les versions précédentes du logiciel AIX. Ces types de listes ACL sont décrits
en détail dans le manuel AIX 5L Version 5.3 Security Guide. Les sections suivantes
comportent de brèves explications de ces types de listes ACL.
Type de liste ACL AIXC
Le type de liste ACL AIXC (AIX Classic) tient compte du comportement de la liste ACL,
comme défini dans les versions précédentes de AIX. Ce type de liste ACL comporte les bits
en mode de base réguliers et les droits étendus (ACE). Par le biais de ces droits étendus,
vous pouvez autoriser ou interdire l’accès à un fichier sans modifier les droits de base.
Remarque :
La liste ACL AIXC d’un fichier ne peut pas excéder une page mémoire
(environ 4096 octets).
La commande chmod en mode numérique (avec notations octales) peut définir des droits
d’accès et des attributs de base. La sous–routine chmod, appelée par la commande,
désactive les droits d’accès étendus. Si vous utilisez le mode numérique de la commande
chmod sur un fichier doté d’une liste ACL, les droits d’accès étendus sont désactivés. Le
mode symbolique de la commande chmod ne désactive pas les droits d’accès étendus
lorsque la liste ACL associée est du type AIXC. Pour en savoir plus sur ces modes,
reportez–vous à la commande chmod.
Sécurité du système et des fichiers
10-9
Droits d’accès de base
Les droits d’accès de base de la liste ACL AIXC sont les modes d’accès fichier attribués
normalement au propriétaire du fichier, au groupe associé et aux autres utilisateurs. Les
modes d’accès sont en lecture (r), en écriture (w) et en exécution/recherche (x).
Remarque :
Les droits d’accès de base du type de liste ACL AIXC sont identiques aux
bits en mode fichier stockés dans les en–têtes i–node de l’objet du système
de fichiers. Ceci signifie que les informations en bits en mode de base sont
identiques à la valeur retournée par le système fichier lorsque la commande
stat est exécutée sur l’objet de système fichier.
Dans une liste de contrôle d’accès, les droits d’accès de base sont au format suivant, avec
le paramètre Mode exprimé en rwx (un tiret (–) remplaçant chaque droit non spécifié) :
droits d’accès de base :
propriétaire(nom) : Mode
groupe (groupe) : Mode
autres : Mode
Attributs
Trois attributs peuvent être ajoutés à une liste de contrôle d’accès :
setuid (SUID) Bit ID utilisateur Cet attribut définit les ID utilisateurs effectifs et
sauvegardés
du process sur l’ID propriétaire du fichier en cours d’exécution.
setgid (SGID) Bit ID groupe Cet attribut définit les ID groupes effectifs et sauvegardés
du process sur l’ID groupe du fichier en cours d’exécution.
savetext (SVTX) Sauvegarde le texte sous format fichier texte.
Ces attributs sont ajoutés au format suivant :
attributs : SUID, SGID, SVTX
Droits d’accès étendus
Les droits étendus de la liste ACL AIXC sont un moyen pour le propriétaire d’un fichier de
définir plus précisément les droits d’accès à ce fichier. Ils permettent de modifier les droits
de base (utilisateur, groupe et autres) en accordant, en supprimant ou en spécifiant des
droits spécifiques pour des individus, des groupes ou des combinaisons de groupes. Les
droits d’accès sont modifiés à l’aide de mots clés.
Les mots clés autoriser, refuser et spécifier sont définis comme suit :
autoriser
Accorde à l’utilisateur ou au groupe l’accès spécifié au fichier
refuser
Retire à l’utilisateur ou au groupe le droit d’accès spécifié au fichier
spécifier
Définir précisément l’accès au fichier par l’utilisateur ou le groupe.
Si un utilisateur se voir refuser un accès spécifique par une touche accès refusé ou une
touche spécification, aucune autre entrée ne peut remplacer ce refus d’accès.
La touche activé doit être spécifiée dans la liste de contrôle d’accès pour que les droits
étendus prennent effet. La valeur par défaut est la touche désactivé.
Dans une liste ACL AIXC, les droits d’accès étendus apparaissent sous la forme :
droits d’accès étendus :
activé | désactivé
accès accordé
Mode
accès refusé
Mode
spécification
Mode
10-10
InfoUtil...:
InfoUtil...:
InfoUtil...:
AIX Guide de l’utilisateur – Système d’exploitation et unités
Utilisez une ligne de séparation pour chaque entrée accès accordé, accès refusé ou
spécification. Le paramètre Mode est exprimé en rwx (un tiret (–) remplaçant chaque droit
non spécifié). Le paramètre InfoUtil est exprimé de la façon suivante : u : NomUtilisateur
ou g : NomGroupe ou une combinaison, séparée par une virgule,
de u : NomUtilisateur et g : NomGroupe.
Remarque :
Si vous spécifiez plusieurs noms d’utilisateur dans une entrée, celle–ci ne
peut pas être utilisée dans une décision de contrôle d’accès car un process
n’a qu’un seul ID utilisateur.
Type de liste ACL NFS4
Le système de fichiers JFS2 dans AIX prend aussi en charge le type de liste ACL NFS 4.
Cette implémentation de liste ACL suit la définition de liste ACL comme indiqué dans le
RFC associé au protocole de la version 4 du NFS. Cette liste ACL fournit un contrôle
granulaire beaucoup plus affiné sur les droits d’accès et fournit des fonctions spécifiques
comme l’héritage. La liste ACL NFS4 est une série d’entrées ACE. Chaque entrée ACE
définit les droits d’accès pour une identité. Comme défini dans le RFC, les principaux
éléments de l’entrée ACE NFS4 sont :
struct nfsace4 {
acetype4
aceflag4
acemask4
utf8str_mixed
type;
flag;
access_mask;
who;
};
Où :
type
Masque de bit définissant le type d’entrée ACE. Certaines informations,
comme par exemple si cette entrée ACE permet l’accès ou le refuse, sont
définies ici.
flag
Masque de bit qui décrit les aspects d’héritage de l’entrée ACE. Définit si
cette entrée ACE s’applique à l’objet de systèmes de fichiers, à ses enfants
ou aux deux.
access_mask
Masque de bit définissant différents droits d’accès possibles. Parmi ces
droits figurent : lecture, écriture, exécuter, créer, supprimer, créer enfant,
supprimer enfant, etc.
who
Cette chaîne se terminant par zéro définit l’identité de la personne à qui
cette entrée ACe s’applique. Notez que par RFC, la taille de cette chaîne
est illimitée et une définition peu précise permet de définir des domaines à
l’intérieur des réseaux de NFS version 4 pour gérer le contrôle des accès.
A l’origine (la plupart du temps) AIX n’interprète pas cette chaîne et chaque
entrée ACE est associée avec une identité comprise par AIX (comme uid
ou gid). Le système de fichier NFS (Network File System) version 4 est
censé interpréter ces chaînes lorsqu’il s’avère nécessaire de les convertir
en ID utilisateur ou groupe prises en charge par le système d’exploitation.
AIX comprend seulement certaines des chaînes spéciales who définies
dans le RFC.
Dans AIX, utilisez les commandes aclget, acledit, aclput et aclconvert pour gérer les
listes ACL NFS4.
Sécurité du système et des fichiers
10-11
Exemple de liste ACL pour AIXC
Voici un exemple de liste ACL pour AIXC :
attributs : SUID
droit d’accès de base
propriétaire(frank):
groupe(system):
autres: –––
droits d’accès étendus :
activé
accès accordé rw–
accès refusé
r––
spécification r––
accès accordé rw–
rw–
r–x
u:dhs
u:chas, g:system
u:john, g:gateway, g:mail
g:account, g:finance
Voici la signification des différents éléments de cette liste :
• La première ligne indique que l’octet setuid est activé.
• La deuxième ligne, qui introduit les droits de base, est facultative.
• Les trois lignes suivantes précisent ces droits. Les noms du propriétaire et du groupe
(entre parenthèses) sont donnés à titre d’information : les modifier n’a pas d’incidence
sur le propriétaire réel du fichier, pas plus que sur le groupe auquel appartient le fichier.
Seule la commande chown et la commande chgrp peuvent modifier ces attributs de
fichier.
• La ligne suivante, qui introduit les droits étendus, est facultative.
• La ligne suivante indique que les droits étendus qui suivent sont activés.
• Les quatre dernières lignes correspondent aux entrées étendues :
• La première entrée étendue accorde à l’utilisateur dhs l’accès en lecture (r) et en écriture
(w) au fichier.
• La deuxième entrée étendue refuse les droits d’accès en lecture (r) à l’utilisateur chas
uniquement s’il est membre du groupe system.
• La troisième entrée étendue indique qu’aussi longtemps que l’utilisateur john est
membre des groupes gateway et mail il détiendra les droits d’accès en lecture (r).
Si l’utilisateur john n’appartient plus à ces deux groupes, l’accès lui est refusé.
• La dernière entrée étendu octroie à tout utilisateur appartenant aux deux groupes,
account et finance, les droits d’accès en lecture (r) et en écriture (w).
Remarque :
Plusieurs entrées étendues peuvent être appliquées à un process, les
interdits primant sur les autorisations.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
acledit dans le manuel AIX 5L Version 5.3 Commands Reference.
Autorisations d’accès
Le propriétaire de la ressource d’informations est responsable de la gestion des droits
d’accès. Les ressources sont protégées par des bits d’accès, intégrés au mode de l’objet.
Pour la liste ACL AIXC, ces bits définissent les droits du propriétaire de l’objet, ceux du
groupe correspondant et ceux de la classe par défaut autres. Le type de liste ACL AIXC
gère trois droits d’accès (lecture, écriture et exécution), qui peuvent être accordés
séparément.
Lorsqu’un utilisateur se connecte à un compte (via une commande login ou su), les ID
utilisateur et groupe attribués au compte sont associés aux processus de cet utilisateur et
en déterminent les droits d’accès. Ces ID déterminent les droits d’accès du processus.
Pour les fichiers, les répertoires, les tubes nommés, et les unités (fichiers spéciaux)
associés à une liste ACL AIX, les accès sont autorisés comme suit :
10-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
• Pour chaque entrée (ACE) de la liste de contrôle des accès (ACL), la liste des
identificateurs est comparée aux identificateurs du process. Si elles sont identiques, le
process se voit attribuer les droits et les interdits définis pour cette entrée. Les
correspondances logiques pour les droits comme pour les interdits sont calculées pour
chaque entrée concernée de l’ACL. Si le process demandeur ne correspond à aucune
entrée de l’ACL, il se voit attribuer les droits associés à l’entrée par défaut.
• Si le droit d’accès demandé est autorisé (compris dans la somme des droits) et non
interdit (compris dans la somme des interdits), le droit demandé est accordé. Sinon, il est
refusé.
De plus, pour un type de liste ACL AIXC, la liste des identificateurs d’une liste ACL
correspond à un process si tous ses identificateurs correspondent à l’identificateur effectif –
de même type – du process demandeur. Un identificateur de type USER correspond à un
process s’il est identique à l’ID utilisateur effectif du process. Un identificateur de type
GROUP correspond s’il est identique à l’ID groupe effectif du process ou à l’un des ID des
groupes complémentaires. Ainsi, une liste ACE avec la liste d’identificateurs suivante :
USER:fred, GROUP:philosophers, GROUP:software_programmer
correspondrait à un process avec un ID utilisateur effectif, fred et à un ensemble de
groupes,
philosophers, philanthropists, software_programmer, doc_design
mais ne correspondrait pas à un process avec un ID utilisateur effectif, fred et à un
ensemble de groupes,
philosophers, iconoclasts, hardware_developer, graphic_design
Notez qu’une ACE avec la liste suivante correspond aux deux process :
USER:fred, GROUP:philosophers
En d’autres termes, la liste d’identificateurs de l’ACE fonctionne comme un ensemble de
conditions, à respecter pour que l’accès spécifié soit accordé.
Le mécanisme de contrôle d’accès discrétionnaire assure un contrôle effectif de l’accès aux
ressources et assure une protection distincte de la confidentialité et de l’intégrité des
informations. Les mécanismes de contrôle gérés par le propriétaire ne sont effectifs que s’ils
sont définis par les utilisateurs. Tous les utilisateurs doivent maîtriser le mécanisme d’octroi
et de refus de droits d’accès.
Notez qu’avec les objets de systèmes de fichiers avec un type de liste ACL NFS4, les
contrôles d’accès sont basés sur différentes entrées ACE qui composent la liste ACL
conformément aux règles définies dans le RFC associé au protocole de la version 4 du
NFS. La correspondance d’identité est effectuée sur la base de l’ID utilisateur ou de l’ID
groupe ou des chaînes spéciales who définies dans la liste ACE par rapport aux droits du
process. En cas de correspondance, les droits d’accès demandés sont comparés aux droits
d’accès définis dans la liste ACE. Tout droit d’accès autorisé est mis de côté et le processus
de comparaison se poursuit sur l’entrée ACE suivante. Ce process se poursuit jusqu’à ce
que la liste ACL soit intégralement parcourue, jusqu’à ce que les conditions relatives aux
droits d’accès soient remplies ou bien jusqu’à ce que les droits d’accès demandés soient
refusés. Les étapes suivantes montrent le processus de vérification d’accès en présence
d’un objet de système de fichier avec une liste ACL NFS4 :
1. Pour chaque entrée (ACE) de la liste de contrôle des accès (ACL), la liste des
identificateurs est comparée aux identificateurs du process. Les contrôles d’identité
comprennent l’ID utilisateur ou l’ID groupe définie dans la liste ACE. De plus, si l’identité
est définie comme étant spéciale avec des chaînes comme OWNER@, une
correspondance sera obtenue si le process d’appel est engagé par le propriétaire du
fichier. En cas de correspondance, le process se voit attribuer les droits d’accès définis
pour cette entrée. Sinon, le process se poursuit avec l’entrée ACE suivante.
2. Les droits d’accès demandés sont comparés avec les droits d’accès récupérés à partir
de l’entrée ACE. Si tout droit d’accès est explicitement refusé par l’entrée ACE, le
Sécurité du système et des fichiers
10-13
process de vérification de l’accès est stoppé et l’accès sera refusé au process
demandeur.
3. Si certains des droits d’accès demandés sont conformes avec l’entrée ACE, ces droits
d’accès seront séparés de la liste des droits d’accès demandés. Le process de
comparaison se poursuit alors avec l’entrée ACE suivante.
4. Si tous les droits d’accès demandés sont conformes avec l’entrée ACE, l’accès
demandé est alors autorisé.
5. Si l’ensemble de la liste ACL est traité avant que tous les droits d’accès demandés
n’aient été résolus, l’accès est refusé.
Notez que, mis à part les contrôles d’accès basés sur le type de liste ACL, les systèmes de
fichiers physiques individuels peuvent aussi fournir un accès basé sur les privilèges aux
objets de systèmes de fichiers. Par exemple, un propriétaire pourra toujours avoir au moins
les droits pour modifier la liste ACL, indépendamment des droits d’accès ACL existants. Un
process doté de l’ID utilisateur 0 est dit process utilisateur racine. Ces process ont
généralement tous les droits d’accès. Toutefois, si un processus root demande le droit
d’exécution sur un programme, celui–ci ne lui est accordé que s’il est détenu par au moins
un utilisateur.
Tous les contrôles d’accès pour ces objets sont effectués au niveau de l’appel système,
au moment du premier accès aux objets. Dans la mesure où l’accès aux objets SVIPC n’est
pas nominatif, les contrôles sont effectués à chaque accès. Cependant, des contrôles
peuvent être effectués par les systèmes de fichiers physiques lorsque l’objet de système de
fichiers est ouvert et non lors du process de lecture ou d’écriture. Pour les objets avec noms
de systèmes de fichiers, il est nécessaire de pouvoir résoudre le nom de l’objet réel.
Les noms sont résolus de façon relative (au répertoire de travail du process) ou absolue
(par rapport au répertoire racine du process). Toute résolution de nom commence par la
recherche de l’un de ces deux éléments.
Affichage des informations de contrôle des accès (commande aclget)
La commande aclget permet d’afficher les informations de contrôle des accès à un fichier.
Les informations affichées dépendront du type de liste ACL.
Par exemple, pour afficher les informations de contrôle des accès au fichier d’état, entrez :
aclget status
Une liste indiquant les attributs, les droits d’accès de base et les droits d’accès étendus
s’affiche. Un exemple est donné à la section Exemple de liste ACL, page10-15.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
aclget dans le manuel AIX 5L Version 5.3 Commands Reference.
Paramétrage des informations de contrôle des accès
(commande aclput)
La commande aclget permet de paramétrer les informations de contrôle des accès
à un fichier.
Par exemple, pour paramétrer les informations de contrôle des accès au fichier d’état,
avec des informations de contrôle des accès stockées dans le fichier acldefs, entrez :
aclput –i acldefs status
Pour paramétrer les informations de contrôle des accès au fichier d’état avec les mêmes
informations que celles utilisées pour le fichier plans, entrez :
aclget plans | aclput status
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
aclput dans le manuel AIX 5L Version 5.3 Commands Reference.
10-14
AIX Guide de l’utilisateur – Système d’exploitation et unités
Modification des informations de contrôle des accès
(commande acledit)
Utilisez la commande acledit pour modifier les informations de contrôle des accès à un
fichier. Elle affiche les informations courantes et permet au propriétaire du fichier de les
modifier. Une confirmation est demandée avant toute modification permanente.
Remarque :
La variable d’environnement EDITOR doit être spécifiée avec un nom de
chemin complet ; dans le cas contraire, la commande acledit échoue.
Les information de contrôle des accès qui s’affichent dépendent du type de liste ACL.
Un exemple est donné à la section Exemple de liste ACL, page10-15.
Pour modifier les informations de contrôle des accès du fichier plans, entrez :
acledit plans
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
acledit dans le manuel AIX 5L Version 5.3 Commands Reference.
Exemple de liste ACL
Voici un exemple de liste ACL :
attributes : SUID
base permissions:
owner(frank):
group(system):
others: –––
extended permissions:
enabled
permit rw–
deny
r––
specify r––
permit rw–
rw–
r–x
u:dhs
u:chas, g:system
u:john, g:gateway, g:mail
g:account, g:finance
Voici la signification des différents éléments de cette liste :
• La première ligne indique que le bit setuid est activé.
• La deuxième ligne, qui présente les droits d’accès de base, est facultative.
• Les trois lignes suivantes précisent ces droits. Les noms du propriétaire et du groupe
(entre parenthèses) sont donnés à titre d’information. La modification de ces noms n’a
pas d’incidence sur le propriétaire réel du fichier, pas plus que sur le groupe auquel
appartient le fichier. Seules les commandes chown et chgrp permettent de modifier ces
attributs.
• La ligne suivante, qui présente les droits d’accès étendus, est facultative.
• La ligne suivante indique que les droits d’accès étendus qui suivent sont activés.
• Les quatre dernières lignes correspondent aux entrées étendues : La première entrée
étendue accorde à l’utilisateur dhs l’accès en lecture (r) et en écriture (w) au fichier.
• La deuxième interdit l’accès en lecture (r) à l’utilisateur chas lorsqu’il est membre du
groupe system.
• La troisième accorde à l’utilisateur john l’accès en lecture (r) tant qu’il est membre des
deux groupes gateway et mail. Si l’utilisateur john n’appartient pas à ces deux
groupes, l’accès lui est refusé.
• La dernière ligne, enfin, accorde à tout utilisateur membre des deux groupes account
et finance l’accès en lecture (r) et en écriture (w).
Remarque :
Plusieurs entrées étendues peuvent être appliquées à un process,
les interdits primant sur les autorisations.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
acledit dans le manuel AIX 5L Version 5.3 Commands Reference.
Sécurité du système et des fichiers
10-15
Affichage des informations de contrôle des accès (commande aclget)
Utilisez la commande aclget pour afficher les informations de contrôle des accès à un
fichier. Ces informations sont les attributs, les droits d’accès de base et les droits d’accès
étendus.
Par exemple, pour afficher les informations de contrôle des accès au fichier d’état, entrez :
aclget status
Une liste indiquant les attributs, les droits d’accès de base et les droits d’accès étendus
s’affiche. Un exemple est donné à la section Exemple de liste ACL, page10-15.
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
aclget dans le manuel AIX 5L Version 5.3 Commands Reference.
Paramétrage des informations de contrôle des accès
(commande aclput)
Utilisez la commande aclput pour paramétrer les informations de contrôle des accès à un
fichier.
Remarque : Une liste de contrôle des accès ne peut pas excéder une page mémoire
(environ 4096 octets).
Voir les exemple ci–après :
• Pour paramétrer les informations de contrôle des accès pour le fichier d’état avec celles
stockées dans le fichier acldefs, entrez :
aclput –i acldefs status
• Pour paramétrer les informations de contrôle des accès au fichier d’état avec les
mêmes informations que celles utilisées pour le fichier plans, entrez :
aclget plans | aclput status
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
aclput dans le manuel AIX 5L Version 5.3 Commands Reference.
Modification des informations de contrôle des accès
(commande acledit)
Utilisez la commande acledit pour modifier les informations de contrôle des accès à un
fichier. Elle affiche les informations courantes et permet au propriétaire du fichier de les
modifier. Une confirmation est demandée avant toute modification permanente.
Remarque :La variable d’environnement EDITOR doit être spécifiée avec son chemin
d’accès complet, faute de quoi la commande acledit échoue.
Une liste indiquant les attributs, les droits d’accès de base et les droits d’accès étendus
s’affiche. Un exemple est donné à la section Exemple de liste ACL, page 10-15.
Par exemple, pour modifier les informations de contrôle des accès au fichier plans,
entrez :
acledit plans
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
acledit dans le manuel AIX 5L Version 5.3 Commands Reference.
10-16
AIX Guide de l’utilisateur – Système d’exploitation et unités
Verrouillage du terminal (commande lock ou xlock)
Utilisez la commande lock pour verrouiller votre terminal. La commande lock vous invite à
entrer votre mot de passe, le lit, puis vous invite à entrer de nouveau votre mot de passe
afin de le vérifier. Dans l’intervalle, la commande verrouille l’écran et ne le libère que
lorsque vous indiquez le mot de passe la seconde fois. Le délai par défaut est de
15 minutes, mais vous pouvez le modifier via l’indicateur – Nombre.
Remarque : Si vous travaillez sous AIXwindows, utilisez la commande xlock de la
même manière.
Par exemple, pour verrouiller votre écran avec contrôle par le mot de passe, entrez :
lock
Vous êtes invité à indiquer votre mot de passe deux fois pour que le système le vérifie.
Si ce mot de passe n’est pas répété dans les 15 minutes qui suivent, la commande expire.
Par exemple, pour attribuer un délai de 10minutes à un terminal sous contrôle par mot de
passe, entrez :
lock –10
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
lock ou xlock dans le manuel AIX 5L Version 5.3 Commands Reference.
Sécurité du système et des fichiers
10-17
Récapitulatif des commandes relatives à la sécurité
10-18
acledit
Modifie les données de contrôle d’accès à un fichier
aclget
Affiche les données de contrôle d’accès à un fichier
aclput
Définit les données de contrôle d’accès à un fichier
chmod
Modifie les droits d’accès
chown
Change le propriétaire d’un fichier
lock
Réserve un terminal
lsgroup
Affiche les attributs de groupes
xlock
Verrouille l’écran X local (jusqu’à l’entrée d’un mot de passe)
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 11. Personnalisation de l’environnement
utilisateur
Le système d’exploitation met à votre disposition plusieurs commandes et fichiers
d’initialisation vous permettant de personnaliser à votre gré votre environnement utilisateur.
Il est également possible de personnaliser certaines ressources par défaut des applications
utilisées sur votre système. Les valeurs par défaut sont lancées par le programme au
démarrage. Si vous les modifiez, vous devez quitter le programme et le relancer pour que
les nouvelles valeurs soient prises en compte.
Pour obtenir des informations sur la personnalisation de votre environnement Common
Desktop, reportez–vous à Common Desktop Environment 1.0 : Advanced User’s and
System Administrator’s Guide.
Cette section décrit les points suivants :
•
•
•
•
Fichiers de lancement du système : généralités, page 11-2
–
Fichier /etc/profile, page 11-3
–
Fichier /etc/profile, page 11-2
–
Fichier /etc/profile, page 11-3
–
Fichier .env, page 11-4
Fichiers de lancement du système : généralités, page 11-5
–
Fichier .xinitrc, page 11-5
–
Fichier .Xdefaults, page 11-6
–
Fichier .mwmrc, page 11-7
Personnalisation de votre environnement système, page 11-9
–
Exportation de variables shell (command shell export), page 11-9
–
Changement de la police par défaut (commande chfont), page 11-9
–
Changement de l’affectation des touches de contrôle (commande stty), page 11-10
–
Changement de l’invite système, page 11-11
Récapitulatif des commandes de personnalisation, page 11-12
Personnalisation de l’environnement utilisateur
11-1
Fichiers de lancement du système : généralités
Lorsque vous vous connectez, le shell définit votre environnement utilisateur en fonction
des fichiers d’initialisation que vous avez configurés. Les caractéristiques de votre
environnement utilisateur sont définies à l’aide des valeurs attribuées à vos variables
d’environnement. L’environnement reste actif jusqu’à ce que vous vous déconnectiez.
Au moment de la connexion au système d’exploitation, le shell se sert de deux types de
fichiers de profil. Il évalue les commandes de ces fichiers, puis exécute les commandes de
configuration de l’environnement. Ces fichiers possèdent des fonctions similaires, si ce n’est
que le fichier /etc/profile contrôle les variables de profil de tous les utilisateurs d’un
système, tandis que le fichier .profile permet de personnaliser votre propre environnement.
Le shell exécute d’abord les commandes pour définir votre environnement système dans le
fichier /etc/environment puis évalue les commandes contenues dans le fichier /etc/profile.
Le shell vérifie ensuite si vous disposez d’un fichier .profile dans votre répertoire personnel.
Si un fichier .profile existe, il est lancé. Le fichier .profile indique également s’il existe un
fichier d’environnement. Dans l’affirmative (le fichier s’appelle généralement .env), le
système l’exécute et configure les variables d’environnement.
Les fichiers /etc/profile, /etc/environment et .profile sont exécutés une fois au moment de
la connexion. Le fichier .env, lui, est exécuté chaque fois que vous ouvrez un nouveau shell
ou une fenêtre.
Cette section traite des points suivants :
•
Fichier /etc/environment, page 11-2
•
Fichier /etc/profile, page 11-3
•
Fichier .profile, page 11-3
•
Fichier .env, page 11-4.
Fichier /etc/environment
Le fichier /etc/environment est le premier fichier utilisé par le système au moment de la
connexion. Il contient des variables spécifiant l’environnement de base de tous les process.
Lorsqu’un nouveau process est lancé, la sous–routine exec crée un tableau des chaînes
disponibles, sous la forme Nom=Valeur. Ce tableau est appelé environnement. Chaque nom
défini par une chaîne étant appelé variable d’environnement ou variable shell. La
sous–routine exec permet de définir en une seule fois l’ensemble de l’environnement.
Lorsque vous vous connectez, le système définit les variables d’environnement à partir du
fichier /etc/environment avant de lire votre profil de connexion, .profile. Voici les variables
constitutives de l’environnement de base.
HOME
LANG
NLSPATH
LOCPATH
CHEMIN
TZ
Chemin d’accès complet au répertoire de connexion ou HOME de
l’utilisateur. Le programme login lui affecte le nom défini dans le
fichier /etc/passwd.
Nom courant actuel. La variable LANG est initialement définie dans
le fichier /etc/profile au moment de l’installation.
Chemin d’accès complet aux catalogues de messages.
Chemin d’accès complet à l’emplacement des tables NLS
(National Language Support).
Séquence des répertoires à explorer par des commandes, telles
que sh, time, nice et nohup, à la recherche d’une commande dont
le chemin d’accès est incomplet.
Zone temps. La variable d’environnement TZ est initialement définie
dans le fichier /etc/profile, le fichier de connexion système.
Reportez–vous au manuel AIX 5L Version 5.3 Files Reference pour obtenir des informations
détaillées sur le fichier /etc/environment.
11-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
fichier /etc/profile
Le fichier /etc/profile est le second fichier utilisé par le système au moment de la
connexion. Ce fichier contrôle des variables par défaut applicables à l’intégralité du
système, telles que :
• Variables d’exportation
• Masque de création de fichier (umask)
• Types de terminaux
• Messages indiquant l’arrivée d’un nouveau message électronique
L’administrateur système configure le fichier /etc/profile pour tous les utilisateurs
du système. Lui seul est habilité à le modifier.
Voici un exemple de fichier /etc/profile :
#Set file creation mask
unmask 022
#Tell me when new mail arrives
MAIL=/usr/mail/$LOGNAME
#Add my /bin directory to the shell search sequence
PATH=/usr/bin:/usr/sbin:/etc::
#Set terminal type
TERM=lft
#Make some environment variables global
export MAIL PATH TERM
Reportez–vous au manuel AIX 5L Version 5.3 Files Reference pour obtenir des informations
détaillées sur le fichier /etc/profile.
Fichier .profile
Le troisième fichier utilisé par le système au moment de la connexion est le fichier .profile.
Le fichier.profile se trouve dans votre répertoire personnel ($HOME) et permet de
personnaliser votre environnement de travail individuel. Etant donné que le fichier .profile
est caché, utilisez la commande ls–a pour l’afficher.
Une fois que le programme login a intégré les variables LOGNAME (nom de connexion)
et HOME (répertoire de connexion) à l’environnement, les commandes du fichier
$HOME/.profile (si présent) sont exécutées. Le fichier .profile contient votre propre profil,
qui prime sur les variables définies dans le fichier /etc/profile. Le fichier .profile est souvent
utilisé pour définir les variables d’environnement exportées et les modes du terminal.
Modifiez le fichier .profile pour adapter précisément votre environnement à vos besoins.
Utilisez le fichier .profile pour contrôler les paramètres par défaut suivants :
• Shells à ouvrir
• Style de l’invite
• Son du clavier
Voici un exemple de fichier .profile :
PATH=/usr/bin:/etc:/home/bin1:/usr/lpp/tps4.0/user::
epath=/home/gsc/e3:
export PATH epath
csh
Dans cet exemple, deux variables de chemin ( PATH et epath ), sont définies, puis
exportées, et un shell C ( csh ) est ouvert.
Vous pouvez également utiliser le fichier .profile (ou, à défaut, le fichier /etc/profile) pour
déterminer les variables du shell de connexion. Vous pouvez également personnaliser
d’autres environnements shell. Par exemple, utilisez le fichier .cshrc et le fichier .kshrc
pour personnaliser un shell C et un shell Korn (respectivement).
Personnalisation de l’environnement utilisateur
11-3
Fichier .env
Un quatrième fichier utilisé par le système au moment de la connexion est le fichier .env,
sous réserve que votre fichier .profile contienne la ligne : export ENV=$HOME/.env
Le fichier .env permet de personnaliser vos propres variables d’environnement de travail.
Etant donné que le fichier .env est caché, utilisez la commande ls–a pour l’afficher. Le
fichier .env contient le profil personnel de l’utilisateur, qui prime sur les variables définies
dans le fichier /etc/environment. Vous pouvez personnaliser à volonté vos variables
d’environnement en modifiant votre fichier .env.
Voici un exemple de fichier.env :
export myid=‘id | sed –n –e ’s/).*$//’ –e ’s/^.*(//p’‘
#set prompt: login & system name & path
if [ $myid = root ]
then
typeset –x PSCH=’#:\${PWD}> ’
PS1=”#:\${PWD}> ”
else
typeset –x PSCH=’>’
PS1=”$LOGNAME@$UNAME:\${PWD}> ”
PS2=”>”
PS3=”#?”
fi
export PS1 PS2 PS3
#setup my command aliases
alias
ls=”/bin/ls –CF” \
d=”/bin/ls –Fal | pg” \
rm=”/bin/rm –i” \
up=”cd ..”
Remarque : Lorsque vous modifiez le fichier .env, veillez à ce que les variables
nouvellement définies n’entrent pas en conflit avec les variables standard telles
que MAIL, PS1, PS2 et IFS.
11-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Fichiers de lancement du système AIXwindows : généralités
Etant donné que les procédures de lancement de X Server et AIXwindows varient selon le
système informatique, informez–vous auprès de votre administrateur système pour
connaître la procédure de lancement. En règle générale, X Server et AIXwindows sont
lancés via un script shell, exécuté automatiquement au moment de la connexion. Mais il
vous faudra peut–être lancer l’un et/ou l’autre explicitement.
Si, une fois connecté, vous vous trouvez devant un écran simple, sans fenêtres, vous
pouvez lancer X Server en entrant la commande suivante :
xinit
Si cette commande reste sans effet, vérifiez, avec l’aide de votre administrateur, que votre
chemin de recherche contient bien le répertoire X11, dans lequel se trouvent les
programmes exécutables. Ce chemin varie selon les systèmes.
Remarque : Avant de lancer cette commande, vérifiez que le pointeur se trouve dans
une fenêtre affichant une invite système.
Si, une fois connecté, vous vous trouvez avec une ou plusieurs fenêtres sans cadre,
vous pouvez lancer AIXwindows Window Manager en entrant :
mwm &
Etant donné que AIXwindows autorise la personnalisation à la fois aux programmeurs
(via des applications AIXwindows) et aux utilisateurs, vous constaterez peut–être que les
boutons de la souris ou d’autres fonctions ne fonctionnent pas exactement comme indiqué
dans ce manuel. Il vous suffit dans ce cas de réinitialiser votre environnement AIXwindows
en appuyant simultanément sur les quatre touches suivantes :
Alt–Ctrl–Maj–!
Vous pouvez rétablir le comportement personnalisé en appuyant de nouveau sur cette
combinaison de touches. Si votre système ne permet pas cette combinaison de touches,
vous pouvez également restaurer le comportement par défaut à partir du menu racine par
défaut.
.xinitrc file
La commande xinit se sert d’un fichier script shell personnalisable qui liste les programmes
client X à démarrer. Le fichier .xinitrc de votre répertoire personnel contrôle les fenêtres et
les applications qui sont lancées en même temps que AIXwindows.
La commande xinit fonctionne avec les scripts shell dans l’ordre suivant :
1. Pour lancer AIXwindows, la commande xinit recherche d’abord la variable
d’environnement $XINITRC.
2. Si la variable d’environnement $XINITRC ne peut être retrouvée, la commande xinit
cherche le script shell $HOME/.xinitrc.
3. Si elle ne le trouve pas non plus, elle lance le script shell /usr/lib/X11/$LANG/xinitrc.
4. Si /usr/lib/X11/$LANG/xinitrc est introuvable, la commande recherche le script shell
/usr/lpp/X11/defaults /$LANG/xinitrc. En cas d’échec, elle recherche le script shell
/usr/lpp/X11/defaults/xinitrc.
5. Le script shell xinitrc lance des commandes telles que mwm
( AIXwindows Window Manager), aixterm et xclock.
La commande xinit :
• lance un serveur X sur l’écran courant ;
• définit la variable d’environnement $DISPLAY ;
• exécute le fichier xinitrc pour lancer les programmes client X ;
Personnalisation de l’environnement utilisateur
11-5
Voici la partie personnalisable du fichier xinitrc :
# Ce script est appelé par /usr/lpp/X11/bin/xinit
.
.
.
#***************************************************************
# Start the X clients. Change the following lines to
*
# whatever command(s) you desire!
*
# The default clients are an analog clock (xclock), an lft
*
# terminal emulator (aixterm), and the Motif Window Manager
*
# (mwm).
*
#****************************************************************
exec mwm
Fichier .Xdefaults
Si vous travaillez dans une interface AIXwindows, vous pouvez personnaliser cette interface
avec le fichier .Xdefaults. AIXwindows vous permet d’indiquer vos préférences en matière
de caractéristiques visuelles, comme les couleurs et les polices.
L’aspect et le comportement des applications utilisant des fenêtres sont en grande partie
régis par des ensembles de variables appelées ressources. L’aspect, visuel ou fonctionnel,
d’une ressource dépend de la valeur qui lui est attribuée. Il existe plusieurs types de
valeurs : par exemple, une ressource contrôlant les couleurs peut se voir affecter la valeur
prédéfinie DarkSlateBlue ou Black. Des valeurs numériques sont attribuées aux ressources
qui indiquent des dimensions. Certaines ressources prennent des valeurs booléennes
(True ou False).
Si votre répertoire personnel ne contient pas de fichier .Xdefaults, vous pouvez en créer un
à l’aide d’un éditeur texte quelconque. Vous avez ensuite toute latitude pour y définir les
ressources de votre choix. Un fichier modèle, Xdefaults.tmpl, se trouve dans le répertoire
/usr/lpp/X11/defaults.
Voici un extrait d’un fichier .Xdefaults :
*AutoRaise: activé
*DeIconifyWarp: activé
*warp:on
*TitleFont:andysans12
*scrollBar: true
*font: Rom10.500
Mwm*menu*foreground: black
Mwm*menu*background: CornflowerBlue
Mwm*menu*RootMenu*foreground: black
Mwm*menu*RootMenu*background: CornflowerBlue
Mwm*icon*foreground: grey25
Mwm*icon*background: LightGray
Mwm*foreground: black
Mwm*background: LightSkyBlue
Mwm*bottomShadowColor: Blue1
Mwm*topShadowColor: CornflowerBlue
Mwm*activeForeground: white
Mwm*activeBackground: Blue1
Mwm*activeBottomShadowColor: black
Mwm*activeTopShadowColor: LightSkyBlue
Mwm*border: black
Mwm*highlight:white
11-6
AIX Guide de l’utilisateur – Système d’exploitation et unités
aixterm.foreground: green
aixterm.background: black
aixterm.fullcursor: true
aixterm.ScrollKey: on
aixterm.autoRaise: true
aixterm.autoRaiseDelay: 2
aixterm.boldFont:Rom10.500
aixterm.geometry: 80x25
aixterm.iconFont: Rom8.500
aixterm.iconStartup: false
aixterm.jumpScroll: true
aixterm.reverseWrap: true
aixterm.saveLines: 500
aixterm.scrollInput: true
aixterm.scrollKey: false
aixterm.title: AIX
Fichier .mwmrc
Les caractéristiques le plus souvent personnalisées correspondant à des ressources du
fichier .Xdefaults. Toutefois, les affectations des touches et des boutons de la souris, de
même que les définitions de menus du gestionnaire de fenêtres sont spécifiées dans un
fichier complémentaire, .mwmrc, référencé par des ressources du fichier .Xdefaults.
Si votre répertoire personnel ne contient pas de fichier .mwmrc, vous pouvez le copier
via la commande :
cp /usr/lib/X11/system.mwmrc .mwmrc
Les spécifications du fichier .mwmrc priment sur celles, globales, définies dans le fichier
system.mwmrc. Ainsi, vous ne risquez pas d’interférer avec les spécifications des autres.
Voici un extrait d’un fichier system.mwmrc type :
# DEFAULT mwm RESOURCE DESCRIPTION FILE (system.mwmrc)
#
# menu pane descriptions
#
# Root Menu Description
Menu RootMenu
{ ”Root Menu”
no–label
”New Window”
”Shuffle Up”
”Shuffle Down”
”Refresh”
no–label
”Restart”
”Quit”
}
f.title
f.separator
f.exec ”aixterm &”
f.circle_up
f.circle_down
f.refresh
f.separator
f.restart
f.quit_mwm
# Default Window Menu Description
Menu DefaultWindowMenu MwmWindowMenu
{ ”Restore”
_R
Alt<Key>F5
”Move”
_M
Alt<Key>F7
”Size”
_S
Alt<Key>F8
”Minimize” _n
Alt<Key>F9
”Maximize” _x
Alt<Key>F10
”Lower”
_L
Alt<Key>F3
no–label
f.separator
”Close”
_C
Alt<Key>F4
}
f.normalize
f.move
f.resize
f.minimize
f.maximize
f.lower
f.kill
Personnalisation de l’environnement utilisateur
11-7
# no accelerator window menu
Menu NoAccWindowMenu
{
”Restore”
_R
f.normalize
”Move”
_M
f.move
”Size”
_S
f.resize
”Minimize” _n
f.minimize
”Maximize” _x
f.maximize
”Lower”
_L
f.lower
no–label
f.separator
”Close”
_C
f.kill
}
Keys DefaultKeyBindings
{
Shift<Key>Escape
Meta<Key>space
Meta<Key>Tab
Meta Shift<Key>Tab
Meta<Key>Escape
Meta Shift<Key>Escape
Meta Ctrl Shift<Key>exclam
}
icon|window
icon|window
root|icon|window
root|icon|window
root|icon|window
root|icon|window
root|icon|window
f.post_wmenu
f.post_wmenu
f.next_key
f.prev_key
f.next_key
f.prev_key
f.set_behavior
#
# button binding descriptions
#
Buttons DefaultButtonBindings
{
<Btn1Down>
frame|icon
<Btn3Down>
frame|icon
<Btn1Down>
root
<Btn3Down>
root
Meta<Btn1Down>
icon|window
Meta<Btn2Down>
window|icon
Meta<Btn3Down>
window
}
Buttons PointerButtonBindings
{
<Btn1Down>
frame|icon
<Btn2Down>
frame|icon
<Btn3Down>
frame|icon
<Btn1Down>
root
Meta<Btn2Down>
window|icon
Meta<Btn3Down>
window|icon
}
#
#
#
11-8
END OF mwm RESOURCE DESCRIPTION FILE
AIX Guide de l’utilisateur – Système d’exploitation et unités
f.raise
f.post_wmenu
f.menu RootMenu
f.menu RootMenu
f.lower
f.resize
f.move
f.raise
f.post_wmenu
f.lower
f.menu RootMenu
f.resize
f.move
Personnalisation de votre environnement système
Cette section décrit les procédures suivantes qui permettent de personnaliser votre
environnement système :
•
Exportation de variables shell (commande shell export), page 11-9
•
Changement de la police par défaut (commande chfont), page 11-9
•
Changement de l’affectation des touches de contrôle (commande stty), page 11-10
•
Changement de l’invite système, page 11-11
Exportation de variables shell (commande shell export)
Une variable shell locale est une variable reconnue uniquement par le shell qui l’a créée.
Si vous lancez un nouveau shell, toutes les variables définies pour l’ancien shell lui sont
inconnues. Si vous voulez que les nouveaux shell que vous ouvrez utilisent les variables
d’un shell existant, exportez les variables pour les rendre globales.
Vous pouvez utiliser la commande export pour transformer les variables locales en
variables globales. Pour automatiser le processus, exportez-les dans le fichier .profile.
Remarque : Les variables peuvent être exportées vers des shells enfant,
mais pas vers des shells parent.
Voir les exemple ci–après :
• Pour transformer la variable shell locale PATH en variable globale, entrez :
export path
• Pour afficher toutes vos variables exportées, entrez :
export
Le système affiche des informations similaires à l’exemple suivant :
DISPLAY=unix:0
EDITOR=vi
ENV=$HOME/.env
HISTFILE=/u/denise/.history
HISTSIZE=500
HOME=/u/denise
LANG=En_US
LOGNAME=denise
MAIL=/usr/mail/denise
MAILCHECK=0
MAILMSG=**YOU HAVE NEW MAIL.
USE THE mail COMMAND TO SEE YOUR MAILPATH=/usr/mail/denise?denise has mail
!!!
MAILRECORD=/u/denise/.Outmail
PATH=/usr/ucb:/usr/lpp/X11/bin:/bin:/usr/bin:/etc:/u/denise:/u/denise/bin:/
u/bin1
PWD=/u/denise
SHELL=/bin/ksh
Changement de la police par défaut (commande chfont)
Vous pouvez modifier la police par défaut au lancement du système à l’aide de la
commande chfont ou smit. Une palette de polices est un fichier que le système utilise pour
définir et identifier les polices disponibles.
Remarque : Pour exécuter la commande chfont, vous devez être un utilisateur racine.
Personnalisation de l’environnement utilisateur
11-9
Utilisation de la commande chfont
Les exemples ci–après illustrent les différentes utilisations de la commande chfont :
• Pour passer à la cinquième police de la palette, entrez :
chfont –a5
• Pour passer à la police Roman, en italique et en gras, en conservant la même taille,
entrez :
chfont –n /usr/lpp/fonts/It114.snf /usr/lpp/fonts/Bld14.snf
/usr/lpp/fonts/Rom14.snf
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande
chfont dans le manuel AIX 5L Version 5.3 Commands Reference.
Commande smit
Vous pouvez également exécuter la commande chfont via smit.
Pour sélectionner la police active, entrez :
smit chfont
Pour sélectionner la palette de polices, entrez :
smit chfontpl
Changement de l’affectation des touches de contrôle (commande stty)
Vous pouvez modifier l’affectation des touches de contrôle à l’aide de la commande stty.
Les changements sont appliqués jusqu’à la déconnexion. Pour les rendre permanents,
placez-les dans le fichier .profile.
Voir les exemple ci–après :
• Par exemple, pour définir Ctrl–Z comme touche d’interruption, entrez :
stty intr ^Z
N’oubliez pas d’insérer un espace entre intr et ^Z.
• Pour restaurer les touches de contrôle à leurs valeurs par défaut, entrez :
stty sane
• Pour afficher vos paramètres actuels, entrez :
stty –a
Pour obtenir des détails sur la syntaxe, reportez–vous à la description de la commande stty
dans le manuel AIX 5L Version 5.3 Commands Reference.
11-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Changement de l’invite système
Le shell utilise trois variables d’invite :
PS1
Invite normale.
PS2
Invite destinée à entrer des données supplémentaires
PS3
Invite indiquant que vous détenez des droits utilisateur racine
Pour changer le contenu d’une invite, il suffit de modifier la variable correspondante.
Les changements apportés aux invites s’appliquent jusqu’à la déconnexion.
Pour les rendre permanents, placez-les dans le fichier .env.
Voir les exemple ci–après :
• Pour afficher la valeur actuelle de la variable PS1, entrez :
echo ”prompt is $PS1”
Le système affiche des informations similaires à l’exemple suivant :
prompt is $
• Pour changer votre invite en Ready>, entrez :
PS1=”Ready> ”
• Pour changer votre invite de continuation en Enter more–>, entrez :
PS2=”Enter more–>”
• Pour changer votre invite racine en Root–>, entrez :
PS3=”Root–> ”
Personnalisation de l’environnement utilisateur
11-11
Récapitulatif des commandes de personnalisation
Fichiers de lancement du système
/etc/profile
Fichier système contenant les commandes exécutées par
le système lorsque vous vous connectez
/etc/environment
Fichier système contenant des variables spécifiant
l’environnement de base de tous les process
$HOME/.profile
Fichier dans votre répertoire qui contient des commandes
qui remplacent le système /etc/profile à la connexion.
Pour plus d’informations, reportez–vous à la section Fichier
.profile, page 11-3.
$HOME/.env
Fichier de votre répertoire personnel contenant des
commandes primant sur celles de l’environnement système
/etc/environment et contenant des variables spécifiant
l’environnement de base de tous les process. Pour en
savoir plus, reportez–vous à la section Fichier .env,
page 11-4.
Fichiers de lancement AIXwindows
$HOME/.xinitrc
Fichier de votre répertoire personnel contrôlant les fenêtres
et les applications lancées en même temps
qu’AIXwindows. Pour en savoir plus, reportez–vous à la
section Fichier .xinitrc, page 11-5.
$HOME/.Xdefaults
Fichier de votre répertoire personnel contrôlant l’aspect
visuel et fonctionnel des ressources AIXwindows Pour en
savoir plus, reportez–vous à la section Fichier .Xdefaults,
page 11-6.
$HOME/.mwmrc
Fichier de votre répertoire personnel définissant les
affectations des touches et des boutons de la souris, et la
définition des menus pour le gestionnaire de fenêtres. Pour
en savoir plus, reportez–vous à la section Fichier .xinitrc,
page 11-7.
Procédures de personnalisation
11-12
PS1
Invite système normale
PS2
Invite d’entrées complémentaires
PS3
Invite système root
chfont
Change la police d’affichage sur un écran
(après relance du système).
stty
Définit, redéfinit et fait état des paramètres d’exploitation
d’une station de travail.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 12. Shells : généralités
Les shells assurent l’interface avec le système d’exploitation. Ils constituent la couche
externe du système d’exploitation. Intégrant un langage de programmation, ils sont à même
de contrôler process et fichiers, et de gérer et de contrôler d’autres programmes. Ils vous
invitent à entrer des données, les interprètent et traitent les résultats générés par le
système.
Ils assurent la communication avec le système d’exploitation, communication qui s’effectue
soit en mode interactif (les entrées au clavier sont immédiatement interprétées), soit via des
scripts shell. Un script shell est une séquence de commandes (shell et système),
enregistrée dans un fichier.
Lors de votre connexion au système, le nom du shell à exécuter est détecté. Une fois
le shell exécuté, une invite s’affiche, généralement un signe dollar ($). Lorsque vous tapez
une commande et appuyez sur Entrée, le shell évalue la commande et tente de l’exécuter.
Le résultat est ensuite dirigé soit vers l’écran, soit réacheminé, selon vos instructions.
L’invite est ensuite réaffichée, dans l’attente de la commande suivante.
La ligne sur laquelle vous tapez les commandes est une ligne de commande.
Elle contient l’invite shell. Son format de base est le suivant :
$ Commande Argument(s)
Le shell interprète le premier mot (jusqu’au premier espace) comme étant le nom de la
commande, et les mots suivants comme des arguments.
Remarque :
Lorsque libc.a est déplacé ou renommé, le message d’erreur Killed
s’affiche à partir du shell car il n’y a pas de fichier libc.a disponible pour
que le système puisse charger et exécuter les programmes utilitaires.
La commande recsh appelle le shell de reprise qui permet de renommer
un fichier libc.a déplacé malencontreusement.
Ce chapitre traite des points suivants :
•
Caractéristiques des shells, page 12-3
•
Commandes du shell Korn ou POSIX, page 12-9
•
Déclaration de caractères (shell Korn ou POSIX), page 12-16
•
Mots réservés (shell Korn ou POSIX), page 12-19
•
Alias de commandes (shell Korn ou POSIX), page 12-20
•
Substitution de paramètres (shell Korn ou POSIX), page 12-22
•
Substitution de commandes (shell Korn ou POSIX), page 12-29
•
Evaluation arithmétique (shell Korn ou POSIX), page 12-30
•
Séparation de zones (shell Korn ou le shell POSIX), page 12-32
•
Substitution de noms de fichiers (shell Korn ou POSIX), page 12-33
•
Réacheminement des entrées/sorties (shell Korn ou POSIX), page 12-35
•
Etats de sortie (shell Korn ou POSIX), page 12-38
•
Commandes du shell Korn ou POSIX, page 12-9
•
Commandes intégrées du shell Korn ou POSIX, page 12-39
•
Expressions conditionnelles, page 12-54
•
Contrôle des travaux (shell Korn ou POSIX), page 12-56
Shells
12-1
12-2
•
Edition en ligne (shell Korn ou POSIX), page 12-58
•
Liste des commandes intégrées (shell Korn ou POSIX), page 12-52
•
Liste des commandes intégrées (shell Bourne), page 12-91
•
Liste des commandes intégrées (shell C), page 12-119
•
Shell Bourne, page 12-121
•
Shell C, page 12-122
•
Shell Bourne : généralités, page 12-70
•
Shell restreint, page 12-71
•
Shell Korn restreint, page 12-72
•
Commandes shell Bourne, page 12-73
•
Substitution de variables et de noms de fichiers (shell Bourne), page 12-83
•
Réacheminement des entrées/sorties (shell Bourne), page 12-90
•
Shell C : généralités, page 12-92
•
Commandes shell C, page 12-94
•
Substitution d’historique (Shell C), page 12-104
•
Substitution d’alias (Shell C), page 12-107
•
Substitution de variables et de noms de fichiers (Shell C), page 12-108
•
Variables d’environnement (Shell C), page 12-113
•
Réacheminement des entrées/sorties (Shell C), page 12-116
•
Contrôle des travaux (shell C), page 12-118
AIX Guide de l’utilisateur – Système d’exploitation et unités
Caractéristiques des shells
Communiquer avec le système via une interface shell présente les avantages suivants :
• Substitution de caractères génériques dans les noms de fichiers
(correspondance)
Exécute des commandes sur un groupe de fichiers, identifiés par une trame
(et non sur un fichier explicitement nommé).
Pour en savoir plus, reportez–vous aux sections suivantes :
–
Substitution de noms de fichiers (shell Korn ou POSIX), page 12-33
–
Substitution de noms de fichiers (shell Bourne), page 12-84
–
Substitution de noms de fichiers (shell C), page 12-110
• Traitement en arrière–plan
Exécute les tâches lourdes en arrière-plan, libérant le terminal pour des traitements
interactifs concurrents.
Pour en savoir plus, reportez–vous à la commande bg dans les sections suivantes :
–
Contrôle des travaux (shell Korn ou POSIX), page 12-56
–
Commandes intégrées (shell C), page 12-94
Remarque : Le shell Bourne ne prend pas en charge le contrôle des travaux.
• Alias de commandes
Attribue un alias à une commande ou à une expression. Lorsqu’un alias figure dans une
ligne de commande ou dans un script shell, le système remplace cet alias par le texte
qu’il représente.
Pour en savoir plus, reportez–vous aux sections suivantes :
–
Alias de commandes (shell Korn ou POSIX), page 12-20
–
Substitution d’alias (shell C), page 12-107
Remarque : Le shell Bourne ne prend pas en charge les alias de commandes.
• Historique des commandes
Consigne dans un fichier d’historique les commandes lancées. Vous pouvez utiliser ce
fichier pour appeler, modifier ou relancer une commande enregistrée.
Pour en savoir plus, reportez–vous à la commande history dans les sections suivantes :
–
Historique des commandes (shell Korn ou POSIX), page 12-14
–
Commandes intégrées (shell C), page 12-94
–
Substitution d’historique (shell C), page 12-104
Remarque : Le shell Bourne ne prend pas en charge l’historique des commandes.
• Substitution de noms de fichiers
Génère automatiquement une liste de noms de fichiers sur une ligne de commande
sur la base de caractères génériques.
Pour en savoir plus, reportez–vous à :
–
Substitution de noms de fichiers (shell Korn ou POSIX), page 12-33
–
Substitution de noms de fichiers (shell Bourne), page 12-84
–
Substitution de noms de fichiers (shell C), page 12-110
Shells
12-3
• Réacheminement des entrées/sorties
Lit des données à partir d’une source autre que le clavier et réachemine les sorties
vers un fichier ou une unité autre que le terminal. Par exemple, les entrées destinées
à un programme peuvent être extraites d’un fichier et réacheminées vers l’imprimante
ou vers un autre fichier.
Pour en savoir plus, reportez–vous à :
–
Réacheminement des entrées/sorties (shell Korn ou POSIX), page 12-35
–
Réacheminement des entrées/sorties (shell Bourne), page 12-90
–
Réacheminement des entrées/sorties (shell C), page 12-116
• Traitement “pipeline”
Relie des commandes entre elles pour former un programme complexe : la sortie
standard de chaque programme constitue l’entrée standard du suivant.
Pour en savoir plus, reportez–vous à la définition de traitement “pipeline”, page 12-5
dans la section relative à la terminologie des shells, page 12-5.
• Substitution de variables shell
Enregistre des données dans des variables définies par l’utilisateur et dans des variables
shell prédéfinies.
Pour en savoir plus, reportez–vous aux sections suivantes :
–
Substitution de paramètres (shell Korn ou POSIX), page 12-22
–
Substitution de variables (shell Bourne), page 12-83
–
Substitution de variables (shell C), page 12-108.
Shells disponibles
Les shells fournis avec le système d’exploitation sont les suivants :
• shell Korn (lancé par la commande ksh) ;
• shell Bourne (lancé par la commande bsh) ;
• Shell restreint (version limitée du shell Bourne, lancé par la commande Rsh)
• shell POSIX (également appelé shell Korn, lancé par la commande psh) ;
• shell par défaut (lancé par la commande sh) ;
• shell C (lancé par la commande csh) ;
• Shell sécurisé (version limitée du shell Korn, lancé par la commande tsh)
• shell distant (lancé par la commande rsh).
Le shell de connexion est lancé lors de la connexion. Votre shell de connexion est défini
dans le fichier /etc/passwd. Le shell Korn (voir page 12-9) est le shell de connexion
standard. Il présente une compatibilité descendante avec le shell Bourne (voir Shell Bourne,
page 12-70).
Le shell par défaut ou shell standard est le shell lié à et lancé par la commande usr/bin/sh.
Le shell Bourne est configuré comme shell par défaut et est un sous–ensemble du shell
Korn.
La commande /usr/bin/sh réside comme copie du shell Korn, qui est /usr/bin/ksh.
Par conséquent, le shell Korn peut être remplacé comme shell par défaut. Le shell POSIX
appelé par la commande /usr/bin/psh demeure un lien vers la commande /usr/bin/sh.
12-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Terminologie des shells
Voici quelques définitions utiles :
blanc (espace)
Un des caractères de la classe de blancs définie dans la catégorie
LC_CTYPE. Dans le shell POSIX, un blanc est soit une tabulation, soit
un espace.
commande
intégrée
Commande que le shell exécute sans la rechercher ni créer de process
distinct.
commande
Séquence de caractères construite suivant la syntaxe du langage shell.
Le shell lit chaque commande, puis exécute l’action demandée
directement ou par l’intermédiaire d’utilitaires.
commentaire
Mot préfixé par le signe dièse (#) : tout caractère ou chaîne de
caractères situé entre ce signe et le caractère nouvelle ligne est ignoré.
identificateur
Séquence de lettres, chiffres ou symboles de soulignement introduite
par une lettre ou un symbole de soulignement. Le premier caractère
d’un identificateur ne peut pas être un chiffre. Les identificateurs
servent de noms pour les alias, les fonctions et les paramètres
nommés.
liste
Séquence d’un ou de plusieurs pipelines séparés par l’un des symboles
suivants : point–virgule (;), perluète (&), double perluète (&&) ou double
barre verticale (||). La fin de la liste est indiquée par l’un des symboles
suivants : point– virgule (;), perluète (&) ou barre verticale, perluète (|&).
;
Le shell traite le pipeline précédent en mode séquentiel. Il exécute
successivement les commandes jusqu’à la dernière, dont il attend la
fin de l’exécution.
&
Le shell traite le pipeline précédent en mode asynchrone. Il exécute
successivement les commandes, traitant le pipeline en arrière–plan
sans attendre la fin de son exécution.
|&
Le shell traite le pipeline précédent en mode asynchrone et établit un
canal bilatéral vers le shell parent. Il exécute successivement les
commandes, traitant le pipeline en arrière–plan sans attendre la fin
de son exécution. Les commandes read –p et print –p permettent au
shell parent de lire depuis l’entrée standard et d’écrire vers la sortie
standard de la commande générée dynamiquement. Une seule
commande peut être activée à la fois.
&&
Le shell traite la liste située après ce symbole si le résultat du pipeline
précédent est la valeur zéro (0).
||
Le shell traite la liste située après ce symbole si le résultat du pipeline
précédent est une valeur différente de 0 (zéro).
Les symboles point–virgule (;), perluète (&) et barre verticale+perluète
(|&) ont une priorité moindre que les symboles double perluète (&&) et
double barre verticale (||). Les symboles ;, &, et |& ont la même
priorité. De même, les symboles && et || ont la même priorité. Un ou
plusieurs caractères ligne suivante peuvent remplacer le symbole point
virgule pour délimiter deux commandes dans une liste.
Remarque : Le symbole |& est valable uniquement dans le shell
Korn.
Shells
12-5
métacaractère
Un métacaractère est un caractère qui a une signification spéciale pour
le shell et marque toujours la fin d’un mot, sauf s’il est placé entre
apostrophes. Les symboles considérés comme des métacaractères
sont : barre verticale (|), perluète (&), point–virgule (;), inférieur à (<),
supérieur à (>), parenthèse gauche ((), parenthèse droite ()), dollar ($),
apostrophe gauche (‘), barre oblique inverse (\), apostrophe droit (’),
guillemets (”), caractère de ligne suivante, espace et tabulation. Les
caractères encadrés d’apostrophes, dits déclarés, sont interprétés
littéralement. Sinon, c’est leur signification spéciale qui est prise en
compte. (Dans le shell C, les métacaractères sont aussi appelés
métacaractères d’analyse sémantique.)
liste
d’affectation
des
paramètres
Liste de mots de la forme Identificateur = Valeur. Il doit y avoir le même
nombre d’espaces de part et d’autre du signe égal (=) ou aucun
espace.
Remarque : Dans le shell C, cette liste est de la forme set
Identificateur = Valeur. Les espaces encadrant le signe = (égal) sont
obligatoires.
pipeline
Séquence de commandes séparées par une barre verticale (|). Chaque
commande (sauf éventuellement la dernière) est exécutée séparément,
mais la sortie standard d’une commande constitue l’entrée standard de
la suivante. Une liste de commandes entre parenthèses est exécutée
comme simple commande d’un sous–shell distinct.
Si le pipeline n’est pas précédé du mot réservé !, son état de sortie est
celui de la dernière commande. Sinon, c’est l’opposé (NON logique) de
l’état de cette dernière commande. En d’autres termes, si la dernière
commande renvoie zéro, l’état de sortie est 1. Si elle renvoie une valeur
supérieure à zéro, l’état de sortie est zéro.
Le format d’un pipeline est le suivant :
[!] commande1 [ | commande2 ...]
Remarque : Dans les premières versions du shell Bourne, un canal
était symbolisé par un (^).
12-6
variable shell
Nom ou paramètre auquel est affectée une valeur. Pour affecter une
valeur, entrez le nom de la variable suivi d’un signe égal (=) et de la
valeur souhaitée. Vous pouvez remplacer le nom de la variable par la
valeur affectée en préfixant le nom de la variable d’un signe dollar ($).
Les variables sont particulièrement utiles pour abréger un nom de
chemin trop long : $HOME, par exemple, donne un accès direct au
répertoire personnel. Une variable prédéfinie est une variable dont la
valeur est attribuée par le shell. Une variable définie par l’utilisateur est
une variable dont la valeur est attribuée par l’utilisateur.
commande
simple
Séquence de listes d’affectations et de réacheminements de
paramètres, dans un ordre quelconque. Elle est éventuellement suivie
de commandes, de mots et de réacheminements. Elle est terminée par
; , |, &, | |, &&, |&, ou un caractère nouvelle ligne. Le nom de la
commande est passé comme paramètre 0 (tel que défini par la
sous–routine exec). La valeur d’une commande simple est son état en
sortie (zéro si elle a abouti, différent de zéro, sinon). Reportez–vous à
la sous–routine sigaction, sigvec, or signal dans le manuel AIX 5L
Version 5.3 Technical Reference: Base Operating System and
Extensions Volume 2 pour la liste des valeurs d’état en sortie.
sous–shell
Shell exécuté comme enfant du shell de connexion ou du shell courant.
AIX Guide de l’utilisateur – Système d’exploitation et unités
caractère
générique
Aussi appelé métacaractère. Symbole spécial affecté d’une valeur par
le shell. Les caractères génériques standard sont les suivants : ?, *,
[ensemble], et [!ensemble]. Ils sont particulièrement utiles pour
effectuer des substitutions de noms de fichiers.
mot
Séquence de caractères exempte de blancs. Les mots sont séparés
par un ou plusieurs métacaractères.
Création et exécution d’un script shell
Un shell script est un fichier qui contient une ou plusieurs commandes. Les shell scripts
permettent d’exécuter facilement des commandes fastidieuses, des séquences de
commandes importantes ou complexes et des tâches de routine. Lorsque vous saisissez le
nom d’un fichier script shell, le système exécute la séquence de commandes figurant dans
ce fichier.
Pour créer un shell script, utilisez un éditeur de texte. Le script peut contenir des
commandes du système d’exploitation et des commandes intégrées du shell.
Pour écrire un script shell, procédez comme suit.
1. Via un éditeur de texte, créez et sauvegardez un fichier. Vous pouvez y inscrire n’importe
quelle combinaison de commandes système et de commandes shell. Par convention, les
scripts shell non destinés à être exploités par plusieurs utilisateurs sont enregistrés dans
le répertoire $HOME/bin.
Remarque : Le système d’exploitation ne prend pas en charge les sous–routines
setuid et setgid dans un script shell.
2. Lancez la commande chmod pour limiter au seul propriétaire le droit d’exécuter
le fichier. Par exemple, si le fichier s’appelle script1, entrez :
chmod u=rwx script1
3. Saisissez le nom du script shell sur la ligne de commande pour l’exécuter.
Pour exécuter le script script1, entrez :
script1
Remarque : Vous pouvez exécuter un script shell sans l’avoir rendu exécutable,
sous réserve que son nom soit précédé d’une commande shell (ksh, bsh ou csh)
sur la ligne de commande. Par exemple, pour exécuter le fichier non–exécutable
script1 sous le shell Korn, entrez :
ksh script1
Shells
12-7
Spécification d’un shell pour un fichier script
Lorsque vous exécutez un script shell sous le shell Korn (shell POSIX) ou le shell Bourne,
les commandes sont exécutées sous contrôle du shell courant – sauf spécification contraire
explicite. Lorsque vous exécutez un script shell sous le shell C, les commandes sont
exécutées sous contrôle du shell Bourne (/usr/bin/bsh) sauf si vous spécifiez un autre
shell.
Il est possible d’exécuter un script shell dans un shell spécifique en incluant ce shell dans le
script shell.
Pour lancer un script shell exécutable sous un shell spécifique, tapez #! Chemin sur la
première ligne de commande du script et appuyez sur Entrée. Les caractères #! identifient
le type de fichier. La variable Chemin indique le chemin du shell sous lequel le script est
exécuté.
Par exemple, pour exécuter le script bsh dans le shell Bourne, entrez :
#!/usr/bin/bsh
Si vous précédez d’une commande shell le nom d’un fichier script (sur la ligne de
commande), le shell ainsi spécifié prime sur celui éventuellement indiqué dans le script
lui–même. Ainsi, si vous tapez la commande ksh myfile et appuyez sur Entrée, cela
exécute le fichier myfile sous le shell Korn, même si la première ligne de myfile est
#!/usr/bin/csh.
12-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commandes du shell Korn ou POSIX
Le shell Korn est un interpréteur de commandes interactif et un langage de programmation.
Il est conforme à l’environnement POSIX (Portable Operating System Interface for
Computer Environments), standard international pour les systèmes d’exploitation. POSIX
n’est pas un système d’exploitation, mais un standard ayant pour objet la portabilité des
applications, au niveau source, entre plusieurs systèmes. Les caractéristiques POSIX sont
construites au niveau supérieur du shell Korn. Le shell Korn (également appelé shell
POSIX) offre, outre nombre des fonctions des shells Bourne et C (réacheminement des E/S,
substitution de variables et de noms de fichiers, etc.), un certain nombre de fonctions
spécifiques. En outre, il inclut un certain nombre de commandes supplémentaires et de
caractéristiques de langages de programmation :
Remarque :
Il existe une version restreinte du shell Korn, appelée rksh. Pour plus
de détails, reportez–vous à la description de la commande rksh.
Evaluation
arithmétique
Le shell Korn ou le shell POSIX peut effectuer des opérations
arithmétiques sur des nombres entiers avec la commande intégrée let
à l’aide de n’importe quelle base comprise entre 2 et 36. Pour plus
d’informations, reportez–vous à la section Evaluation arithmétique
(shell Korn ou POSIX), page 12-30.
Historique des
commandes
Le shell Korn, ou POSIX, contient un fichier qui enregistre toutes les
commandes entrées. Vous pouvez modifier n’importe quelle
commande de ce fichier à l’aide d’un éditeur de texte, puis la réutiliser.
Pour en savoir plus, reportez–vous à la section Historique des
commandes, page 12-14.
Fonction
coprocess
La fonction coprocess permet d’exécuter des process en arrière–plan,
de leur envoyer des informations et d’en recevoir. Pour en savoir plus,
reportez–vous à la description de la fonction Fonction Coprocess,
page 12-37.
Modification
Les options d’édition permettent de modifier la ligne de commande.
Des éditeurs semblables à emacs, gmacs et vi sont disponibles.
Pour en savoir plus, reportez–vous à la section Modification en ligne
(shell Korn ou POSIX), page 12-58.
Une commande du shell Korn est l’un des éléments suivants :
•
Commande simple, page 12-6
•
Pipeline, page 12-5
•
Liste, page 12-5
•
Commande composée, page 12-10
•
Fonction, page 12-13
Lorsque vous lancez une commande dans le shell Korn ou POSIX, il l’analyse et effectue
les actions suivantes :
• il effectue toutes les substitutions indiquées ;
• Détermine si la commande contient une barre oblique (/). Dans l’affirmative,
le shell exécute le programme nommé par le chemin spécifié.
Shells
12-9
Dans la négative, le shell effectue les opérations suivantes :
• Il détermine s’il s’agit d’une commande intégrée spéciale. Dans l’affirmative,
il exécute la commande dans le process shell courant.
Pour plus d’informations sur les commandes intégrées spéciales, reportez–vous à la
section Commandes intégrées (shell ou POSIX), page 12-39.
• Il compare la commande aux fonctions définies par l’utilisateur. Si elle correspond à une
de ces fonctions, les paramètres positionnels sont sauvegardés et réinitialisés par les
arguments de l’appel de fonction. Lorsque la fonction s’achève ou émet un retour, la
liste des paramètres positionnels est restaurée, et l’éventuel traitement d’interruption
défini pour EXIT dans la fonction est exécuté. La valeur d’une fonction est celle de la
dernière commande exécutée. Une fonction est exécutée dans le process shell courant.
• Si le nom de la commande correspond à celui d’une commande intégrée standard, cette
commande est appelée.
Pour plus d’informations sur les commandes intégrées régulières, reportez–vous à la
section Commandes intégrées (shell ou POSIX), page 12-39.
• Il crée un process et tente d’exécuter la commande par le biais de la commande exec
(s’il ne s’agit ni d’une commande intégrée, ni d’une fonction définie par l’utilisateur).
Le shell Korn, ou POSIX, explore les répertoires du chemin d’accès à la recherche d’un
fichier exécutable. La variable shell PATH définit le chemin d’accès au répertoire contenant
la commande. Les autres répertoires sont séparés par un signe (:). Le chemin par défaut
est /usr/bin: (indiquant le répertoire /usr/bin, et le répertoire courant, dans cet ordre).
Le répertoire courant est spécifié par des deux points contigus, ou par un caractère deux
points au début ou à la fin de la liste des chemins.
Si le fichier est doté des droits d’exécution, mais n’est pas un répertoire ni un fichier a.out,
le shell suppose qu’il contient les commandes shell. Le process shell en cours génère
dynamiquement un sous–shell qui lit le fichier. Tous les alias non exportés, toutes les
fonctions et tous les paramètres indiqués sont supprimés du fichier. Si le fichier de
commande shell est accessible en lecture, ou que les bits setuid ou setgid sont définis
dans le fichier, le shell lance un agent qui définit les droits d’accès et exécute le shell, le
fichier de commande shell étant passé comme un fichier ouvert. Toute commande entre
parenthèses est exécutée dans un sous-shell et les quantités non exportées ne sont pas
supprimées.
Cette section traite des points suivants :
•
Commandes composées du shell Korn, page 12-10
•
Fonctions du shell Korn, page 12-13
•
Commandes intégrées du shell Korn ou POSIX, page 12-39
•
Expressions conditionnelles, page 12-54
Commandes composées du shell Korn
Une commande composée peut être une liste de commandes simples, un pipeline ou une
commande commençant par un mot réservé. Vous serez souvent amené à vous servir de
commandes composées telles que if, while et for lorsque vous écrirez des scripts shell.
12-10
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liste des commandes composées du shell Korn ou POSIX
Syntaxe des
commandes
Description
for Identificateur,
page 12-5
[ in Mot, page
12-7...];
do Liste, page 12-7
;done
A chaque itération de la commande for, Identificateur prend la
valeur du mot suivant de la liste in Mot... A défaut de cette liste,
c’est la commande do Liste qui est exécutée pour chaque
paramètre positionnel défini. L’exécution se termine lorsqu’il n’y a
plus de mots dans la liste. Pour plus d’informations sur les
paramètres positionnels, reportez–vous à la section Substitution de
paramètres (shell Korn ou POSIX), page 12-22.
select
Identificateur, page
12-5 [ in Mot, page
12-7...];do Liste,
page 12-7 ;done
La commande select dirige vers la sortie d’erreur standard
(descripteur de fichier 2) l’ensemble de mots spécifié, chaque mot
étant précédé d’un numéro. Si la liste in Mot... est omise, ce sont
les paramètres positionnels qui sont utilisés. L’invite PS3 s’affiche et
une ligne est lue à partir de l’entrée standard. Si cette ligne
correspond à l’un des numéros des mots de la liste, Identificateur
prend la valeur du mot correspondant à ce numéro.
Si la ligne lue est vide, la liste de sélection s’affiche à nouveau.
Sinon, Identificateur prend la valeur nulle. Le contenu de la ligne lue
est sauvegardé dans le paramètre REPLY. Le paramètre Liste est
exécuté pour chaque sélection jusqu’à ce qu’un caractère
d’interruption ou de fin –de–fichier soit rencontré. Pour plus
d’informations sur les paramètres positionnels, reportez–vous
à la section Substitution de paramètres (shell Korn ou POSIX),
page 12-22.
case Mot,
page 12-7
in [[ ( ] Trame [ |
Trame ] ... ) Liste,
page 12-7 ;; ] ...
esac
Une commande case exécute la Liste associée à la première Trame
correspondant au Mot. Le format des trames est le même que celui
utilisé pour les substitutions de noms de fichiers.
if Liste, page 12-7
;then Liste [ elif
Liste;then Liste ] ...
[;else Liste ];if
Liste spécifie une liste de commandes à exécuter. Le shell exécute
d’abord la commande if Liste. Si cette commande renvoie un état
de sortie nul, il exécute la commande then Liste. Sinon, il exécute
les commandes spécifiées par le paramètre Liste qui suit elif.
Si la dernière commande de elif Liste renvoie la valeur zéro, la
commande then Liste est exécutée. Si la dernière commande de
then Liste renvoie la valeur zéro, la commande else Liste est
exécutée. Si aucune des commandes spécifiées par les paramètres
Liste pour else ou then n’est exécutée, if renvoie un état de sortie
nul.
while Liste,
page 12-7 ;
do Liste;done until
Liste, page 12-7
;do Liste;done
Shells
12-11
until Liste ;do
Liste;done
Liste spécifie une liste de commandes à exécuter. Liste spécifie une
liste de commandes, exécutées itérativement par la commande
while. Si l’état de sortie de la dernière commande renvoie une
valeur nulle, le shell exécute la commande do Liste. Si l’état de
sortie de la dernière commande renvoie une valeur non nulle, la
boucle se termine. Si aucune des commandes de do Liste n’est
exécutée, la commande while renvoie une valeur nulle. La
commande until a le même effet que la commande while, à ceci
près que le test de fin de boucle n’est pas exécuté.
( Liste, page 12-7 )
Liste spécifie une liste de commandes à exécuter. Le shell exécute
le paramètre Liste dans un environnement distinct.
Remarque : Si l’imbrication exige la présence de deux
parenthèses contiguës, vous devez insérer un espace entre elles
afin de différencier la commande de l’évaluation arithmétique.
( Liste, page 12-7 )
Liste spécifie une liste de commandes à exécuter. Le paramètre
Liste est simplement exécuté.
Remarque : Contrairement aux métacaractères (), les signes {}
indiquent les mots réservés (utilisés à des fins particulières, et
non des ID déclarés par l’utilisateur). Pour être reconnus, ces
mots réservés doivent se trouver au début d’une ligne ou après un
point–virgule (;).
[[ Expression ]]
Evalue le paramètre Expression. Si elle est vraie, la commande
renvoie un état de sortie nul.
function
Identificateur,
page 12-5 { Liste,
page 12-7 ;} ou
function
Identificateur ()
{ Liste; }
Définit une fonction référencée par Identificateur. Le corps de la
fonction est constitué par la liste des commandes entre {}. Les
parenthèses () constituent deux opérateurs, aussi le panachage de
caractères blancs avec Identificateur, ( et ) est-il autorisé, quoique
non obligatoire.
time Pipeline,
page 12-5
Exécute le paramètre Pipeline. Le délai écoulé, le temps utilisateur
et le temps système sont envoyés sur la sortie standard.
Lancement du shell
Vous pouvez lancer le shell Korn via la commande ksh, la commande psh (shell POSIX)
ou la commande exec.
Si vous le lancez par la commande exec, et que le premier caractère de l’argument zéro
($0) est le tiret (–), le shell est supposé être un shell de connexion. Le shell commence par
lire les commandes du fichier /etc/profile, puis celles du fichier .profile du répertoire
courant ou du fichier $HOME/.profile (si les fichiers existent). Ensuite, il lit les commandes
du fichier (s’il existe) nommé lors de la substitution de paramètre sur la valeur de la variable
d’environnement ENV.
Si vous spécifiez le paramètre Fichier [Paramètre] en appelant le shell Korn ou POSIX,
celui-ci exécute le fichier script identifié par Fichier, avec tous ses paramètres. Le fichier
script doit être accessible en lecture. Les éventuels paramètres setuid et setgid sont
ignorés. Le shell lit ensuite les commandes.
Remarque : Ne spécifiez pas de fichier script avec les indicateurs –c ou –s lors
de l’appel du shell Korn ou POSIX.
Pour en savoir plus sur les paramètres positionnels, reportez–vous à “Substitution
de paramètres (shell Korn ou POSIX)”, page 12-22.
12-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
Environnement shell Korn
Toutes les variables (avec leurs valeurs) connues d’une commande lors de son lancement
constituent son environnement : variables héritées du process parent et variables spécifiées
comme paramètres-clés sur la ligne de commande. Les interactions entre le shell et
l’environnement sont multiples. Lorsqu’il est lancé, le shell balaye l’environnement et crée
un paramètre chaque fois qu’il trouve un nom en attribuant à ce paramètre la valeur
correspondante et en le marquant pour exportation. Les commandes exécutées héritent
de l’environnement.
Si vous modifiez les valeurs des paramètres shell ou si vous en créez de nouvelles à l’aide
des commandes export ou typeset –x, ces paramètres sont intégrés à l’environnement.
Pour une commande exécutée, l’environnement se présente donc comme suit : paires
nom-valeur héritées par le shell (valeurs éventuellement modifiées par le shell courant),
plus les paires résultant de la commande export ou typeset –x. La commande exécutée
(sous–shell) ”voit” les modifications apportées aux variables d’environnement héritées, mais
doit exporter ces variables pour que ses shells et process enfants les voient.
Pour modifier l’environnement d’une fonction ou d’une commande simple, il suffit de la
préfixer par une ou plusieurs affectations de paramètres, de la forme Identificateur =
Valeur. Les deux expressions suivantes sont donc équivalentes (en ce qui concerne
l’exécution de la commande) :
TERM=450 arguments commande
(export TERM; TERM=450; arguments commande)
Fonctions du shell Korn
Le mot réservé function définit les fonctions shell. Le shell lit et enregistre les fonctions en
interne, les noms d’alias étant résolus à la lecture de la fonction. Le shell exécute les
fonctions de la même manière que les commandes, les arguments étant passés comme
paramètres positionnels. Pour en savoir plus sur les paramètres positionnels, reportez–vous
à Substitution de paramètres (shell Korn ou POSIX), page 12-22.
Pour plus d’informations sur les paramètres positionnels, reportez–vous à la section
Substitution de paramètres (shell Korn ou POSIX), page 12-22.
• valeurs et attributs des variables (sauf utilisation de la commande typeset dans la
fonction pour déclarer une variable locale) ;
• répertoire de travail ;
• alias, définitions de fonctions et attributs ;
• paramètre spécial $ ;
• fichiers ouverts.
Les éléments non communs à la fonction et au script appelant (aucun effet secondaire) sont
les suivants :
• paramètres positionnels ;
• paramètre spécial # ;
• variables de la liste d’affectation de la fonction appelée ;
• variables déclarées via la commande typeset dans la fonction ;
• options ;
• traitements d’interruption (toutefois, les signaux ignorés du script appelant sont
également ignorés par la fonction).
Shells
12-13
Remarque : Dans les versions antérieures du shell Korn, les traitements d’interruption
(autres que EXIT et ERR) étaient communs à la fonction et au script appelant.
Si le traitement d’interruption sur 0 ou EXIT est exécuté dans le corps d’une fonction,
l’action est exécutée une fois la fonction achevée, dans l’environnement à partir duquel a
été appelée la fonction. Si le traitement d’interruption est exécuté à l’extérieur du corps
d’une fonction, l’action est exécutée après sortie du shell Korn. Dans les versions
antérieures du shell Korn, aucun traitement d’interruption sur 0 ou EXIT défini à l’extérieur
du corps de la fonction n’était exécuté après sortie de la fonction.
Erreurs de syntaxe et affectations de variables suivent les règles définies à la section
Commandes intégrées du shell Korn ou POSIX, page 12-39.
Pour exécuter une commande composée, il suffit de spécifier son nom comme celui d’une
commande simple, les opérandes de la commande faisant temporairement office de
paramètres positionnels, pendant la durée de l’exécution. Le paramètre spécial # est
modifié pour refléter le nombre d’opérandes. Le paramètre spécial 0 reste inchangé.
La commande spéciale return permet de reprendre la main à partir des appels de la
fonction. Si des erreurs surviennent à l’intérieur des fonctions, le contrôle est repris par le
programme appelant.
Les ID fonctions sont listés via l’option –f ou +f de la commande spéciale typeset. L’option
–f liste également le texte des fonctions. Les fonctions sont désactivées par l’option –f de la
commande spéciale unset.
Généralement, les fonctions sont désactivées lorsque le shell exécute un script shell. La
commande typeset assortie de l’option –xf permet d’exporter une fonction vers des scripts
exécutés, sans appel séparé du shell. Les fonctions qui doivent être définies par appel
séparé du shell doivent être spécifiées dans le fichier ENV via la commande typeset
assortie de l’option –xf.
Une fonction renvoie un état de sortie nul si sa déclaration a échoué, un état positif sinon.
L’état de sortie d’un appel de fonction est celui de la dernière commande exécutée par la
fonction.
Historique des commandes (shell Korn ou POSIX)
Le shell Korn ou POSIX enregistre les commandes entrées dans un fichier d’historique,
dont le nom est défini par la variable HISTFILE. Si cette variable n’est ou ne peut être
définie, le fichier $HOME/.sh_history est utilisé par défaut. Si le fichier d’historique n’existe
pas et que le shell Korn ne dispose pas des droits nécessaires pour le joindre, le shell utilise
un fichier temporaire comme fichier d’historique. Le shell accède aux commandes de tous
les shells interactifs via le même fichier d’historique, doté des droits d’accès adhoc.
Par défaut, le shell Korn ou POSIX sauvegarde le texte des 128 dernières commandes. La
taille du fichier d’historique (variable HISTSIZE) n’est pas limitée, mais un fichier trop
volumineux risque de ralentir le démarrage du shell Korn.
12-14
AIX Guide de l’utilisateur – Système d’exploitation et unités
Substitution de l’historique des commandes
La commande intégrée fc permet d’afficher et de modifier tout ou partie du fichier
d’historique. Le cas échéant, précisez le numéro ou l’intervalle de numéros (ou encore les
premiers caractères) des commandes qui vous intéressent. Vous pouvez spécifier une
ou plusieurs commandes.
Si vous ne précisez pas de programme d’édition en argument de la commande fc, c’est
l’éditeur spécifié par la variable FCEDIT qui est utilisé. En cas de non définition de la
variable FCEDIT, le fichier /usr/bin/ed est utilisé. Les commandes modifiées sont affichées
et exécutées dès que vous quittez l’éditeur.
Le nom d’éditeur tiret (–) permet de sauter la phase d’édition et de réexécuter directement
la commande. Vous pouvez, dans ce cas, passer par un paramètre de substitution de la
forme Ancien = Nouveau pour modifier la commande avant de l’exécuter. Par exemple, si r
a pour alias fc –e –, tapez r bad=good c : la commande la plus récente commençant
par la lettre c est exécutée et remplace la première occurrence de la chaîne bad par la
chaîne good.
Pour plus d’informations sur l’utilisation de la commande d’historique du shell,
reportez–vous à la section Liste des commandes précédemment entrées (commande
history), page 4-7 et la commande fc dans le manuel AIX 5L Version 5.3 Commands
Reference.
Shells
12-15
Déclaration de caractères (shell Korn ou POSIX)
Si vous voulez que le shell Korn ou POSIX interprète un caractère comme étant un
caractère normal (c’est-à-dire dépourvu de la signification qui lui est normalement
associée), vous devez le déclarer. S’il s’agit d’un métacaractère, utilisez un des caractères
de déclaration de la liste ci–après.
Un métacaractère est un caractère qui a une signification spéciale pour le shell : si vous
omettez de le déclarer, le shell l’interprétera et le mot sera tronqué. Voici les métacaractères
du shell Korn ou POSIX (à déclarer, le cas échéant) :
• | (barre verticale)
• & (perluète)
• ; (point–virgule)
• < (inférieur à) et > (supérieur à)
• ( (parenthèse gauche) et ) (parenthèse droite)
• $ (dollar)
• ‘ (apostrophe inverse) et ’ (apostrophe)
• \ (barre oblique inverse)
• ” (guillemets)
• nouvelle ligne
• espace
• tabulation
S’il s’agit d’un métacaractère, utilisez un des caractères de déclaration de la liste ci–après.
12-16
AIX Guide de l’utilisateur – Système d’exploitation et unités
\ (barre oblique inverse)
Une barre oblique inverse (\) non déclarée préserve la
valeur littérale du caractère suivant (sauf s’il s’agit du
caractère nouvelle ligne). S’il s’agit du caractère nouvelle
ligne, le shell l’interprète comme une continuation de ligne.
Apostrophes
Mettre des caractères entre apostrophes (’ ’) préserve leur
valeur littérale. Ne placez pas d’apostrophe dans la chaîne
encadrée.
Une barre oblique inverse ne permet pas
d’insérer une apostrophe dans une chaîne
de ce type. Pour imbriquer des apostrophes,
écrivez, par exemple : ’a’\’’b’, pour
obtenir a’b.
Guillemets
Mettre des caractères entre guillemets (” ”) préserve leur
valeur littérale – sauf pour les caractères dollar, apostrophe
inverse et barre oblique inverse.
$
Le signe dollar conserve sa fonction : développement de
paramètres (forme de substitution de commandes) et
développement arithmétique.
Les caractères entre guillemets se trouvant également
entre $(et le symbole) correspondant ne sont pas
affectés par les guillemets, mais définissent la
commande dont la sortie remplace $ (...) lorsque le
mot est développé.
A l’intérieur d’une chaîne délimitée par $ { et }, le
nombre d’apostrophes ou de guillemets (le cas échéant)
doit être pair. Pour déclarer un littéral { ou }, utilisez
une barre oblique inverse.
‘
L’apostrophe inverse conserve sa fonction : introduire
l’autre forme de substitution de commande. La partie de la
chaîne comprise entre la première apostrophe et la
suivante (non précédée d’une barre oblique inverse) définit
la commande dont la sortie remplace ‘ ... ‘ lorsque le
mot est développé.
\
La barre oblique inverse conserve sa fonction
d’échappement si elle est suivie de l’un des caractères
suivants : $, ‘, ”, \ ou par un caractère nouvelle ligne.
Pour insérer un guillemet dans une chaîne entre guillemets, faites–le précéder d’une barre
oblique inverse. Avec des guillemets, si une barre oblique inverse est immédiatement suivie
d’un caractère spécial, la barre est supprimée et le caractère suivant, interprété
littéralement. Si la barre oblique inverse précède un caractère normal, elle demeure à sa
place, et le caractère suivant est inchangé. Par exemple :
”\$”
”\a”
–>
–>
$
\a
Shells
12-17
Voici les règles applicables aux métacaractères et aux caractères de déclaration dans
le shell Korn ou POSIX :
• La signification du signe dollar, astérisque ($*) et signe dollar, arobase ($@) est la même
lorsqu’ils ne sont pas déclarés, qu’ils soient utilisés comme valeur d’affectation
de paramètre ou comme nom de fichier.
• Utilisé comme argument de commande, le signe guillemets doubles, signe dollar,
astérisque, guillemets doubles (”$*”) équivaut à ”$1 d $2 d...”, où d est le premier
caractère du paramètre IFS.
• Le signe guillemets doubles, dollar, arobase, guillemets double (”$@”) équivaut à ”$1”
”$2” ....
• Entre apostrophes inverses (‘‘), la barre oblique inverse déclare les caractères barre
oblique inverse (\), apostrophe (’) et signe dollar ($). Si les apostrophes inverses se
trouvent entre guillemets (” ”), la double barre inverse déclare également le caractère
guillemets.
• Les substitutions de commandes et de paramètres ne sont pas affectées par les
guillemets (””).
• Pour annuler la signification spéciale des alias et des mots réservés, déclarez–en
chaque caractère. Les noms des fonctions et des commandes intégrées ne peuvent être
déclarés.
12-18
AIX Guide de l’utilisateur – Système d’exploitation et unités
Mots réservés (shell Korn ou POSIX)
Voici la liste des mots réservés du shell :
!
case
done
elif
esac
fi
function if
select
then
until
while
}
[[
do
else
for
in
time
{
]]
Un mot réservé n’est identifié que lorsqu’il n’est pas déclaré et qu’il constitue :
• le premier mot d’une commande ;
• le premier mot suivant un mot réservé autre que case, for ou in ;
• le troisième mot d’une commande case ou for (in est le seul mot possible).
Shells
12-19
Alias de commandes (shell Korn ou POSIX)
Le shell Korn, ou POSIX, permet de personnaliser les commandes en créant des alias.
La commande alias définit comme alias un mot de la forme Nom=Chaîne. Lorsque vous
utilisez un alias comme premier mot d’une ligne de commande, le shell Korn vérifie s’il traite
déjà un alias de même nom. Dans l’affirmative, il ne remplace pas le nom de l’alias. Dans la
négative, il remplace le nom de l’alias par sa valeur.
Le premier caractère d’un nom d’alias peut être n’importe quel caractère imprimable à
l’exclusion des caractères spéciaux. Les autres caractères sont les mêmes que ceux utilisés
pour un identificateur. La chaîne de remplacement peut contenir n’importe quel texte shell
correct, métacaractères compris.
Si le dernier caractère d’une valeur alias est un blanc, le shell vérifie aussi le mot qui suit
l’alias. Les alias peuvent servir à redéfinir les commandes intégrées spéciales, mais pas les
mots réservés. Les définitions d’alias ne sont pas conservées d’un appel de ksh à l’autre.
Toutefois, si vous spécifiez alias –x, l’alias reste en vigueur pour les scripts appelés par leur
nom, qui n’appellent pas de scripts distincts. Pour exporter une définition d’alias et en offrir
l’accès aux process enfants, spécifiez alias –x et la définition de l’alias dans le fichier
d’environnement.
Utilisez la commande alias pour créer, répertorier et exporter des alias.
Pour supprimer les alias, utilisez la commande unalias.
Format de création d’un alias :
alias Nom=Chaîne
où le paramètre Name est le nom de l’alias et String sa valeur.
Les alias exportés suivants sont prédéfinis par le shell Korn, mais vous pouvez les inhiber
ou les redéfinir. Nous vous conseillons toutefois de ne pas les modifier : vous risqueriez de
perturber un tiers, habitué au fonctionnement des alias prédéfinis.
autoload=’typeset –fu’
false=’let 0’
functions=’typeset –f’
hash=’alias –t’
history=’fc –l’
integer=’typeset –i’
nohup=’nohup ’
r=’fc –e –’
true=’:’
type=’whence –v’
Les alias ne sont pas pris en charge par les appels non interactifs du shell Korn (ksh)
(dans un script shell ou, comme dans l’exemple suivant avec l’option –c associée à ksh.
ksh –c alias
Pour plus d’informations sur la création d’alias, reportez–vous à Création d’un alias
(commande shell alias), page 4-10 et à la commande alias dans le manuel AIX 5L Version
5.3 Commands Reference.
12-20
AIX Guide de l’utilisateur – Système d’exploitation et unités
Alias de trace
Les alias sont souvent utilisés pour abréger les noms de chemins absolus. La fonction de
création d’alias permet d’associer automatiquement la valeur d’un alias au chemin absolu
de la commande correspondante. Ce type d’alias s’appelle alias de trace. Ce type d’alias
accélère l’exécution des commandes, le shell n’ayant plus à rechercher dans la variable
PATH le chemin absolu.
La commande set –h active le processus de traçage, de sorte que chaque fois qu’une
commande est référencée, le shell définit un alias de trace. La valeur de cet alias devient
indéfinie dès que vous réinitialisez la variable PATH.
Ces alias demeurent tracés, jusqu’à ce qu’une référence ultérieure les redéfinisse.
Plusieurs alias de trace sont compilés dans le shell.
Substitution de tilde
Après exécution des substitutions d’alias, le shell examine les mots à la recherche de ceux
qui commencent par un tilde (~) non déclaré. S’il en trouve, il vérifie le mot, jusqu’à la
première barre oblique (/), pour voir s’il correspond à un nom utilisateur du fichier
/etc/passwd. Si oui, il remplace le caractère ~ et le nom par le répertoire de connexion de
l’utilisateur correspondant. Ce processus est appelé substitution de tilde.
S’il ne trouve pas de correspondance, le shell ne modifie pas le texte original. Le shell Korn
effectue aussi des remplacements dans le cas particulier où le caractère ~ est le seul du
mot ou est suivi du signe + (plus) ou du signe – (moins).
~
Remplacé par la variable HOME.
~+
Remplacé par la variable $PWD
(chemin absolu du répertoire précédent).
~–
Remplacé par la variable $OLDPWD
(chemin absolu du répertoire précédent).
En outre, le shell essaie d’effectuer une substitution de tilde lorsque la valeur d’un
paramètre d’affectation de variable commence par un caractère ~.
Shells
12-21
Substitution de paramètres (shell Korn ou POSIX)
Le shell Korn, ou shell POSIX, vous permet d’effectuer des substitutions de paramètres.
Cette section traite des points suivants :
•
Paramètres (shell Korn), page 12-22
•
Substitution de paramètres, page 12-23
•
Paramètres spéciaux prédéfinis, page 12-24
•
Variables définies par le shell Korn ou POSIX, page 12-25
•
Variables utilisées par le shell Korn ou POSIX, page 12-26
Paramètres (shell Korn)
Il existe plusieurs catégories de paramètres :
• Identificateur constitué d’une combinaison des caractères * (astérisque), @ (arobase),
#(dièse), ? (point d’interrogation), – (tiret), $ (dollar) et ! (point d’exclamation). Il s’agit
des paramètres spéciaux.
• Argument désigné par un chiffre (paramètre positionnel).
• Paramètre désigné par un identificateur, doté d’une valeur et, éventuellement,
d’attributs (paramètres/variables nommés).
La commande intégrée spéciale typeset affecte valeurs et attributs aux paramètres
nommés. Vous trouverez la description des attributs admis par le shell Korn dans la section
qui traite de la commande typeset. Les paramètres exportés transmettent valeurs et
attributs à l’environnement.
Le format d’affectation d’une valeur est le suivant:
Nom=Valeur [ Nom=Valeur ] ...
Si l’attribut entier –i est associé au paramètre Namele paramètre Value fait l’objet d’une
évaluation arithmétique. Pour en savoir plus, reportez–vous à la section Evaluation
arithmétique (shell Korn ou POSIX), page 12-30.
Le shell offre une fonction de tableau à une dimension. Chaque élément du tableau est
référencé par un indice, désigné par une expression arithmétique entre crochets [ ].
Pour affecter des valeurs à un tableau, utilisez la commande set –A Nom Valeur....
Les indices doivent être compris entre 0 et 511. Les tableaux n’ont pas besoin d’être
déclarés. Toute référence à un paramètre doté d’un indice valide est autorisée et permet,
le cas échéant, la création d’un tableau. Référencer un tableau sans indice équivaut à
référencer l’élément zéro.
La commande spéciale set sert à affecter des valeurs aux paramètres positionnels.
A l’appel du shell, le paramètre $0 est positionné à partir de l’argument zéro.
Le caractère $ permet d’introduire des paramètres remplaçables.
12-22
AIX Guide de l’utilisateur – Système d’exploitation et unités
Substitution de paramètres
Voici la liste des paramètres remplaçables:
${ Paramètre }
Le shell lit tous les caractères à partir du signe $ { (signe
dollar, accolade gauche) jusqu’au signe } (accolade droite)
correspondant faisant partie d’un même mot, même si
celui–ci contient des accolades ou des métacaractères. La
valeur éventuelle du paramètre spécifié est remplacée. Les
accolades sont obligatoires lorsque Paramètre est suivi
d’une lettre, d’un chiffre ou d’un soulignement qui ne font pas
partie du nom ou pour un paramètre nommé indexé.
Un paramètre spécifié avec un ou plusieurs chiffres est un
paramètre positionnel. Tout paramètre positionnel de plus
d’un chiffre doit être mis entre accolades. Lorsque la valeur
de la variable est un * (astérisque) ou un @ (arobase),
chaque paramètre positionnel commençant par $1, est
remplacé (séparé par un caractère séparateur de zone).
Lorsqu’un identificateur de tableau doté d’un indice *
(astérisque) ou d’un @ (arobase) est utilisé, la valeur de
chacun des éléments (séparé par un caractère séparateur
de zone) est remplacé.
${# Paramètre }
Lorsque la valeur de Paramètre est un * ou un @, le nombre
de paramètres positionnels fait l’objet d’une substitution.
Sinon, la longueur spécifiée par Paramètre est remplacée.
${# Identificateur [ * ] }
Le nombre d’éléments du tableau spécifié par le paramètre
Identificateur est remplacé.
${ Paramètre:– Mot }
Si Paramètre est défini et non nul, sa valeur est remplacée ;
sinon, la substitution porte sur Mot.
${ Paramètre:= Mot }
Si Paramètre est défini et non nul, sa valeur est remplacée ;
sinon, la substitution porte sur Mot. Les paramètres
positionnels ne peuvent être affectés de cette façon.
${ Paramètre:? Mot }
Si Paramètre est défini et non nul, sa valeur est remplacée.
Sinon, la valeur de Mot s’affiche et vous quittez le shell. Si
vous avez omis de définir Mot, un message standard
s’affiche.
${ Paramètre:+ Mot }
Si Paramètre est défini et non nul, sa valeur est remplacée.
Shells
12-23
${ Paramètre # Trame } |
${ Paramètre ## Trame }
Si la Trame shell correspond aux premiers caractères de
Paramètre, la valeur de remplacement est celle de
Paramètre après suppression de la partie correspondante.
Sinon, la valeur de Paramètre est remplacée. Dans le
premier format, c’est la plus petite correspondance de
caractères génériques qui est éliminée. Dans le second
format, c’est la plus longue correspondance de caractères
génériques qui est éliminée.
${ Paramètre % Trame } |
${ Paramètre %% Trame }
Si la Trame shell correspond aux derniers caractères de
Paramètre, la valeur de remplacement est celle de
Paramètre après suppression de la partie correspondante.
Sinon, la valeur de Paramètre est remplacée. Dans le
premier format, c’est la plus petite correspondance de
caractères génériques qui est éliminée, dans le deuxième
format, c’est la plus longue.
Dans les expressions précédentes, la variable Mot n’est
évaluée que si elle doit être utilisée comme chaîne
remplacée. Dans l’exemple suivant, la commande pwd ne
sera donc exécutée que si l’indicateur –d est nul ou non
défini :
echo ${d:–$(pwd)}
Remarque : Si le signe : (deux points) est omis, le shell vérifie uniquement si Paramètre
est défini.
Paramètres spéciaux prédéfinis
Les paramètres automatiquement définis par le shell sont les suivants:
12-24
@
Développe les paramètres positionnels, en commençant par $1.
Les paramètres sont séparés par des espaces.
Si vous encadrez $@ de guillemets(”), le shell interprète chaque
paramètre positionnel comme une chaîne distincte. En l’absence de
paramètre positionnel, le shell développe l’instruction en chaîne nulle
non déclarée.
*
Développe les paramètres positionnels, en commençant par $1.
Le shell sépare chaque paramètre par le premier caractère du
paramètre IFS (voir page 12-25.
Si vous encadrez $* de guillemets(”), le shell encadre de guillemets
les valeurs du paramètre positionnel. Les valeurs sont séparées par le
premier caractère du paramètre IFS.
#
Spécifie le nombre (décimal) de paramètres positionnels transmis au
shell, nom de la procédure shell elle–même exclu. Le paramètre $#
génère donc le paramètre positionnel ayant la valeur la plus élevée.
Ce paramètre sert principalement à vérifier que le nombre d’arguments
requis est présent.
–
Fournit les indicateurs pour le lancement du shell ou de la commande
set.
?
Valeur de sortie de la dernière commande exécutée (chaîne décimale).
La plupart des commandes renvoient 0 pour indiquer qu’elles ont été
correctement exécutées. Le shell renvoie la valeur courante $? de la
variable.
AIX Guide de l’utilisateur – Système d’exploitation et unités
$
Numéro de process du shell. Un numéro de process étant unique, cette
chaîne (de 5 chiffres au maximum) est souvent utilisée pour générer
des noms uniques pour les fichiers temporaires.
L’exemple suivant illustre comment créer des fichiers temporaires dans
un répertoire réservé à cet effet :
temp=$HOME/temp/$$
ls >$temp
.
.
.
rm $temp
!
Numéro de process de la dernière commande d’arrière–plan invoquée.
0 (zéro)
Développe le nom du shell ou du script shell.
Variables définies par le shell Korn ou POSIX
Les variables définies par le shell sont les suivantes :
_ (souligné)
Indique initialement le nom de chemin du shell ou du script en cours
d’exécution tel que transmis à l’environnement. Le dernier argument
de la commande précédente lui est ensuite affecté. Ce paramètre
n’est pas défini pour les commandes asynchrones. Il sert également
à bloquer le nom du fichier MAIL correspondant pendant la
vérification du courrier.
ERRNO
Valeur définie par la dernière sous–routine non aboutie. Cette valeur,
dépendante du système, sert au débogage.
LINENO
Numéro de la ligne courante dans le script ou dans la fonction en
cours d’exécution.
OLDPWD
Répertoire de travail précédemment défini par la commande cd.
OPTARG
Valeur du dernier argument de l’option traitée par la commande
intégrée standard getopts.
OPTIND
Valeur du dernier indice de l’option traitée par la commande intégrée
standard getopts.
PPID
Numéro de process du shell parent.
PWD
Répertoire de travail courant défini par la commande cd.
RANDOM
Génère un nombre entier aléatoire compris entre 0 et 32767. La
séquence des nombres aléatoires peut être initialisée en affectant
une valeur numérique à la variable RANDOM.
REPLY
Défini par l’instruction select et la commande intégrée standard read
en l’absence d’arguments.
SECONDS
Nombre de secondes écoulées depuis le renvoi de l’appel du shell.
Lorsque cette variable est renseignée, la valeur renvoyée est la
valeur affectée incrémentée du nombre de secondes écoulées
depuis l’affectation.
Shells
12-25
Variables utilisées par le shell Korn ou POSIX
Les variables suivantes sont utilisées par le shell :
CDPATH
Chemin d’accès à la commande cd (changement de répertoire).
COLUMNS
Largeur de la fenêtre d’édition, pour les modes d’édition du shell et
l’impression des listes select.
EDITOR
Si ce paramètre se termine par emacs, gmacs, ou vi, et que la
variable VISUAL n’est pas définie par la commande set, l’option
correspondante est activée.
ENV
Si cette variable est renseignée, une substitution de paramètre est
exécutée sur cette valeur pour créer le nom de chemin du script
exécuté à l’appel du shell. Cette variable est ignorée pour les shells
non interactifs.
FCEDIT
Nom de l’éditeur par défaut pour la commande fc.
FPATH
Chemin d’accès aux définitions de fonction. Il est exploré pour les
fonctions assorties de l’indicateur –u et les commandes introuvables.
Si un fichier exécutable est trouvé, il est lu et exécuté dans
l’environnement courant.
HISTFILE
Si défini à l’appel du shell, nom du chemin d’accès au fichier
enregistrant l’historique des commandes.
Le process d’initialisation du fichier history peut dépendre des
fichiers de lancement du système car certains de ces fichiers
peuvent contenir des commandes qui anticipent les paramétrages
spécifiés par l’utilisateur pour HISTFILE et HISTSIZE. Par exemple,
les commandes de définition de fonction sont enregistrées dans le
fichier history. Si l’administrateur du système inclue des définitions
de fonction dans un fichier de lancement de système qui est appelé
avant le fichier ENV ou avant que les variables HISTFILE ou
HISTSIZE ne soient paramétrées, le fichier history est initialisé
avant que l’utilisateur ne puisse avoir une influence sur ces
caractéristiques.
12-26
HISTSIZE
Si défini à l’appel du shell, nombre minimal de commandes
précédemment entrées et accessibles par ce shell. La valeur par
défaut est de 128 commandes pour les utilisateurs non racine et de
512 commandes pour l’utilisateur racine.
HOME
Répertoire de connexion, qui est le répertoire courant dès que la
connexion est établie. Cette variable est initialisée par le programme
login. La commande cd utilise par défaut la valeur du paramètre
$HOME. Utiliser cette variable plutôt qu’un nom de chemin explicite
dans une procédure shell permet d’exécuter la procédure à partir
d’un répertoire différent sans modification.
IFS
Séparateurs de zone internes (en général, espace, tabulation et
nouvelle ligne), qui servent à séparer les mots d’une commande
résultant d’une substitution de paramètre ou de commande, ou issus
d’une commande intégrée régulière read. Le premier caractère du
paramètre IFS sépare les arguments pour la substitution$*.
LANG
Valeur par défaut des variables LC_*.
LC_ALL
Prime sur les valeurs des variables LANG et LC_*.
LC_COLLATE
Détermine la réaction d’une expression de type intervalle dans le
cadre d’une recherche générique.
AIX Guide de l’utilisateur – Système d’exploitation et unités
LC_CTYPE
Définit la classification des caractères, la conversion
majuscules/minuscules et autres attributs de caractères.
LC_MESSAGES
Langue d’affichage des messages.
LINES
Longueur des colonnes pour l’affichage des listes de sélection. Les
listes de sélection s’affichent verticalement jusqu’au deux tiers
environ des lignes spécifiées par le paramètre LINES.
MAIL
Chemin d’accès au fichier utilisé par la messagerie pour détecter
l’arrivée de courrier. Si vous indiquez le nom d’un fichier courrier et
que le paramètre MAILPATH n’est pas défini, le shell informe
l’utilisateur que du courrier est arrivé dans le fichier spécifié.
MAILCHECK
Fréquence (en secondes) des contrôles effectués par le shell sur
d’éventuels changements apportés au délai de modification des
fichiers (défini via les variables MAILPATH ou MAIL). La valeur par
défaut est 600 secondes. Lorsque le délai est écoulé, le shell
effectue un contrôle avant l’affichage de l’invite suivante.
MAILPATH
Liste de noms de fichiers, séparés par des signes deux points. Si
cette variable est renseignée, le shell informe l’utilisateur de toute
modification des fichiers spécifiés, survenue au cours de l’intervalle,
en secondes, spécifié par MAILCHECK. Chaque nom de fichier peut
être suivi d’un ? (point d’interrogation) et d’un message. Le message
fera l’objet d’une substitution de paramètre avec la variable $ _
définie comme nom de fichier modifié. Le message par défaut est
you have mail in $ _.
NLSPATH
Emplacement des catalogues de messages utilisés pour le
traitement de LC_MESSAGES.
PATH
Chemin d’accès aux commandes, sous forme de liste de chemins à
des répertoires, séparés par des deux–points. Lorsqu’il recherche
une commande, le shell explore ces répertoires dans l’ordre spécifié.
Le répertoire courant est représenté par une chaîne nulle.
PS1
Chaîne constituant l’invite système principale ($ par défaut), dont la
valeur est développée pour la substitution de paramètres. Le
caractère ! (point d’exclamation) dans l’invite principale est remplacé
par le numéro de commande.
PS2
Chaîne constituant l’invite système secondaire (> (supérieur à), par
défaut).
PS3
Chaîne constituant l’invite de sélection dans une boucle select
(#? (dièse, point d’interrogation), par défaut).
PS4
La valeur de cette variable (+, par défaut), développée pour la
substitution de paramètres, précède chaque ligne des suivis
d’exécution.
SHELL
Chemin d’accès au shell, enregistré dans l’environnement.
SHELL PROMPT
En mode interactif, le shell affiche l’invite définie par le paramètre
PS1, avant de lire une commande. Puis à chaque caractère ligne
suivante entré, le shell affiche la deuxième invite (définie par le
paramètre PS2) pour vous demander de compléter la commande.
Shells
12-27
TMOUT
Délai (en secondes) pendant lequel le shell reste inactif avant de
quitter. Si ce délai est positif, le shell quitte en l’absence de
commande entrée dans ce délai, après l’affichage de l’invite PS1.
(Notez que le shell peut être compilé avec l’indication d’une limite
maximale pour le délai.)
Remarque : A l’expiration du délai imparti, une pause de
60-secondes s’écoule encore avant que le shell ne quitte.
VISUAL
Lorsque la valeur de cette variable se termine par emacs,
gmacs ou vi, l’option correspondante est activée.
Le shell attribue des valeurs par défaut aux paramètres PATH, PS1, PS2, MAILCHECK,
TMOUT et IFS, tandis que les paramètres HOME, SHELL, ENV et MAIL ne sont pas définis
par le shell (bien que le paramètre HOME soit défini par la commande login).
12-28
AIX Guide de l’utilisateur – Système d’exploitation et unités
Substitution de commandes (shell Korn ou POSIX)
Le shell Korn, ou shell POSIX, vous permet d’effectuer des substitutions de commande.
Lors d’une substitution de commandes, le shell exécute une commande dans un
environnement de sous–shell et remplace cette commande par son résultat.
Pour exécuter une substitution de commande dans le shell Korn ou POSIX, entrez :
$(command)
ou, avec des apostrophes inverses :
‘command‘
Remarque : Bien que ksh accepte les apostrophes inverses, les normes XPG4 (X/Open
Portability Guide Issue 4) et POSIX les considèrent comme étant obsolètes. Ces
dernières prônent l’utilisation de la syntaxe $(commande) par les applications portables.
Le shell exécute commande dans un environnement sous-shell, et remplace le texte de
commande, encadré de ( ) ou d’apostrophes inverses, par le résultat standard de la
commande, en supprimant les caractères nouvelle ligne à la fin de la substitution.
Dans l’exemple suivant, les signes $( ) (dollar, parenthèses) entourant la commande
indiquent la substitution du résultat de la commande whoami :
echo My name is: $(whoami)
La commande suivante a le même effet :
echo My name is: ‘whoami‘
Dans les deux cas, le résultat (pour l’utilisateur dee) est le suivant :
My name is: dee
Vous pouvez également substituer des expressions arithmétiques en les mettant entre
parenthèses. Par exemple, la commande :
echo Each hour contains $((60 * 60)) seconds
génère :
Each hour contains 3600 seconds
Le shell Korn ou POSIX supprime tous les caractères nouvelle ligne situés à droite.
Par exemple, si votre répertoire courant contient les fichiers file1, file2, et file3,
la commande :
echo $(ls)
supprime les caractères nouvelle ligne et affiche :
file1 file2 file3
Si vous souhaitez conserver les caractères nouvelle ligne, mettez la commande entre
guillemets (” ”) :
echo ”$(ls)”
Shells
12-29
Evaluation arithmétique (shell Korn ou POSIX)
La commande let intégrée du shell Korn ou POSIX permet d’effectuer des calculs sur des
nombres entiers. Le format des constantes est [Base]Nombre. Le paramètre Base est un
nombre décimal compris entre 2 et 36, correspondant à la base arithmétique. Le paramètre
Nombre est un nombre dans cette base. Si vous ne spécifiez pas le paramètre Base, le
shell utilise une base de 10.
Les expressions arithmétiques adoptent la même syntaxe, la même priorité et la même
associativité qu’en langage de programmation C. Tous les opérateurs entiers, à l’exception
du double signe plus (++), du double tiret ––, du point d’interrogation suivi des deux–points
(?:) et de la virgule (,), sont admis. Le tableau suivant contient la liste des opérateurs
shell Korn ou POSIX valables, classés par ordre de priorité décroissant :
Opérateur
Définition
–
Signe moins (unaire)
!
Négation logique
~
Négation niveau bit
*
Multiplication
/
Division
%
Reste
+
Addition
–
Soustraction
<<, >>
Décalage arithmétique gauche, droite
<=,>=, , ==, !=
Comparaison
&
ET niveau bit
^
OU niveau bit exclus if
|
OU niveau bit
&&
ET logique
||
OU logique
= *=, /=, &= +=, –=, <<=, > >=, &=, ^=, |=
Affectation
Nombre d’opérateurs arithmétiques (*, &, < et >, par exemple) ont une signification
particulière pour le shell Korn ou POSIX. Ils doivent être placés entre guillemets. Par
exemple, pour multiplier la valeur courante de y par 5 et réaffecter la nouvelle valeur à y,
utilisez l’expression :
let ”y = y * 5”
Mis entre guillemets, le caractère * perd sa signification spéciale.
Vous pouvez regrouper des opérations dans le cadre de la commande let.
Par exemple, l’expression :
let ”z = q * (z – 10)”
multiplie q par la valeur de z diminuée de 10.
Si l’évaluation ne porte que sur une seule expression, le shell Korn ou POSIX propose un
deuxième format de la commande let. Le shell traite les commandes entre (()) comme
des expressions déclarées. Ainsi, l’expression :
((x = x / 3))
équivaut à :
let ”x = x / 3”
12-30
AIX Guide de l’utilisateur – Système d’exploitation et unités
Les paramètres nommés sont référencés par nom à l’intérieur d’une expression
arithmétique, sans utilisation de la syntaxe de substitution de paramètres. Lorsqu’un
paramètre nommé est référencé, sa valeur est évaluée comme une expression
arithmétique.
Pour spécifier une représentation interne entière d’un paramètre nommé, utilisez la
commande intégrée typeset assortie de l’indicateur –i. Avec l’indicateur –i, l’évaluation
arithmétique portera sur la valeur de chaque affectation à un paramètre nommé. Si vous ne
spécifiez pas de base arithmétique, la première attribution au paramètre détermine la base
arithmétique. Cette base est utilisée lorsque la substitution de paramètres se produit.
Shells
12-31
Séparation de zones (shell Korn ou POSIX)
Après exécution d’une substitution de commande, le shell Korn balaye les résultats des
substitutions, à la recherche des séparateurs de zones définis dans la variable IFS (Internal
Field Separator). A chaque occurrence d’un séparateur, le shell partage la ligne en
arguments distincts. Il conserve les arguments nuls explicites (”” ou ’’), mais élimine ceux
qui sont implicites (résultant de paramètres non renseignés).
• Si la valeur d’IFS est un espace, une tabulation, un caractère nouvelle ligne, ou qu’elle
n’est pas définie, toute séquence d’espaces, de tabulations, de caractères nouvelle ligne
est ignorée si elle se trouve au début ou à la fin de l’entrée, ou délimite une zone si elle
se trouve à l’intérieur de l’entrée. Ainsi, l’entrée suivante génère deux zones, school et
days:
<newline><space><tab>school<tab><tab>days<space>
• Sinon, et si la valeur d’IFS est non nulle, les règles suivantes sont applicables (dans
l’ordre). Le terme espace IFS désigne toute séquence (zéro ou plusieurs occurrences)
de caractères définie dans IFS (par exemple, si IFS contient espace/virgule/tabulation,
toute combinaison d’espaces et de tabulations constitue un espace IFS).
1. Un espace IFS en début ou en fin d’entrée est ignoré.
2. Chaque occurrence d’un caractère IFS autre que l’espace IFS, associé à un espace
IFS adjacent, délimite une zone.
3. Des espaces IFS de longueur non nulle délimitent une zone.
12-32
AIX Guide de l’utilisateur – Système d’exploitation et unités
Substitution de noms de fichiers (shell Korn ou POSIX)
Pour procéder à une substitution de noms de fichier, le shell Korn, ou POSIX, balaye les
mots de la commande spécifiée par la variable Mot, à la recherche de certains caractères.
Si un mot contient les caractères * (astérisque), ? (point d’interrogation) ou [ (crochet
gauche) et en l’absence de l’indicateur –f, le shell le considère comme une trame. Il les
remplace par les noms de fichiers correspondant à la trame, triés selon l’ordre en vigueur
dans l’environnement local. Si aucun nom de fichier ne correspond, le mot reste tel quel.
Lorsque le shell utilise une trame pour la substitution de noms de fichiers,
les caractères . (point) et / (barre oblique) doivent correspondre explicitement.
Remarque : Dans d’autres cas de recherche sur la base d’une trame, le shell Korn ne
traite pas les caractères distinctement.
Voici les substitutions générées :
*
Correspond à n’importe quelle chaîne, chaîne nulle comprise.
?
Correspond à un seul caractère (quelconque).
[... ]
Correspond à n’importe lequel des caractères entre crochets. Une paire de
caractères séparés par un trait d’union (– ) correspond à n’importe quel caractère
compris (selon l’ordre local en vigueur) entre ces deux valeurs. Si le premier
caractère qui suit le crochet gauche d’ouverture [ est un point d’exclamation !,
n’importe quel caractère à l’exclusion de ceux entre crochets correspond. Pour
inclure un trait d’union (– ) dans l’ensemble de caractères considéré, placez–le
au début ou à la fin de l’ensemble.
Vous pouvez également utiliser la notation [: charclass:] pour rechercher des noms
de fichiers dans une certaine plage. Tout caractère de la classe est réputé correspondre.
La définition du contenu des classes de caractères est indiqué via la catégorie LC_CTYPE
de la sous–routine setlocale. Toutes les classes de caractères spécifiées dans
l’environnement local sont reconnues.
Voici quelques unes de ces classes :
• alnum
• alpha
• cntrl
• digit
• graph
• lower
• print
• punct
• space
• upper
• xdigit
Par exemple, [[:upper:]] correspond à toute majuscule.
Le shell Korn prend en charge l’extension de noms de fichiers basée sur le classement des
éléments, des symboles ou des classes d’équivalence.
Shells
12-33
Une ListeTrames est une liste d’une ou de plusieurs trames, séparées par une barre
verticale( | ). Les trames composées sont formées à partir des caractères :
?(ListeTrames)
Correspond éventuellement à l’une des trames spécifiées.
*(ListeTrames)
Correspond à zéro ou plusieurs occurrences des trames spécifiées
+(ListeTrames)
Correspond à une ou plusieurs occurrences des trames spécifiées
@(ListeTrames)
Correspond exactement à l’une des trames spécifiées
!(ListeTrames)
Correspond à toute trame, à l’exclusion de celles spécifiées
L’utilisation de trames souffre quelques restrictions. Si le premier caractère d’un nom de
fichier est un point (.), il ne peut être mis en correspondance qu’avec une trame
commençant aussi par un point. Par exemple, * (astérisque) correspond aux fichiers
monfichier et votrefichier, mais pas aux fichiers.monfichier et .votrefichier. Pour ces
fichiers, utilisez, par exemple :
.*file
Si la recherche n’aboutit pas, c’est la trame elle–même qui est renvoyée en sortie.
Excluez des noms de fichiers et de répertoires les caractères *, ?, [ et ] : ils risquent de
provoquer une boucle infinie lors des recherches sur la base de trames.
Suppression des caractères de déclaration
Les caractères de déclaration barre oblique inverse (\), apostrophe (’) et guillemets (”)
présents dans le mot d’origine, sont supprimés – sauf s’ils sont eux–mêmes déclarés.
12-34
AIX Guide de l’utilisateur – Système d’exploitation et unités
Réacheminement des entrées/sorties (shell Korn ou POSIX)
Avant d’exécuter une commande, le shell Korn balaye la ligne d’entrée à la recherche de
caractères de réacheminement. Ces derniers lui indiquent de réacheminer les entrées et les
sorties. Ils peuvent se trouver n’importe où dans une commande simple, ou la précéder ou
la suivre. Ils ne sont pas transmis à la commande appelée.
Le shell exécute les substitutions de commandes et de paramètres avant de prendre en
compte les paramètres Mot et Chiffre, sauf indication spéciale. La substitution de nom de
fichier ne se produit que si la trame correspond à un seul fichier et que les blancs ne sont
pas interprétés.
< Mot
Le fichier Mot est l’entrée standard (descripteur de fichier 0).
> Mot
Le fichier Mot est l’entrée standard (descripteur de fichier 1). Si le fichier
n’existe pas, il est créé. Si le fichier existe et que l’option noclobber est
activée, une erreur est générée ; sinon, le fichier est tronqué à la longueur
zéro.
Remarque :
Si l’option noclobber est activée sur de multiples shells et qu’ils
réacheminent la sortie vers le même fichier, une concurrence critique peut
se produire. Cette situation peut aboutir à ce que plusieurs process de
shells écrivent dans le fichier. Le shell ne peut ni détecter ni empêcher de
telles concurrences critiques.
>| Mot
Semblable à la commande > Mot, sauf que cette instruction de
réacheminement prime sur l’option noclobber.
> > Motl
Le fichier Mot est la sortie standard. S’il existe, le shell y ajoute la sortie
(après recherche du caractère de fin de fichier). Si le fichier n’existe pas,
il est créé.
Mot
Ouvre en lecture et en écriture le fichier Mot, en tant qu’entrée standard.
<< [ – ] Mot
Lit chaque ligne de l’entrée shell jusqu’à en trouver une ne contenant que la
valeur du paramètre Mot ou un caractère de fin de fichier. Le shell n’effectue
aucune substitution (paramètre, commande ou nom de fichier) sur le fichier
spécifié. Le document obtenu, appelé document here, page 5-5, devient
l’entrée standard. Pour plus d’informations sur les documents here,
reportez–vous à la section Réacheminement des sorties vers des
documents entrée en ligne (here), page 5-5. Si l’un des caractères de Mot
est déclaré, les caractères du document ne sont pas interprétés.
Le document here est traité comme un seul mot, commençant après le caractère nouvelle
ligne suivant, et continuant jusqu’à une ligne ne contenant que le délimiteur, sans espaces
finaux. Le document here, s’il existe, est alors démarré. Le format est le suivant :
[n]<<mot
document here
délimiteur
Si l’un des caractères de mot est déclaré, le délimiteur est créé par suppression des
guillemets de mot. Les lignes du document here ne sont pas développées. Sinon, le
délimiteur est mot lui–même. Si aucun caractère de mot n’est déclaré, toutes les lignes du
document here sont développées pour procéder au développement des paramètres, aux
substitutions de commandes et au développement arithmétique.
Le shell effectue une substitution de paramètre sur les données réacheminées. Pour
empêcher le shell d’interpréter les caractères \ (barre oblique inverse), $ (dollar) et ‘
(apostrophe), ainsi que le premier caractère du paramètre Mot, faites–les précéder du
caractère \.
Si un signe – (moins) est ajouté à la suite de <<, le shell élimine toutes les tabulations à
gauche du paramètre Mot et du document.
Shells
12-35
<& Chiffre
Duplique l’entrée standard à partir du descripteur de fichier spécifié
par le paramètre Chiffre.
>& Chiffre
Duplique la sortie standard à partir du descripteur de fichier spécifié
par le paramètre Chiffre.
<&–
Ferme l’entrée standard
>&–
Ferme la sortie standard
<&p
Transfère l’entrée du co–processus vers l’entrée standard
>&p
Transfère la sortie du co–process vers la sortie standard
Lorsqu’un chiffre précède l’une des options de réacheminement, le descripteur de fichier
indiqué est spécifié par le chiffre (et non par la valeur par défaut 0 ou 1). Dans l’exemple
suivant, le shell ouvre le descripteur de fichier 2 pour écriture comme duplicata du
descripteur de fichier 1 :
... 2>&1
L’ordre de spécification des réacheminements est important. Le shell évalue chaque
réacheminement selon l’association (DescripteurFichier, Fichier) au moment de l’évaluation.
Dans l’exemple :
... 1>Fichier 2>&1
le descripteur de fichier 1 est associé au paramètre Fichier. Le shell associe le descripteur
de fichier 2 au fichier associé au descripteur de fichier 1 (Fichier). Si l’on inversait l’ordre
des réacheminements, le descripteur de fichier 2 serait associé au terminal (dans
l’hypothèse où le descripteur de fichier 1 l’était) et le descripteur de fichier 1, serait associé
au paramètre Fichier.
Lorsqu’une commande est suivie d’un signe & (perluète) et que la fonction de contrôle des
travaux n’est pas active, l’entrée standard par défaut de la commande est le fichier vide,
/dev/null. Sinon, l’environnement d’exécution d’une commande contient les descripteurs
de fichier du shell appelant, modifiés par les spécifications d’entrée et de sortie.
Pour en savoir plus sur le réacheminement, voir Réacheminement des entrées/sorties,
page 5-1.
12-36
AIX Guide de l’utilisateur – Système d’exploitation et unités
Fonction coprocess
Le Korn shell, ou le shell POSIX, vous permet d’exécuter une ou plusieurs commandes
comme processus d’arrière–plan. Ces commandes, lancées à partir d’un script shell,
sont appelées coprocess.
Pour désigner un coprocess, placez un opérateur |& (barre verticale, perluète) après
une commande. L’entrée et la sortie standard sont toutes deux redirigées vers le script.
Un coprocessus doit satisfaire aux conditions suivantes :
• il doit inclure un caractère de nouvelle ligne à la fin de chaque message,
• il doit envoyer chaque message de sortie vers la sortie standard,
• il doit effacer la sortie standard après chaque message.
L’exemple ci–après illustre la façon dont l’entrée est transmise à un coprocessus et est
ensuite renvoyée par ce dernier :
echo ”Initial process”
./FileB.sh |&
read –p a b c d
echo ”Read from coprocess: $a $b $c $d”
print –p ”Passed to the coprocess”
read –p a b c d
echo ”Passed back from coprocess: $a $b $c $d”
FileB.sh
echo ”The coprocess is running”
read a b c d
echo $a $b $c $d
La sortie standard résultante est la suivante :
Initial process
Read from coprocess: The coprocess is running
Passed back from coprocess: Passed to the coprocess
La commande print –p permet d’écrire dans le coprocess. La commande read –p
permet de lire dans le coprocess.
Réacheminement des entrées/sorties du coprocess
La fonction de réacheminement des E/S permet de réaffecter l’entrée et la sortie standard
d’un coprocess à un descripteur de fichier numéroté. Par exemple, la commande :
exec 5>&p
transfère l’entrée du coprocess vers le descripteur de fichier 5.
Vous pouvez ensuite, via la syntaxe de réacheminement standard ou par appel d’un autre
coprocess, réacheminer la sortie de la commande vers le coprocess. Vous pouvez
également démarrer un autre coprocess. La sortie des deux coprocess est connectée
au même canal de communication, lisible via la commande read –p. Pour mettre fin au
coprocess, tapez :
read –u5
Shells
12-37
Etat de sortie (shell Korn ou POSIX)
Si le shell détecte une erreur (de syntaxe, par exemple), il renvoie un état de sortie non nul.
Sinon, il renvoie l’état de sortie de la dernière commande exécutée. Le shell fait état des
erreurs d’exécution en indiquant le nom de la fonction ou de la commande en cause, ainsi
que le numéro d’erreur correspondant. Si le numéro de la ligne comportant l’erreur est
supérieur à 1, il est également indiqué (entre crochets [ ]), après le nom de la fonction
ou de la commande.
Avec un shell non interactif, une erreur rencontrée par une commande, intégrée ou non,
génère un message de diagnostic, comme indiqué dans le tableau ci–après.
Erreur
Commande intégrée
Autres fonctions
Erreur de syntaxe du
langage shell
quitte
quitte
Erreur de syntaxe sur une
opération (erreur sur une
option ou un opérande)
quitte
ne quitte pas
Erreur de réacheminement
quitte
ne quitte pas
Erreur d’affectation de
variable
quitte
ne quitte pas
Erreur de développement
quitte
quitte
Commande non trouvée
non applicable
quitte parfois
Script dot non trouvé
quitte
non applicable
Si une erreur indiquée “quitte (parfois)” se produit dans un sous–shell, le sous–shell est
(parfois) quitté, avec un état de sortie non nul, mais pas le script contenant le sous–shell.
Dans tous les cas indiqués sur le tableau, un shell interactif émet un message de diagnostic
vers la sortie standard, sans quitter.
12-38
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commandes intégrées du shell Korn ou POSIX
Les commandes spéciales sont intégrées au shell Korn ou POSIX, et exécutées dans le
process shell. Sauf indication contraire, la sortie est dirigée vers le descripteur de fichier 1,
avec un état de sortie de zéro (0) si la commande est exempte d’erreurs de syntaxe. Le
réacheminement des entrées/sorties est autorisé. Il existe deux types de commandes
intégrées : les commandes intégrées spéciales, page 12-39 et les commandes intégrées
standard, page 12-47.
Voici les principales différences entre une commande standard et une commande spéciale :
• Une erreur de syntaxe dans une commande spéciale risque d’entraîner l’arrêt du shell,
contrairement à ce qui se passe avec une commande standard. Dans une commande
spéciale, une erreur de syntaxe ne générant pas d’arrêt du shell renvoie une valeur non
nulle.
• Les affectations de variables spécifiées pour une commande spéciale restent en vigueur
après exécution de la commande.
• Les réacheminements d’E/S sont traités après les affectations de paramètres.
En outre, les mots sous forme d’une affectation de paramètre, qui suivent une commande
spéciale export, readonly ou typeset, sont développés selon les règles applicables à
l’affectation de paramètres. Ainsi, la substitution de tilde est effectuée après le signe =,
et la séparation de mot et la substitution de noms de fichiers ne sont pas exécutées.
Pour obtenir un classement alphabétique de ces commandes, reportez–vous à la section
Liste des commandes intégrées (shell Korn ou POSIX), page 12-52.
Description des commandes intégrées spéciales
Voici les commandes intégrées spéciales du shell Korn :
:, page 12-39
eval, page 12-40
newgrp
shift, page 12-44
., page 12-39
exec, page 12-40
readonly
times, page 12-44
break, page 12-40
exit, page 12-40
return
trap, page 12-44
continue, page 12-40
export, page 12-40
set
typeset, page 12-45
unset, page 12-46
: [ Argument...]
Ne développe que les arguments. Utilisée lorsqu’une
commande est requise, comme la condition then dans une
instruction if, mais que cette commande n’exécute aucune
action.
. Fichier [ Argument...]
Lit le fichier spécifié et exécute les commandes, dans
l’environnement shell courant. Le chemin de recherche, spécifié
par la variable PATH page 12-25, donne accès au répertoire
contenant le fichier. Les éventuels arguments sont traités
comme des paramètres positionnels. A défaut, les paramètres
positionnels restent inchangés. L’état de sortie est celui de la
dernière commande exécutée. Pour plus d’informations sur les
paramètres positionnels, reportez–vous à la section Substitution
de paramètres (shell Korn ou POSIX), page 12-22.
Remarque : La commande .Fichier [Argument...] lit
l’intégralité du fichier avant d’exécuter une commande. Aussi
les commandes alias et unalias du fichier ne peuvent–elles
s’appliquer aux fonctions définies dans le fichier.
Shells
12-39
break [ n ]
Quitte, le cas échéant, la boucle for, while, until ou select. Si
vous spécifiez n, la commande sort à la nième boucle. La
valeur de n est un entier supérieur ou égal à 1.
continue [ n ]
Reprend à l’itération suivante de la boucle for, while, until ou
select. Si vous spécifiez le paramètre n, la commande reprend
à la n ième boucle. La valeur de nest un entier supérieur ou égal
à 1.
eval [ Argument...]
Lit les arguments spécifiés comme entrée et exécute la ou les
commandes qui en résultent.
exec [ Argument...]
Exécute, à la place du shell, la commande spécifiée par
l’argument (sans créer de nouveau process). Le process
courant peut être perturbé par des arguments en entrée ou en
sortie. Si vous omettez un argument, la commande exec
modifie les descripteurs de fichiers comme préconisé par la liste
de réacheminement des entrées/sorties. Dans ce cas, tous les
numéros de descripteurs de fichiers supérieurs à 2 ouverts par
ce mécanisme sont fermés dès qu’un autre programme est
appelé.
exit [ n ]
Quitte le shell, l’état de sortie étant soit celui indiqué par le
paramètre n (entier décimal compris entre 0 et 255), soit celui
de la dernière commande exécutée. La sortie du shell est
également induite par le caractère fin de fichier, à moins que
l’option ignoreeof de la commande spéciale set, page 12-52
ne soit active.
export –p [ Nom
[ = Valeur ]]..
Marque les noms spécifiés, pour exportation automatique vers
l’environnement des commande ultérieures.
–p écrit sur la sortie standard les noms et valeurs de
toutes les variables exportées, selon le format :
”export %s= %s\n”, <nom> <valeur>
newgrp [ Groupe ]
Equivalent à la commande exec/usr/bin/newgrp
[ Groupe ].
Remarque : Cette commande ne génère pas de retour.
readonly –p [ Nom
[ = Valeur ]] ...
Marque en lecture seule le Nom spécifié. Aucune autre
affectation ultérieure n’est possible.
–p écrit sur la sortie standard les noms et valeurs de
toutes les variables exportées, selon le format :
”ex port %s= %s\n”, <nom> <valeur>
return [ n ]
12-40
Provoque le renvoi d’une fonction shell au script appelant.
Le statut de retour est spécifié par le paramètre n. Si vous ne
spécifiez pas le paramètre n, le statut de retour est celui de la
commande dernièrement exécutée. Si vous appelez la
commande return en dehors d’une fonction ou d’un script, elle
équivaut à la commande exit.
AIX Guide de l’utilisateur – Système d’exploitation et unités
set [ +
| –abCefhkmnostuvx ]
[ + | –o Option ]... [ + |
–A Nom ] [ Argument...]
En l’absence de spécification d’options ou d’arguments, la
commande set écrit les noms et les valeurs des variables shell
dans l’ordre défini par l’environnement local. Lorsque des
options sont spécifiées, les attributs du shell sont modifiés en
conséquence (voir ci–après).
–A
Affectation séquentielle. Annule la définition du paramètre
Nom et affecte séquentiellement les valeurs à partir de la liste
de paramètres Argument. Si l’indicateur +A est défini, le
paramètre Nom n’est pas annulé en premier.
–a
Exporte automatiquement tous les autres paramètres définis.
–b
Avertit l’utilisateur, en mode asynchrone, de la fin des travaux
en arrière–plan.
–C
Equivalent à set –o noclobber.
–e
Exécute le traitement d’interruption ERR, le cas échéant, et
sort lorsqu’une commande renvoie un état de sortie non nul.
Ce mode est désactivé au cours de la lecture des profils.
–f
Désactive la substitution de noms de fichiers.
–h
Désigne chaque commande comme alias tracé, à la première
occurrence de la commande.
–k
Place tous les arguments d’affectation de paramètre dans
l’environnement de la commande, et pas uniquement les
arguments précédant le nom de commande.
–m
Exécute les travaux d’arrière–plan dans un process
indépendant et affiche une ligne lorsqu’ils sont terminés.
L’état de sortie des travaux d’arrière–plan est indiqué dans un
message de fin. Sur les systèmes avec contrôle des travaux,
cet indicateur est automatiquement activé pour les shells
interactifs. Pour plus d’informations, reportez–vous à la
section Contrôle des travaux (shell Korn ou POSIX), page
12-56.
–n
Lit les commandes à la recherche d’erreurs de syntaxe, mais
ne les exécute pas. Cet indicateur est ignoré par les shells
interactifs.
Shells
12-41
–o Option
Imprime les paramètres de l’option courante et un message
d’erreur si vous n’avez pas spécifié d’argument. Vous pouvez
paramétrer plusieurs options sur une même ligne de
commande ksh. Si l’indicateur +o est utilisé, l’option spécifiée
est désactivée. Lorsque des arguments sont spécifiés, des
paramètres positionnels sont paramétrés ou déparamétrés.
Les arguments disponibles, spécifiés par la variable Option,
sont les suivants :
allexport
Identique à l’indicateur –a.
bgnice
Exécute tous les travaux d’arrière–plan avec une priorité
inférieure. C’est le mode par défaut.
emacs
Entre un éditeur en ligne du type emacs pour l’entrée des
commandes.
errexit
Identique à l’indicateur –e.
gmacs
Entre un éditeur en ligne de type gmacs pour l’entrée des
commandes.
ignoreeof
Ne quitte pas le shell lorsqu’un caractère fin de fichier est
rencontré. Pour quitter le shell, vous devez lancer la
commande exit ou appuyer sur Ctrl–D plus de 11 fois.
mot clé
Identique à l’indicateur –k.
Remarque : Cet indicateur est uniquement réservé
pour la rétrocompatibilité avec le shell Bourne. Son
utilisation est fortement déconseillée.
markdirs
Ajoute une barre oblique inverse (/) à tous les noms de
répertoire générés par la substitution de nom de fichier.
monitor
Identique à l’indicateur –km.
noclobber
Empêche la procédure de réacheminement de tronquer
les fichiers. Lorsque vous spécifiez cette option, une
barre verticale doit être placée à la suite du symbole de
réacheminement (>|) pour tronquer un fichier.
noexec
Identique à l’indicateur –n.
noglob
Identique à l’indicateur –f.
nolog
Empêche les définitions de fonction contenues dans les
fichiers .profile and $ENV d’être sauvegardées dans le
fichier d’historique.
nounset
Identique à l’indicateur –u.
privileged
Identique à l’indicateur –p.
12-42
AIX Guide de l’utilisateur – Système d’exploitation et unités
trackall
Identique à l’indicateur –h.
verbose
Identique à l’indicateur –v.
vi
Appelle le mode insertion d’un éditeur en ligne de type vi
pour l’entrée des commandes. Entrer le caractère
d’échappement 033 met l’éditeur en mode transfert. Un
retour envoie la ligne.
viraw
Traite chaque caractère comme s’il était tapé en mode vi.
xtrace
Identique à l’indicateur –x.
–p
Désactive le traitement du fichier $HOME/.profile et utilise le
fichier /etc/suid_profile à la place du fichier ENV. Ce mode
est activé chaque fois que l’ID utilisateur (UID) ou l’ID groupe
(GID) effectif est différent du véritable UID ou du véritable
GID. Désactiver cette option positionne l’UID ou le GID
effectifs à la valeur de l’UID et du GID réels.
Remarque :Le système ne prend pas en charge pas
l’option –p car le système d’exploitation ne prend pas en
charge les scripts shell setuid.
–s
Effectue le tri lexicographique des paramètres positionnels.
–t
Quitte après lecture et exécution d’une seule commande.
Remarque : Cet indicateur est uniquement réservé pour
la rétrocompatibilité avec le shell Bourne. Son utilisation
est fortement déconseillée.
–u
Traite les paramètres non définis comme des erreurs lors de
la substitution.
–v
Affiche les lignes d’entrée au fur et à mesure de leur lecture.
–x
Affiche les commandes et leurs arguments au fur et à mesure
de leur exécution.
–
Désactive les indicateurs –x et –v et met fin à l’examen des
arguments des indicateurs.
––
Empêche toute modification des indicateurs. Cette option est
très utile pour affecter au paramètre $1 une valeur
commençant par un signe –. Si aucun argument ne suit cet
indicateur, les paramètres positionnels ne sont pas définis.
Faire précéder un des indicateurs de la commande set d’un signe
+ plutôt que d’un signe – désactive l’indicateur. Utilisez ces
indicateurs à l’appel du shell. Lorsque ’ set +o ’ est appelé sans
aucun argument, il affiche les paramètres de l’option en cours
dans un format tel que ces paramètres peuvent être réintroduits
dans le shell en tant que commandes qui effectuent le même
paramétrage de l’option. L’ensemble des indicateurs courant se
trouve dans le paramètre $–. Sauf si vous spécifiez l’indicateur
–A, les arguments restants sont des paramètres positionnels et
sont attribués, en ordre, à $1, $2,..., etc. Si aucun argument
n’est attribué, les noms et valeurs des paramètres nommés sont
imprimés sur sortie standard.
Shells
12-43
shift [ n ]
Renomme les paramètres positionnels, de $n+1 ... à $1 .... La
valeur par défaut du paramètre n est 1. Le paramètre n est une
expression arithmétique représentée par un nombre non négatif
inférieur ou égal au paramètre $#.
times
Affiche les temps utilisateur et système cumulés pour le shell et
les process exécutés à partir du shell.
trap [ Commande ] [
Signal ] ...
Exécute la commande spécifiée dès réception par le shell du
signal ou des signaux spécifiés. Le paramètre Commande est
lu une fois à l’activation du traitement d’interruption et une fois à
son exécution. Le paramètre Signal peut être un numéro ou le
nom du signal. Les commandes de traitement d’interruption
sont exécutées dans l’ordre des numéros de signal. Toute
tentative de définir un traitement d’interruption sur un signal qui
a été ignoré en entrée du shell courant est sans effet.
Si la commande est un signe –, tous les traitements
d’interruption sont restaurés à leurs valeurs d’origine.
Si vous avez omis la commande et que le premier signal est un
signal numérique, la commande ksh restaure les valeurs
d’origine du ou des paramètres Signal.
Remarque : Si vous avez omis la commande et que le
premier signal est un nom symbolique, le signal est interprété
comme une commande.
Si la valeur de Signal est ERR, la commande spécifiée est
exécutée chaque fois qu’une commande a un état de sortie non
nul. Si la valeur de signal est DEBUG, la commande spécifiée
est exécutée après chaque commande. Si la valeur de Signal
est 0 ou EXIT et que la commande trap est définie à l’intérieur
d’une fonction, l’action correspondante est exécutée à la fin de
la fonction. Si la valeur de Signal est 0 ou EXIT et que la
commande trap est définie à l’extérieur de la fonction, l’action
correspondante est exécutée à la sortie du shell. La commande
trap sans arguments affiche la liste des commandes associées
à chaque numéro de signal.
Pour une liste complète des paramètres Signal utilisés dans la
commande trap sans le préfixe SIG, reportez–vous à la
description des sous–routines sigaction, sigvec ou signal
dans le manuel AIX 5L Version 5.3 Technical Reference : Base
Operating System and Extensions Volume 2.
12-44
AIX Guide de l’utilisateur – Système d’exploitation et unités
typeset [ +HLRZfilrtux
[ n ]] [ Nom [ = Valeur ]]
...
Définit les attributs et les valeurs des paramètres shell. Lorsqu’il
est appelé à l’intérieur d’une fonction, une nouvelle instance du
paramètre Nom est créée. Le type et la valeur du paramètre
sont restaurés à la fin de la fonction. Vous pouvez spécifier les
indicateurs suivants avec la commande typeset :
–H
Assure le mappage AIX fichier hôte sur des machines non
AIX.
–L
Justifie à gauche et supprime les blancs à gauche du
paramètre Valeur. Si le paramètre n est non nul, il définit la
largeur de la zone ; sinon, c’est la valeur de sa première
affectation qui le détermine. Une fois affecté, le paramètre est
rempli à droite par des blancs ou tronqué, si nécessaire, pour
s’ajuster à la zone. Lorsque l’indicateur –Z est défini, les
zéros à gauche sont supprimés. L’indicateur –R est
désactivé.
–R
Justifie à droite et remplit avec des blancs à gauche. Si le
paramètre n est non nul, il définit la largeur de la zone ; sinon,
c’est la valeur de sa première affectation qui le détermine. La
zone reste remplie par des blancs ou est tronquée à partir de
la fin lorsque le paramètre est réaffecté. L’indicateurL est
désactivé.
–Z
Justifie à droite et remplit avec des zéros à gauche lorsque le
premier caractère significatif est un chiffre et que l’indicateur
–L n’a pas été défini. Si le paramètre n est non nul, il définit la
largeur de la zone ; sinon, c’est la valeur de sa première
affectation qui le détermine.
–f
Indique que les noms se réfèrent à la fonction, et non aux
paramètres. Aucune affectation ne peut être effectuée, les
seuls indicateurs utilisables sont –t, –u et –x. L’indicateur –t
active le suivi de la fonction. L’indicateur –u déclare non
définie la fonction. Lorsque la fonction est référencée, le
système recherche sa définition dans la variable FPATH.
L’indicateur –x maintient en vigueur la définition de la fonction
dans tous les scripts shell qui ne constituent pas un appel
séparé de la commande ksh.
–i
Identifie le paramètre comme nombre entier, ce qui accélère
le traitement arithmétique. Lorsqu’une valeur non nulle est
affectée au paramètre n, cette valeur définit la base
arithmétique en sortie ; sinon, la première attribution
détermine la base en sortie.
–l
Convertit tous les caractères majuscules en minuscules.
L’indicateur de conversion des majuscules –u est désactivé.
–r
Marque les noms spécifiés par le paramètre Nom en lecture
seule. Aucune autre affectation ultérieure n’est possible.
Shells
12-45
–t
Etiquette les paramètres nommés. Les étiquettes,
éventuellement définies par l’utilisateur, n’ont aucune
signification spéciale pour le shell.
–u
Convertit tous les caractères minuscules en majuscules.
L’indicateur –l est désactivé.
–x
Marque pour exportation automatique vers l’environnement
des commandes ultérieures le nom spécifié par le paramètre
Nom.
Un signe + à la place d’un signe – désactive les indicateurs
de la commande typeset. Si vous ne spécifiez pas de
paramètres Nom mais que vous spécifiez des indicateurs,
la liste des noms de paramètres marqués (et
éventellement, leurs valeurs) s’affiche. (Si vous ne voulez
pas que leurs valeurs soient affichées, utilisez + à la place
de –.) A défaut de noms et d’indicateurs, les noms et
attributs de tous les paramètres s’affichent.
unset [ –fv ] Nom...
12-46
Annule les valeurs et les attributs définis pour les paramètres
indiqués par la liste Nom. Si –v est spécifié, Nom référence un
nom de variable : le shell supprime sa définition et le retire de
l’environnement. La définition des variables en lecture seule ne
peut être supprimée. Supprimer la définition des variables
ERRNO, LINENO, MAILCHECK, OPTARG, OPTIND,
RANDOM, SECONDS, TMOUT et souligné (_) leur fait perdre
leur signification spéciale, même si elles sont affectées par la
suite.
Si –f est spécifié, Nom fait référence à un nom de fonction : le
shell supprime la définition de la fonction.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Description des commandes intégrées standard
Voici les commandes intégrées standard du shell Korn :
alias, page 12-47
fg, page 12-48
print
ulimit, page 12-50
bg, page 12-47
getopts, page 12-48
pwd
umask, page 12-51
cd, page 12-47
jobs, page 12-48
read
unalias, page 12-51
command, page 12-47
kill, page 12-48
setgroups
wait, page 12-51
echo, page 12-48
let, page 12-40
setsenv
test, page 12-49
whence
fc, page 12-48
alias [ –t ] [ –x ] [ AliasName Crée ou redéfinit les alias, ou écrit les définitions d’alias
existantes sur la sortie standard.
[ = String ]] ...
Pour plus d’informations, reportez–vous à la description de
la commande alias dans le manuel AIX 5L Version 5.3
Commands Reference.
bg [ IDTravail...]
Place chaque travail spécifié en arrière–plan. Le travail en
cours est placé en arrière–plan si vous avez omis le
paramètre IDTravail. Pour en savoir plus sur le contrôle
des travaux, reportez–vous à ”Contrôle des travaux (shell
Korn ou POSIX), page 12-56.
Pour obtenir plus d’informations sur l’exécution des travaux
en arrière–plan, reportez–vous à la commande bg dans le
manuel AIX 5L Version 5.3 Commands Reference.
cd [ Argument ]
cd Ancien Nouveau
Cette commande a deux formats. Premier format : le
répertoire spécifié par Argument devient le répertoire
courant. Si Argument a la valeur –, vous passez au
répertoire précédent. Par défaut Argument est la variable
shell HOME, la variable PWD ayant la valeur du répertoire
courant.
La variable shell CDPATH définit le chemin d’accès au
répertoire contenant la valeur d’Argument. Les autres
répertoires sont séparés par un signe :. Le chemin vide
(qui est le chemin par défaut) désigne le répertoire courant.
Ce répertoire est affiché immédiatement après le signe
égal ou entre des deux–points dans la liste des chemins. Si
l’argument commence par un /, le chemin n’est pas utilisé.
Sinon, tous les répertoires du chemin sont explorés.
Second format : le Nouveau nom remplace l’Ancien nom
du répertoire courant, PWD, et tente de passer à ce
répertoire.
command [ –p ] Commande
[ Argument...]
command [ –v | –V ]
Commande
Cette commande amène le shell à traiter la commande
spécifié comme une commande simple, éliminant la
fonction shell de consultation.
Pour en savoir plus, reportez–vous à la commande
command dans le manuel AIX 5L Version 5.3 Commands
Reference.
Shells
12-47
echo [ Chaîne...]
Ecrit les chaînes de caractères sur la sortie standard.
Reportez–vous à la description de la commande echo.
L’indicateur –n n’est pas pris en charge.
fc [ –r ] [ –e Editeur ] [
Premier [ Dernier ]]
fc –l [ –n ] [ –r ] [ Premier [
Dernier ]]
fc –s [ Ancien = Nouveau ] [
Premier ]
Affiche le contenu du fichier d’historique des commandes
ou appelle un éditeur pour modifier et réexécuter les
commandes précédemment définies dans le shell.
Pour en savoir plus, reportez–vous à la commande fc dans
le manuel AIX 5L Version 5.3 Commands Reference.
fg [ IDTravail ]
Amène à l’avant–plan le travail spécifié. En l’absence de
spécification de travail, la commande amène le travail
courant à l’avant–plan.
Pour obtenir plus d’informations sur les travaux en cours
au premier plan, reportez–vous à la commande fg dans le
manuel AIX 5L Version 5.3 Commands Reference.
getopts ChaîneOption Nom
[ Argument...]
Contrôle les options légales du paramètres Argument.
Pour en savoir plus, reportez–vous à la commande
getopts dans le manuel AIX 5L Version 5.3 Commands
Reference.
jobs [ –l | –n | –p ] [
IDTravail...]
Affiche l’état des travaux lancés dans l’environnement shell
courant. En l’absence de spécification d’un travail
spécifique, l’état de tous les travaux actifs est affiché. Si un
travail est signalé terminé, le shell supprime l’ID
correspondant de la liste des travaux reconnus par
l’environnement shell courant.
Pour en savoir plus, reportez–vous à la commande jobs
dans le manuel AIX 5L Version 5.3 Commands Reference.
kill [ –s { NomSignal |
NuméroSignal } ]
IDProcess...
Envoie un signal (par défaut, le signal SIGTERM) à un
process en cours. En général, ce dernier s’arrête alors.
Pour arrêter un processus, indiquez son identificateur (PID)
dans la variable IDProcess. Le shell fait état des PID de
chaque process exécuté en arrière–plan (sauf si vous avez
lancé plusieurs process via un pipeline, auquel cas il fait
état du numéro de dernier process). Pour déterminer le
PID des commandes, vous disposez également de la
commande ps.
kill [ –NomSignal |
–NuméroSignal ]
IDProcess...
12-48
kill –l [ EtatSortie ]
Affiche la liste des noms de signaux.
Pour en savoir plus, reportez–vous à la commande kill
dans le manuel AIX 5L Version 5.3 Commands Reference.
let Expression...
Evalue les expressions arithmétiques spécifiées. L’état de
sortie est 0 si la valeur de la dernière expression est non
nulle, 1 sinon. Pour obtenir plus d’informations,
reportez–vous à la section Evaluation arithmétique (shell
Korn ou POSIX), page 12-30.
AIX Guide de l’utilisateur – Système d’exploitation et unités
print [ –Rnprsu [ n ]]
[ Argument...]
Imprime la sortie shell. En l’absence d’indicateurs, ou en
présence des indicateurs tiret ( – ) ou double tiret (–– ), les
arguments sont dirigés vers la sortie standard comme
décrit par la commande echo. Action des indicateurs :
–R
Affiche en mode brut (les conventions d’échappement de
la commande echo sont ignorées). L’indicateur –R
affiche tous les arguments et indicateurs autres que –n.
–n
Empêche un caractère nouvelle ligne d’être ajoutée à la
sortie.
–p
Transmet les arguments au canal du process exécuté via
|&, et non à la sortie standard.
–r
Affiche en mode brut. Les conventions d’échappement
de la commande echo sont ignorées.
–s
Transmet les arguments au fichier d’historique et non à la
sortie standard.
–u
Spécifie un numéro de descripteur de fichier n de 1
chiffre, dans lequel la sortie est placée. La valeur par
défaut est 1.
pwd
Equivalent à print –r – $PWD.
Remarque : La commande interne pwd du shell Korn ne
prend pas en charge les liens symboliques.
read [ –prsu [ n ]] [
Nom?Invite ] [ Nom... ]
Lit l’entrée shell. Chaque ligne lue est divisée en zones,
séparées par les caractères définis dans la variable IFS.
Pour en savoir plus, reportez–vous à la commande read
dans le manuel AIX 5L Version 5.3 Commands Reference.
setgroups
Exécute la commande /usr/bin/setgroups qui fonctionne
comme un shell distinct. Pour en savoir plus,
reportez–vous à la commande setgroups. Il existe
toutefois une différence. Si la commande intégrée
setgroups appelle un sous–shell, la commande
setgroups remplace le shell en cours d’exécution. Comme
la commande intégrée n’est prise en charge que pour une
question de compatibilité, les scripts doivent utiliser le
chemin d’accès absolu /usr/bin/setgroups plutôt que la
commande shell intégrée.
setsenv
Exécute la commande /usr/bin/setsenv, qui remplace le
shell en cours d’exécution. Pour en savoir plus,
reportez–vous à la commande setsenv.
test
Identique à [ expression ]. Pour en savoir plus,
reportez–vous à la section Expressions conditionnelles
pour le shell Korn ou POSIX, page 12-54.
Shells
12-49
ulimit [ –HSacdfmst ] [
Limite ]
Définit ou affiche les limites des ressources utilisateur,
telles que définies dans le fichier /etc/security/limits.
Ce fichier contient les limites par défaut suivantes :
fsize = 2097151
core = 2048
cpu = 3600
data = 131072
rss = 65536stack = 8192
Ces valeurs sont utilisées par défaut lorsqu’un nouvel
utilisateur intègre le système. Elles sont définies par la
commande mkuser lorsque l’utilisateur est ajouté au
système, ou modifiées par la commande chuser.
Les limites sont d’ordre logiciel ou matériel. Un utilisateur
peut, via la commande ulimit, modifier une limite logicielle,
jusqu’au maximum défini par la limite matérielle. Les limites
matérielles ne peuvent être modifiées que par un utilisateur
racine.
–H
Indique qu’une limite matérielle est définie pour cette
ressource. Si vous possédez les droits d’utilisateurs
racine, vous pouvez augmenter la limite matérielle. Tout
utilisateur dispose des droits pour la réduire.
–S
Indique qu’une limite logicielle est définie pour cette
ressource. Une limite logicielle peut être augmentée à
concurrence de la limite matérielle fixée. Si aucune des
options –H ou –S ne sont spécifiées, la limite s’applique
aux deux options.
–a
Liste toutes les limites définies.
–c
Spécifie le nombre de blocs de 512 octets utilisables
pour les vidages mémoire.
–d
Spécifie la taille (en ko) de la zone de données.
–f
Spécifie le nombre de blocs de 512 octets de fichiers
écrits par les process enfants (aucune limite n’est
imposée pour la lecture de ces fichiers).
–m
Taille de la mémoire physique (en ko).
–n
Limite du nombre de descripteurs de fichiers pouvant
être ouvert par un process.
–s
Spécifie la taille de la zone pile (en ko).
–t
Spécifie le temps (en secondes) alloué à chaque
process.
Nombre de systèmes ne sont pas configurés avec toutes
les limites : une ressource est limitée lorsque le paramètre
Limite correspondant est défini. Ce dernier peut être un
chiffre propre à la ressource, ou la valeur unlimited. La
commande ulimit accepte les indicateurs suivants :
12-50
AIX Guide de l’utilisateur – Système d’exploitation et unités
Si vous omettez la variable Limite, la limite affectée à la
ressource courante s’affiche. Il s’agit de la limite logicielle
si vous n’avez pas précisé l’indicateur –H. Si vous spécifiez
plus d’une ressource, le nom et l’unité de la limite sont
indiqués avant sa valeur. En l’absence de spécification
d’option, l’indicateur –f est utilisé par défaut. Si vous
changez la valeur et que vous n’avez pas précisé les
indicateurs –H ou –S, definissez les limites matérielles et
logicielles.
Pour obtenir plus d’informations sur les limites utilisateur et
ressources système, reportez–vous aux sous–routines
getrlimit, setrlimit ou vlimit dans le manuel AIX 5L
Version 5.3 Technical Reference: Base Operating System
and Extensions Volume 1.
umask [ –S ] [ Masque ]
Détermine les droits d’accès au fichier. Cette valeur,
associée aux droits du process créateur, définit les droits
sur un fichier, à sa création (valeur par défaut 022). Si
Masque est omis, la commande umask affiche, sur la
sortie standard, le masque de création du mode fichier de
l’environnement shell courant.
Pour en savoir plus sur les droits d’accès aux fichiers,
reportez–vous à la commande umask dans le manuel AIX
5L Version 5.3 Commands Reference.
unalias
{ –a | NomAlias... }
Supprime la définition des alias spécifiés, ou celle de tous
les alias si –a est spécifié. Ces définitions sont supprimées
de l’environnement shell courant.
Pour en savoir plus, reportez–vous à la commande unalias
dans le manuel AIX 5L Version 5.3 Commands Reference.
wait [ IDProcess... ]
Attend le travail spécifié et quitte. En l’absence de
spécification d’un travail, la commande attend tous les
process enfants actifs. L’état de sortie de la commande est
celui du process attendu.
Pour en savoir plus, reportez–vous à la commande wait
dans le manuel AIX 5L Version 5.3 Commands Reference.
whence [ –pv ] Nom...
Indique l’interprétation à donner à chaque nom spécifié,
lorsqu’utilisé comme nom de commande. Utilisé sans autre
indicateur, whence affiche le chemin d’accès absolu, s’il
existe, qui correspond à chaque nom.
–p
Effectue une recherche sur les chemins d’accès au(x)
nom(s), même s’il s’agit d’alias, de fonctions ou de mots
réservés.
–v
Créée un rapport plus prolixe qui spécifie le type de
chaque nom.
Shells
12-51
Liste des commandes intégrées (shell Korn ou POSIX)
Commandes intégrées spéciales
12-52
: (deux points)
Ne développe que les arguments.
. (point)
Lit un fichier et en exécute les commandes.
break, page 12-40
Quitte, le cas échéant, la boucle for, while, until ou select.
continue, page 12-40
Reprend à l’itération suivante de la boucle for, while, until
ou select.
eval, page 12-40
Lit les arguments comme entrée et exécute la ou les
commandes qui en résultent.
exec, page 12-40
Exécute, à la place du shell, la commande spécifiée par
Argument, sans créer de nouveau process.
exit, page 12-40
Quitte le shell dont l’état de sortie est spécifié par le
paramètre n.
export, page 12-40
Marque les noms spécifiés, pour exportation automatique
vers l’environnement des commandes ultérieures.
newgrp, page 12-40
Equivalent à la commande exec/usr/bin/newgrp [ Groupe ...
].
readonly, page 12-40
Marque en lecture seule les noms spécifiés.
return, page 12-40
Provoque le renvoi d’une fonction shell au script appelant.
set, page 12-41
Sauf options ou arguments contraires, écrit les noms et les
valeurs des variables shell dans l’ordre défini par
l’environnement local.
shift, page 12-44
Renomme les paramètres positionnels.
times, page 12-44
Affiche les temps utilisateur et système cumulés pour le shell
et les process exécutés à partir du shell.
trap, page 12-44
Exécute une commande donnée lorsque le shell reçoit un ou
plusieurs signaux déterminés.
typeset, page 12-45
Définit les attributs et les valeurs des paramètres shell.
unset, page 12-46
Annule les définitions des paramètres et les valeurs
spécifiées.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commandes intégrées standard
alias
Imprime une liste d’alias sur la sortie standard.
bg, page 12-47
Place en arrière–plan les travaux spécifiés.
cd, page 12-47
Passe au répertoire spécifié ou remplace la chaîne courante
par la chaîne spécifiée.
echo, page 12-48
Ecrit les chaînes de caractères sur la sortie standard.
fc, page 12-48
Sélectionne un ensemble de commandes à partir de la
dernière commande HISTSIZE lancée au terminal.
Réexécute la commande après substitution ancien–nouveau.
fg, page 12-48
Amène à l’avant–plan le travail spécifié.
getopts, page 12-48
Contrôle les options légales du paramètres Argument.
jobs, page 12-48
Affiche des informations sur les travaux spécifiés.
kill
Envoie le signal TERM (terminate) aux travaux ou aux
process spécifiés.
let, page 12-40
Evalue les expressions arithmétiques spécifiées.
print, page 12-48
Imprime la sortie shell.
pwd, page 12-48
Equivalent à la commande print –r –$PWD.
read, page 12-49
Lit l’entrée shell.
ulimit, page 12-50
Définit ou affiche les limites des ressources utilisateur, telles
que définies dans le fichier /etc/security/limits.
umask, page 12-51
Détermine les droits d’accès au fichier.
unalias
Supprime de la liste des alias les paramètres correspondant
à la liste de noms spécifiée.
wait, page 12-51
Attend le travail spécifié et quitte.
whence, page 12-51
Indique l’interprétation à donner à chaque nom spécifié,
lorsqu’utilisé comme nom de commande.
Pour plus d’informations, voir Commandes intégrées (shell Korn ou POSIX), page 12-39.
Shells
12-53
Expressions conditionnelles
Une expression conditionnelle associée à la commande composée [[ (double crochet)
permet de tester les attributs des fichiers et de comparer des chaînes. La substitution de
nom de fichier et le fractionnement des mots ne s’appliquent pas aux mots entre [[ et ]]
(double crochets). Chaque expression est constituée d’une ou de plusieurs expressions
binaires ou unaires.
12-54
–a Fichier
Vrai si le fichier spécifié est un lien symbolique pointant sur
un fichier existant.
–b Fichier
Vrai si le fichier existe et est un fichier bloc spécial.
–c Fichier
Vrai si le fichier existe et est un fichier caractère spécial.
–d Fichier
Vrai si le fichier existe et est un répertoire.
–e Fichier
Vrai si le fichier existe.
–f Fichier
Vrai si le fichier existe et est un fichier ordinaire.
–g Fichier
Vrai si le fichier existe et que le bit setgid est défini.
–h Fichier
Vrai si le fichier existe et est un lien symbolique.
–k Fichier
Vrai si le fichier existe et que son bit collant est défini.
–n Chaîne
Vrai si la chaîne est de longueur non nulle.
–o Option
Vrai si l’option spécifiée est active.
–p Fichier
Vrai si le fichier existe et qu’il s’agit d’un fichier FIFO
spécial ou d’un tube.
–r Fichier
Vrai si le fichier existe et qu’il est lisible par le process
courant.
–s Fichier
Vrai si le fichier existe et qu’il est de taille supérieure à 0.
–t DescripteurFichier
Vrai si le numéro de descripteur de fichier est ouvert et
associé à un terminal.
–u Fichier
Vrai si le fichier existe et que le bit setuid est défini.
–w Fichier
Vrai si le fichier existe et que le bit d’écriture est activé.
Le fichier peut toutefois ne pas être inscriptible s’il se
trouve sur un système de fichiers en lecture seule,
même si le test renvoie la valeur vrai.
–x Fichier
Vrai si le fichier existe et que l’indicateur execute est défini.
S’il existe et qu’il s’agit d’un répertoire, le process courant
est autorisé à l’explorer.
–z Chaîne
Vrai si la chaîne est de longueur nulle.
–L Fichier
Vrai si le fichier existe et est un lien symbolique.
–O Fichier
Vrai si le fichier existe et qu’il est la propriété de l’ID
utilisateur effectif de ce process.
–G Fichier
Vrai si le fichier existe et qu’il est la propriété de l’ID groupe
effectif de ce process.
–S Fichier
Vrai si le fichier existe et qu’il s’agit d’un socket.
Fichier1 –nt Fichier2
Vrai si Fichier1 existe et qu’il est plus récent que Fichier2.
Fichier1 –ot Fichier2
Vrai si Fichier1 existe et qu’il est moins récent que Fichier2.
Fichier1 –ef Fichier2
Vrai si Fichier1 et Fichier2 existent et qu’ils font référence
au même fichier.
Chaîne1 = Chaîne2
Vrai si Chaîne1 est égale à Chaîne2.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chaîne1 != Chaîne2
Vrai si Chaîne1 n’est pas égale à Chaîne2.
Chaîne = Trame
Vrai si la chaîne correspond à la trame.
Chaîne != Trame
Vrai si la chaîne ne correspond pas à la trame.
Chaîne1 < Chaîne2
Vrai si Chaîne1 précède Chaîne2, au sens de la valeur
ASCII de leurs caractères.
Chaîne1 > Chaîne2
Vrai si Chaîne1 suit Chaîne2, au sens de la valeur ASCII
de leurs caractères.
Expression1 –eq
Expression2
Vrai si Expression1 est égale à Expression2.
Expression1 –ne
Expression2
Vrai si Expression1 n’est pas égale à Expression2.
Expression1 –lt
Expression2
Vrai si Expression1 est inférieure à Expression2.
Expression1 –gt
Expression2
Vrai si Expression1 est supérieure à Expression2.
Expression1 –le
Expression2
Vrai si Expression1 est inférieure ou égale à Expression2.
Expression1 –ge
Expression2
Vrai si Expression1 est supérieure ou égale à Expression2.
Remarque : Dans les expressions ci–dessus, si la variable Fichier est semblable à
/dev/fd/ n, n étant un entier, le test s’applique au fichier ouvert dont le numéro de
descripteur est n.
Vous pouvez créer une expression composée à partir de ces primitives (petites parties) en
vous servant de l’une des expressions suivantes.
( Expression )
Vrai si l’expression spécifiée est vraie.
Utilisée pour grouper des expressions.
! Expression
Vrai si l’expression spécifiée est fausse.
Expression1 &&
Expression2
Vrai si Expression1 et Expression2 sont
simultanément vraies.
Expression1 ||
Expression2
Vrai si Expression1 ou Expression2 est
vraie.
Shells
12-55
Contrôle des travaux (shell Korn ou POSIX)
Le shell Korn ou POSIX offre une fonction de gestion des séquences de commandes,
ou travaux (jobs). Lorsque vous exécutez la commande spéciale set –m,12-41 le shell Korn
associe un travail à chaque pipeline. Il maintient une table des travaux courants, affichée via
la commande jobs, et leur affecte des nombres entiers de faible valeur.
Lorsqu’un travail est lancé en arrière–plan avec un caractère & (perluète), le shell affiche
une ligne du type :
[1] 1234
indiquant que le travail, en arrière-plan, porte le numéro 1 et est constitué d’un process (de
haut niveau) dont l’ID est 1234.
Lorsqu’un travail est en cours et que vous souhaitez exécuter une autre tâche, appuyez sur
les touches Ctrl–Z : un signal STOP est envoyé au travail en cours. Le shell indique alors
que le travail a été arrêté et affiche une invite. Vous pouvez alors intervenir sur l’état du
travail (par exemple, le placer en arrière-plan via la commande bg), exécuter d’autres
commandes et, éventuellement, le rappeler en avant-plan via la commande fg. La
séquence Ctrl–Z agit immédiatement et est interprétée comme un arrêt par le shell – qui
rejette alors toutes les sorties en attente et les entrées non lues.
Un travail exécuté en arrière-plan s’arrête dès qu’il tente de lire à partir du terminal. Les
travaux d’arrière-plan génèrent habituellement une sortie : cette option peut être désactivée
via la commande stty tostop. Si vous l’activez, les travaux en arrière–plan sont interrompus
dès qu’ils tentent de générer une sortie ou de lire une entrée.
Vous pouvez référencer un travail dans le shell Korn de plusieurs façons : par son ID
process (PID), mais aussi par :
% Number
Référence le travail au numéro donné.
% Chaîne
Référence les travaux dont la ligne de commande commence par la
variable Chaîne.
%? Chaîne
Référence les travaux dont la ligne de commande contient la variable
Chaîne.
%%
Référence le travail courant.
%+
Equivalent à %%.
%–
Référence le travail précédent.
Ce shell reconnaît immédiatement les modifications dans l’état du process. Il vous informe
dès qu’un travail est bloqué, empêchant toute progression du traitement. Il vous informe
avant même d’afficher une invite, afin de ne pas perturber votre travail.
Lorsque le mode Monitor est activé, chaque travail d’arrière-plan achevé déclenche les
traitements d’interruption définis pour le CHLD.
Si vous tentez de quitter le shell (commande exit ou séquence Ctrl–D) alors que des
travaux sont arrêtés ou en cours, le système affiche le message : Travaux arrêtés.
Travaux en cours d’exécution. Lancez la commande jobs pour prendre
connaissance de ces travaux. Si vous tentez encore de quitter le shell, il met fin aux travaux
en cours et arrêtés, sans nouvel avertissement.
12-56
AIX Guide de l’utilisateur – Système d’exploitation et unités
Traitement des signaux
Les signaux SIGINT et SIGQUIT d’une commande appelée sont ignorés si la commande
est suivie d’une & (perluète) et que l’option monitor est inactive. Sinon, ils prennent les
valeurs héritées du shell parent.
Si un signal, pour lequel un traitement d’interruption a été défini, est reçu pendant que le
shell attend l’achèvement d’une commande en arrière-plan, le traitement d’interruption n’est
exécuté qu’une fois la commande terminée. Ainsi, un traitement d’interruption sur un signal
CHILD n’est exécuté qu’une fois le travail en arrière-plan terminé.
Shells
12-57
Edition en ligne (shell Korn ou POSIX)
Pour entrer vos commandes, vous tapez une ligne de commande à partir d’un terminal et la
faites suivre d’un caractère de nouvelle ligne (RETOUR ou LIGNE SUIVANTE). Si vous
activez une option d’édition en ligne (emacs, gmacs ou vi), vous pouvez modifier cette ligne
de commande.
Voici les commandes d’appel des éditeurs :
set –o emacs
Appelle le mode d’édition emacs et ouvre un éditeur en
ligne style emacs. Pour en savoir plus, reportez–vous à
Mode d’édition emacs, page 12-58.
set –o gmacs
Appelle le mode d’édition emacs et ouvre un éditeur en
ligne style gmacs. Pour en savoir plus, reportez–vous à
Mode d’édition emacs, page 12-58.
set –o vi
Appelle le mode d’édition vi et ouvre un éditeur en ligne
style vi. Pour en savoir
plus, reportez–vous à Mode d’édition vi, page 12-61.
Une option d’édition est automatiquement sélectionnée chaque fois que la valeur affectée à
VISUAL ou à EDITOR se termine par l’un de ces noms d’option.
Remarque : Pour accéder aux fonctions d’édition, votre terminal doit accepter RETOUR
comme retour chariot sas passage à la ligne. Un espace doit remplacer le caractère
courant à l’écran.
Chaque mode d’édition ouvre une fenêtre au niveau de la ligne courante. Sa longueur est
définie par la variable COLUMNS ; ou, à défaut, égale à 80 espaces caractères. Si la ligne
dépasse la longueur de fenêtre diminuée de deux caractères, le système affiche une
marque à l’extrémité de la fenêtre. Lorsque le curseur atteint les limites de la fenêtre,
celle–ci se recentre sur le curseur. Les marques affichées sont :
>
La ligne se prolonge à droite de la fenêtre.
<
La ligne se prolonge à gauche de la fenêtre.
*
La ligne se prolonge des deux côtés de la fenêtre.
Les commandes de recherche de chaque mode d’édition donnent accès au fichier
d’historique du shell Korn. Seules les chaînes sont mises en correspondance. Si le premier
caractère de la chaîne est un ^ (caret), la recherche doit débuter au premier caractère de la
ligne.
Mode d’édition emacs
Pour sélectionner le mode d’édition emacs, activez indifféremment l’option emacs ou
l’option gmacs : La seule différence entre ces deux modes est la façon dont ils traitent la
commande d’édition Ctrl–T. Pour éditer, déplacez le curseur sur le point à corriger et insérez
ou supprimez les caractères ou mots, en fonction de vos besoins. Toutes les commandes
d’édition sont des caractères de contrôle ou des séquences d’échappement.
Les commandes d’édition opèrent n’importe où sur la ligne (et pas seulement au début).
Sauf indication contraire, n’appuyez ni sur Entrée ni sur la touche ligne suivante (flèche vers
le bas) après une commande d’édition.
12-58
Ctrl–F
Avance le curseur d’un caractère.
Echap–F
Avance le curseur au mot suivant (un mot est une chaîne
composée exclusivement de lettres, chiffres et traits de
soulignement).
Ctrl–B
Recule le curseur d’un caractère.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Echap–B
Ramène le curseur au mot précédent.
Ctrl–A
Amène le curseur au début de la ligne.
Ctrl–E
Avance le curseur à la fin de la ligne.
Ctrl–] c
Avance le curseur au caractère indiqué.
Echap–Ctrl–] c
Avance le curseur au caractère indiqué.
Ctrl–X Ctrl–X
Echange curseur et marque.
ERASE
Efface le caractère précédent. (Caractère d’effacement défini
par l’utilisateur, via la commande stty, généralement la séquence
Ctrl-H).
Ctrl–D
Efface le caractère courant.
Echap–D
Supprime le mot courant.
Echap–RetAr
Efface le mot précédent.
Echap–H
Efface le mot précédent.
Echap–Suppr
Efface le mot précédent. Si la touche Suppression est définie
comme touche d’interruption, cette commande ne fonctionne pas.
Ctrl–T
Transpose le caractère courant et le caractère suivant (mode
emacs). Transpose les deux caractères précédents (mode gmacs).
Ctrl–C
Met en majuscules le caractère courant.
Echap–C
Met en majuscules le mot courant.
Echap–L
Met en minuscules le mot courant.
Ctrl–K
Efface la zone entre le curseur et la fin de la ligne. Précédé d’un
paramètre numérique dont la valeur est inférieure à celle de la
position courante du curseur, efface la zone entre la position
indiquée par ce paramètre et le curseur. Précédé d’un paramètre
numérique dont la valeur est supérieure à la position courante du
curseur, efface la zone entre la position indiquée par ce paramètre
et le curseur.
Ctrl–W
Efface la zone entre le curseur et la marque.
Echap–P
Repousse dans la pile la zone entre le curseur et la marque.
KILL
Caractère kill défini par l’utilisateur via la commande stty,
généralement la séquence Ctrl–G ou le caractère @ (arobase).
Tue l’intégralité de la ligne courante. Une succession de deux
caractères kill génère un saut de ligne à chaque nouveau
caractère kill (utile sur un terminal papier).
Ctrl–Y
Restaure le dernier élément supprimé de la ligne. (Restitue
l’élément sur la ligne.)
Ctrl–L
Effectue un saut de ligne et affiche la ligne courante.
Ctrl–@
(Caractère nul) Définit une marque.
Echap–Espace
Définit une marque.
Ctrl–J
(Nouvelle ligne) Exécute la ligne courante.
Ctrl–M
(Retour) Exécute la ligne courante.
EOF
Traite le caractère fin de fichier (généralement, Ctrl-D) comme tel,
uniquement si la ligne courante est nulle.
Ctrl–P
Extrait la commande précédente. Il s’agit d’une opération
chronologique. Revient à la ligne précédente dans une commande
de plusieurs lignes (si le curseur ne se trouve pas sur la première
ligne).
Echap–<
Appelle la ligne d’historique la moins récente.
Shells
12-59
12-60
Echap–>
Appelle la ligne d’historique la plus récente.
Ctrl–N
Appelle la commande suivante. Il s’agit d’une opération
chronologique.
Ctrl–R Chaîne
Inverse l’historique de recherche d’une commande antérieure
contenant la Chaîne. Si la valeur spécifiée est zéro, la recherche
s’effectue vers l’avant. La chaîne se termine par Entrée ou un
caractère de nouvelle ligne. Si elle est précédée d’un caret (^), la
ligne correspondante doit commencer par Chaîne. Si Chaîne est
omis, la recherche porte sur la ligne de commande contenant le
paramètre Chaîne le plus récent. Dans ce cas, la valeur 0 inverse
la direction de la recherche.
Ctrl–O
Exécute la ligne courante et extrait du fichier d’historique la ligne
suivant la ligne courante.
Echap Chiffres
Définit un paramètre numérique. Les chiffres sont considérés
comme paramètre de la commande suivante. Les commandes
admettant un paramètre sont Ctrl–F, Ctrl–B, ERASE, Ctrl–C,
Ctrl–D, Ctrl–K, Ctrl–R, Ctrl–P, Ctrl–N, Ctrl–], Echap–.,
Echap–Ctrl–], Echap–_, Echap–B, Echap–C, Echap–D,
Echap–F, Echap–H, Echap–L et Echap–Ctrl–H.
Echap Lettre
(Touche de fonction) Recherche l’alias _Lettre dans la liste des
alias. Si la recherche aboutit, la valeur de l’alias trouvé est placée
dans la file d’entrée. Le paramètre Lettre ne doit pas spécifier de
fonctions d’échappement (escape).
Echap–[ Lettre
(Touche de fonction) Recherche l’alias _Lettre (double trait de
soulignement) dans la liste des alias. Si la recherche aboutit, la
valeur de l’alias trouvé est placée dans la file d’entrée. Cette
commande permet de programmer des touches de fonction sur
plusieurs terminaux.
Echap–.
Insère dans la ligne le dernier mot de la commande précédente.
Précédée d’un paramètre numérique, la valeur de ce paramètre
détermine quel mot insérer à la place du dernier mot.
Echap–_.
Identique à Echap–. (Echap, tiret, point).
Echap–*
Tente d’effectuer la substitution de nom sur le mot courant.
Lorsque le mot ne correspond à aucun fichier ou contient des
caractères spéciaux, un astérisque est ajouté.
Echap–Echap
Traitement de nom de fichier. Remplace le mot courant par le
préfixe commun le plus long de tous les noms de fichier
correspondant au mot courant doté d’un astérisque. S’il n’y a
qu’une seule correspondance, une barre oblique (/) est ajoutée s’il
s’agit d’un répertoire, ou un espace sinon.
Echap–=.
Liste les fichiers qui correspondent à la trame du mot courant
comme si un astérisque (*) avait été ajouté.
Ctrl–U
Multiplie par 4 le paramètre de la commande suivante.
\
Annule l’effet du caractère suivant. Les caractères d’édition et les
caractères ERASE, KILL et INTERRUPT (habituellement la touche
Suppr) peuvent être entrés sur une ligne de commande ou de
recherche sous réserve d’être précédés d’une barre oblique
inverse (\). Cette dernière annule les caractéristiques d’édition du
caractère suivant (le cas échéant).
Ctrl–V
Affiche la version du shell.
Echap–#
Insère un dièse ( # ) en début de ligne, puis l’exécute. Un
commentaire est alors ajouté dans le fichier d’historique.
AIX Guide de l’utilisateur – Système d’exploitation et unités
mode d’édition vi
L’éditeur vi offre deux modes :
• Mode saisie. Lorsque vous entrez une commande, l’éditeur vi est en mode saisie.
• Mode de contrôle. Appuyez sur la touche Echap. pour entrer le mode de contrôle.
La plupart des commandes de contrôle admettent un paramètre Compte de répétition,
en option, avant la commande. En mode vi, sur la plupart des systèmes, le traitement
normal est d’abord activé. La commande est réaffichée lorsque :
• le vitesse est supérieure ou égale à 1200 ;
• la commande contient des caractères de contrôle ;
• moins d’une seconde s’est écoulée depuis l’affichage de l’invite.
Le caractère Echap interrompt le traitement normal pour le reste de la commande, ce qui
permet de modifier la ligne de commande. Ce schéma offre les avantages du traitement
canonique avec écho du mode brut. Si l’option viraw est spécifiée, le traitement canonique
est désactivé. Ce mode est le mode par défaut pour le systèmes qui n’admettent qu’un
seul délimiteur de fin de ligne, et peut être pratique pour certains terminaux.
Les commandes d’édition vi disponibles sont classées par catégories.
Les catégories sont les suivantes :
•
Commandes d’entrée, page 12-61
•
Commandes de déplacement, page 12-62
•
Commandes de recherche, page 12-62
•
Commandes de modification de texte, page 12-63
•
Commandes diverses, page 12-64
Commandes d’entrée
Remarque : Par défaut, l’éditeur s’ouvre en mode Entrée.
ERASE
Efface le caractère précédent. (Caractère d’effacement défini
par l’utilisateur, via la commande stty, généralement la
séquence Ctrl–H ou #).
Ctrl–W
Efface le mot précédent séparé par un blanc.
Ctrl–D
Met fin au shell.
Ctrl–V
Annule l’effet du caractère suivant. Les caractères d’édition,
comme les caractères ERASE ou KILL, peuvent être saisis
dans la ligne de commande ou dans un chaîne de recherche
s’ils sont précédés d’une séquence de touche Ctrl–V. Cette
dernière annule les caractéristiques d’édition du caractère
suivant (le cas échéant).
\
Annule l’effet du caractère ERASE ou KILL suivant.
Shells
12-61
Commandes de déplacement
Ces commandes servent à déplacer le curseur comme suit :
[ Compte ] l
Avance le curseur d’un caractère.
[ Compte ] w
Avance le curseur d’un mot (alphanumérique).
[ Compte ] W
Avance le curseur au début du mot suivant après un blanc.
[ Compte ] e
Avance le curseur à la fin du mot courant.
[ Compte ] E
Avance le curseur à la fin du mot séparé par un blanc courant.
[ Compte ] h
Recule le curseur d’un caractère.
[ Compte ] b
Ramène le curseur au mot précédent.
[ Compte ] B
Ramène le curseur au mot séparé par un blanc précédent.
[ Compte ] |
Amène le curseur à la colonne spécifiée par Compte.
[ Compte ] f c
Trouve le caractère c suivant de la ligne courante.
[ Compte ] F c
Trouve le caractère c précédent de la ligne courante.
[ Compte ] f c
Equivalent à f suivi de h.
[ Compte ] T c
Equivalent à F suivi de l.
[ Compte ];
Répète, le nombre de fois spécifié par Compte, la dernière
commande de recherche sur un caractère : f, F, t ou T.
[ Compte ],
Inverse, le nombre de fois spécifié par Compte, la dernière
commande de recherche sur un caractère.
0
Ramène le curseur au début de la ligne.
^
Amène le curseur au premier caractère non blanc de la ligne.
$
Amène le curseur à la fin de la ligne.
Commandes de recherche
Ces commandes donnent accès au fichier d’historique des commandes :
12-62
[ Compte ] k
Extrait la commande précédente.
[ Compte ] –
Equivalent à la commande k.
[ Compte ] j
Extrait la commande suivante. Entrer la commande j donne accès à
la commande suivante.
[ Compte ] +
Equivalent à la commande j.
[ Compte ] G
Extrait la commande dont le numéro est spécifié par Compte. Il
s’agit par défaut de la commande la moins récente de l’historique.
/ Chaîne
Recherche en amont dans l’historique d’une commande contenant
Chaîne. La chaîne se termine par RETOUR ou un caractère de
nouvelle ligne. Si la chaîne spécifiée est précédée d’un ^ (caret ), la
ligne correspondante doit commencer par Chaîne. Si Chaîne a une
valeur nulle, la chaîne précédente est utilisée.
? Chaîne
Identique à /Chaîne, à ceci près que la recherche s’effectue vers
l’aval.
n
Recherche l’occurrence suivante de la dernière trame des
commandes /Chaîne ou ?
N
Recherche l’occurrence suivante de la dernière trame des
commandes /Chaîne ou ?, mais dans la direction opposée. Explore
l’historique à la recherche de la chaîne entrée via la commande
/Chaîne précédente.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commandes de modification de texte
Ces commandes permettent de modifier la ligne de commande :
a
Ouvre le mode Entrée et insère le texte après le caractère courant.
Un
Ajoute le texte à la fin de la ligne. Equivalent à la commande $a.
[ Compte ] c
Déplacement
c[Compte]Déplac
ement
Efface la zone entre le caractère courant et la caractère spécifié par
Déplacement, et ouvre le mode Entrée. Si Déplacement a la valeur
c, l’intégralité de la ligne est supprimée (le mode Entrée est ouvert).
C
Efface la zone entre le caractère courant et la fin de la ligne, et ouvre
le mode Entrée. Equivalent à la commande c$.
S
Equivalent à la commande cc.
D
Efface la zone entre le caractère courant et la fin de la ligne.
Equivalent à la commande d$.
[ Compte ] d
Déplacement
d [ Compte ]
Déplacement
Efface la zone entre le caractère courant et le caractère spécifié par
Déplacement (ce caractère compris). Si Déplacement a la valeur d,
l’intégralité de la ligne est supprimée.
i
Ouvre le mode Entrée et insère le texte avant le caractère courant.
I
Insère le texte au début de la ligne. Equivalent à la commande 0i.
[ Compte ] P
Place la dernière modification de texte avant le curseur.
[ Compte ] p
Place la dernière modification de texte après le curseur.
R
Ouvre le mode Entrée et remplace les caractères affichés à l’écran.
[ Compte ] r c
Remplace le nombre de caractères spécifiés par Compte, à partir de
la position du curseur, par les caractères spécifiés par c. Cette
commande fait ensuite avancer le curseur.
[ Compte ] x
Efface le caractère courant.
[ Compte ] X
Efface le caractère précédent.
[ Compte ].
Répète la dernière modification de texte.
[ Compte ]~
Convertit les majuscules en minuscules (et réciproquement) le
nombre de caractères spécifié par Compte, à partir de la position du
curseur, et avance le curseur.
[ Compte ] _
Ajoute le mot spécifié par le paramètre Compte de la commande
précédente et ouvre le mode Entrée. Il s’agit du dernier mot si
Compte est omis.
*
Ajoute un astérisque (*) au mot courant et tente une substitution de
nom de fichier. Si la recherche n’aboutit pas, le système le signale.
Sinon, le mot est remplacé par la trame correspondante et le mode
Entrée s’ouvre.
\
Traitement de nom de fichier. Remplace le mot courant par le préfixe
commun le plus long de tous les noms de fichier correspondant au
mot courant doté d’un astérisque (*). S’il n’y a qu’une occurrence,
une barre oblique / est ajoutée s’il s’agit d’un répertoire. Dans le cas
contraire, un espace est ajouté.
Shells
12-63
Commandes diverses
Les commandes d’édition les plus couramment utilisées sont les suivantes :
[ Compte ] y
Déplacement
y [ Compte ]
Déplacement
Sélectionne la zone entre le caractère courant et le caractère dont la
position est spécifiée par Déplacement (ce caractère compris), et
place le tout dans le tampon de suppression. Texte et curseur
restent inchangés.
Y
Sélectionne la zone entre le caractère courant et la fin de la ligne.
Equivalent à la commande y$.
u
Annule la dernière commande de modification de texte.
U
Annule toutes les commandes de modification de texte exécutées
sur la ligne.
[ Count ] v
Renvoie la commande fc –e ${VISUAL:–${EDITOR:–vi}}
Compte dans le tampon d’entrée. Si Compte est omis, la ligne
courante est utilisée.
Ctrl–L
Effectue un saut de ligne et affiche la ligne courante. Cette
commande ne s’applique qu’en mode Contrôle.
Ctrl–J
(Nouvelle ligne) Exécute la ligne courante, quel que soit le mode en
vigueur.
Ctrl–M
(Retour) Exécute la ligne courante, quel que soit le mode en vigueur.
#
Envoie la ligne en la faisant précéder d’un signe dièse (#). Utile pour
insérer la ligne courante dans l’historique sans l’exécuter.
Si la ligne de commande comporte une barre verticale, un
point–virgule ou un caractère nouvelle ligne, autant de dièses (#)
complémentaires sont insérés avant ces symboles. Pour effacer tous
les dièses, rappelez la ligne de commande depuis l’historique et
entrez un autre dièse (#).
12-64
=
Liste les noms de fichier correspondant au mot courant comme s’il
était doté d’un astérisque.
@ Lettre
Recherche l’alias _Lettre dans la liste des alias. Si la recherche
aboutit, la valeur de l’alias trouvé est placée dans la file d’entrée, en
vue de son traitement.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Shell Korn avancé (ksh93)
En plus du système par défaut du shell Korn (/usr/bin/ksh), AIX fournit une version
avancée disponible comme /usr/bin/ksh93. Cette version avancée présente une
compatibilité ascendante avec la version par défaut actuelle et comprend quelques
fonctions supplémentaires non disponibles dans /usr/bin/ksh. Certains scripts peuvent
fonctionner différemment sous ksh93 par rapport au shell par défaut car la gestion des
variables diffère quelque peu entre les deux shells.
Remarque :
Il existe une version restreinte du shell Korn avancé, appelée rksh93.
Les fonctions suivantes sont disponibles dans /usr/bin/ksh93:
Améliorations
arithmétiques
Variables
composées
Vous pouvez utiliser des fonctions libm (fonctions mathématiques
que l’on trouve généralement dans le langage de programmation C)
dans des expressions arithmétiques, comme $
value=$((sqrt(9))). D’autres opérateurs arithmétiques sont
disponibles, y compris les unaires +, ++, ––, la construction ?: (par
exemple, ” x ? y : z ”), ainsi que l’opérateur, (virgule). Les
bases arithmétiques sont prises en charge jusqu’à la base 64.
L’arithmétique en virgule flottante est également prise en charge.
”typeset –E” (exponentielle) peut être utilisé pour spécifier le
nombre de chiffres significatifs et ” typeset –F” (flottante) peut être
utilisé pour spécifier le nombre de places décimales pour une
variable arithmétique. La variable SECONDS affiche maintenant au
centième de seconde près, plutôt qu’à la seconde près.
Les variables composées sont prises en charge. Une variable
composée permet à un utilisateur de spécifier plusieurs valeurs dans
un seul nom de variable. Toutes les valeurs sont affectées d’une
variable indicielle, séparée de la variable parent par un . (point). Par
exemple :
$ myvar=( x=1 y=2 )
$ print ”${myvar.x}”
1
Affectations
composées
Les affectations composées sont prises en charge lors de
l’initialisation de batteries de disques, qu’il s’agisse de batteries de
disques indexées ou associatives. Les valeurs des affectations sont
mises entre parenthèses, comme illustré dans l’exemple ci–après :
$ numbers=( zero one two three )
$ print ${numbers[0]} ${numbers[3]}
zero three
Batteries de
disques
associatives
Une batterie de disques associative est une batterie de disques dont
l’index est une chaîne.
La commande typeset utilisée avec l’indicateur –A permet de
spécifier les batteries de disques associatives dans ksh93. Par
exemple :
$ typeset –A teammates
$ teammates=( [john]=smith [mary]=jones )
$ print ${teammates[mary]}
jones
Shells
12-65
Références de
noms de
variables
La commande typeset utilisée avec l’indicateur –n permet d’affecter
un nom de variable comme référence à une autre. Ainsi, modifier la
valeur d’une variable modifiera ensuite la valeur de la variable
référencée. Par exemple :
$ greeting=”bonjour”
$ typeset –n welcome=greeting # établit la référence
$ welcome=”salut”
# annule la valeur précédente
$ print $greeting
salut
Expansions des
paramètres
Les constructions d’expansions de paramètres suivantes sont
disponibles :
• ${!varname} est le nom de la variable.
• ${! varname [@]} nomme les index de la batterie de disques
varname.
• ${ param: offset } est une sous–chaîne de param,
commençant à offset.
• ${param:offset:num} est une sous–chaîne de param,
commençant à offset, pour num nombre de caractères.
• ${@: offset } indique tous les paramètres positionnels
commençant à offset.
• ${@: offset: num } indique num paramètres positionnels
commençant à offset.
• ${ param/pattern/repl} évalue à param, avec la
première occurrence de pattern remplacée par repl.
• ${ param//pattern / repl } évalue à param, avec chaque
occurrence de pattern remplacée par repl.
• ${ param / #pattern / repl } si param commence par
pattern, alors param est remplacé par repl.
• ${ param /% pattern / repl } si param se termine par
pattern, alors param est remplacé par repl.
12-66
AIX Guide de l’utilisateur – Système d’exploitation et unités
Fonctions de
protocole
Une fonction de protocole est une fonction associée à une variable
spécifique. Cela vous permet de définir et d’appeler une fonction à
chaque fois que cette variable est référencée, définie ou retirée. Ces
fonctions prennent la forme de varname.function, où varname est le
nom de la variable et function est la fonction de protocole. Il existe
trois fonctions de protocole prédéfinies : get, set et unset.
• La fonction varname.get est appelée à chaque fois que varname
est référencée. Si la variable spéciale .sh.value est définie dans
cette fonction, alors la valeur de varname prend cette valeur.
L’heure en est un simple exemple :
$ function time.get
> {
>
.sh.value=$(date +%r)
> }
$ print $time
09:15:58 AM
$ print $time
# cela changera dans quelques secondes
09:16:04 AM
• La fonction varname.set est appelée à chaque fois que varname
est définie. La valeur qui a été affectée est donnée à la variable
.sh.value. La valeur affectée à varname est la valeur de .sh.value
lorsque la fonction se termine. Par exemple :
$ function adder.set
> {
>
let .sh.value=”
$ {.sh.value} + 1”
> }
$ adder=0
$ echo $adder
1
$ adder=$adder
$ echo $adder
2
• La fonction varname.unset est exécutée à chaque fois que
varname est retirée. La variable n’est pas vraiment retirée sauf si
elle est retirée dans la fonction elle–même ; sinon elle garde sa
valeur.
Dans toutes les fonctions de protocole, la variable spéciale
.sh.name est définie au nom de la variable alors que .sh.subscript
est définie à la valeur de l’indice de variables, le cas échéant.
Environnements
de fonctions
Les fonctions déclarées avec le format functionmyfunc sont
exécutées dans un environnement de fonction séparé. Les fonctions
déclarées comme myfunc() s’exécutent avec le même
environnement que le shell parent.
Shells
12-67
Variables
Les variables qui commencent par .sh. sont réservées par le shell
et ont une signification spéciale. Reportez–vous à la description de
Fonctions de protocole, page 12-67 ci–dessus pour obtenir une
explication de .sh.name, .sh.value et .sh.subscript. .sh.version,
qui représente la version du shell, est également disponible.
Valeurs de retour
des commandes
Les valeurs de retour des commandes sont les suivantes :
• Si la commande à exécuter n’est pas trouvée, la valeur de retour
est définie à 127.
• Si la commande à exécuter est trouvée
mais n’est pas exécutable, la valeur de retour est 126.
• Si la commande est exécutée mais arrêtée par un signal, la valeur
de retour est 256 plus le numéro du signal.
Règles de
recherche PATH
Historique du
shell
12-68
Les commandes intégrées spéciales sont d’abord recherchées, puis
viennent toutes les fonctions (y compris celles des répertoires
FPATH) et les autres commandes intégrées.
La commande hist permet d’afficher et d’éditer l’historique de
commandes shell. Dans le shell ksh, la commande fc a été utilisée.
La commande fc est maintenant un alias de hist. Les variables sont
HISTCMD, qui incrémente une fois pour chaque commande
exécutée dans l’historique actuel du shell, et HISTEDIT, qui spécifie
quel éditeur utiliser lors de l’utilisation de la commande hist.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commandes
intégrées
Voici les commandes intégrées du shell Korn avancé :
• La commande builtin répertorie toutes les commandes intégrées
disponibles.
• La commande printf fonctionne globalement comme la routine de
bibliothèque printf() C. Reportez–vous à la commande printf.
• La commande disown empêche le shell d’envoyer un SIGHUP à
la commande spécifiée.
• La commande getconf fonctionne comme la commande
autonome /usr/bin/getconf. Reportez–vous à la commande
getconf.
• La commande intégrée read dispose des indicateurs suivants :
–read –d { char } permet de spécifier une délimitation de caractères
au lieu de la nouvelle ligne par défaut.
–read –t { seconds } permet de spécifier une limite de temps en
secondes après laquelle la commande read s’arrêtera. Si read
s’arrête, elle renverra FALSE.
• La commande intégrée exec dispose des indicateurs suivants :
–exec –a { name } { cmd } spécifie que l’argument 0 de cmd est
remplacé par name.
–exec –c { cmd } indique exec pour vider l’environnement avant
d’exécuter cmd.
• La commande intégrée kill dispose des indicateurs suivants :
–kill –n { signum } est utilisé pour spécifier un numéro de signal à
envoyer à un processus, alors que kill –s { signame } est utilisé
pour spécifier un nom de signal.
–kill –l, sans argument, répertorie tous les noms de signaux mais pas
leurs numéros.
• La commande intégrée whence dispose des indicateurs suivants :
–L’indicateur –a affiche toutes les concordances, pas seulement la
première trouvée.
–L’indicateur –f indique à whence de ne pas rechercher de fonction.
• Une séquence de caractère d’échappement a été ajoutée pour
être utilisée par les commandes print et echo. La touche Echap
(Echappement) peut être représentée par la séquence \E.
• Toutes les commandes intégrées standard reconnaissent
l’indicateur –?, qui affiche la syntaxe de la commande spécifiée.
Shells
12-69
Shell Bourne
Le shell Bourne est un interpréteur de commandes interactif et un langage de
programmation. Il est appelé par la commande bsh.
Le shell Bourne peut être exécuté comme shell de connexion ou comme un sous-shell sous
le shell de connexion. C’est la commande login uniquement qui permet d’exécuter le shell
Bourne comme shell de connexion. Pour cela, il faut faire précéder la commande bsh
d’un tiret (-) : –bsh. Sous cette forme, le shell commence par lire et exécuter les
commandes du fichier système /etc/profile et, le cas échéant, celles de votre fichier
$HOME/.profile. Le fichier /etc/profile définit les variables requises par tous les utilisateurs.
Le shell est prêt à lire les commandes à partir de votre entrée standard.
Si le paramètre Fichier [Paramètre] est spécifié au lancement du shell Bourne, le shell exécute le
fichier script identifié par Fichier, avec ses paramètres éventuels. Le fichier script doit être
accessible en lecture. Les éventuels paramètres setuid et setgid sont ignorés. Le shell lit
ensuite les commandes. Si l’indicateur –c ou –s est utilisé, ne spécifiez pas ce script.
Environnement du shell Bourne
Toutes les variables (avec leurs valeurs) connues d’une commande lors de son lancement
constituent son environnement : variables héritées du process parent et variables spécifiées
comme paramètres-clés sur la ligne de commande.
Le shell passe à ses process enfants les variables nommées comme arguments de la
commande intégrée export. Cette commande place les variables nommées à la fois dans
l’environnement du shell et dans celui de ses futurs process enfants.
Les mots-clés sont des paires nom-valeur spécifiées généralement avant le nom de
procédure dans la ligne de commande (voir également l’indicateur de la commande set).
Ces variables sont placées dans l’environnement de la procédure appelée.
Voir les exemple ci–après :
• Prenons pour exemple la procédure suivante, qui affiche les valeurs de deux variables
(enregistrées dans le fichier de commande key_command) :
# key_command
echo $a $b
Voici les commandes et les sorties générées :
Entrée
a=key1
a=tom
b=key2
b=john
key_command
key_command
Sortie
key1 key2
tom john
Les mots-clés d’une procédure ne sont pas décomptés dans le chiffre enregistré dans $#.
Une procédure a accès aux valeurs de toutes les variables de son environnement. Mais si
elle modifie l’une de ses valeurs, ces modifications ne sont pas répercutées dans
l’environnement du shell. Elles ne s’appliquent que localement à la procédure concernée.
Pour que les modifications s’appliquent à l’environnement transmis aux process enfants,
exportez les nouvelles valeurs dans cette procédure.
Voir les exemple ci–après :
• Pour afficher la liste des variables exportables du shell courant, entrez :
export
• Pour afficher la liste des variables en lecture seule du shell courant, entrez :
readonly
• Pour afficher la liste des paires variable–valeur de l’environnement courant, entrez :
env
Pour plus d’informations sur les environnements utilisateur, reportez–vous à la description
du fichier /etc/environment, page 11-2.
12-70
AIX Guide de l’utilisateur – Système d’exploitation et unités
Shell restreint
Le shell restreint permet de définir des noms de connexion et des environnements
d’exécution dont les pouvoirs sont plus contrôlés que ceux du shell Bourne normal. Il est
appelé par la commande Rsh ou bsh –r. Le comportement de ces commandes est
identique à celui de la commande bsh, à ceci près qu’elles n’autorisent pas à :
• changer de répertoire (commande cd),
• définir la valeur des variables PATH ou SHELL,
• spécifier des chemins ou des noms de commandes comportant une barre oblique (/),
• réacheminer les sorties.
Si le shell restreint détermine qu’une commande est une procédure shell, il appelle le shell
Bourne pour l’exécuter. L’utilisateur peut ainsi accéder à toutes les fonctionnalités du shell
Bourne par le biais d’un menu de commandes limité. Ce schéma suppose que l’utilisateur
n’a pas accès en écriture et en exécution au même répertoire.
Si le paramètre Fichier [Paramètre] est spécifié au lancement du shell Bourne, le shell
exécute le fichier script identifié par Fichier, avec ses paramètres éventuels. Le fichier script
doit être accessible en lecture. Les éventuels paramètres setuid et setgid sont ignorés.
Le shell lit ensuite les commandes. Si l’indicateur –c ou –s est utilisé, ne spécifiez pas ce
script.
Lancé via la commande Rsh, le shell renforce les restrictions après interprétation des
fichiers .profile et /etc/environment. C’est donc à celui qui écrit le fichier .profile
qu’incombe le contrôle des actions autorisées à l’utilisateur et du répertoire auquel il accède
(de préférence pas le répertoire de connexion). Un administrateur peut créer un répertoire
de commandes dans le répertoire /usr/rbin, utilisable par la commande Rsh, en modifiant
en conséquence la variable PATH. Lancé via la commande bsh –r, le shell applique les
restrictions au moment où il interprète les fichiers .profile.
Appelé par –Rsh, le shell restreint lit le fichier .profile de l’utilisateur ($HOME/.profile).
Il agit comme le shell Bourne normal, à ceci près que toute interruption provoque la sortie
immédiate et non un retour au niveau commande.
Shells
12-71
Shell Korn restreint
Le shell Korn restreint permet de définir des noms de connexion et des environnements
d’exécution dont les fonctionnalités sont plus contrôlées que celles du shell Bourne normal.
La commande rksh ou ksh –r ouvre le shell Korn restreint. Le comportement de ces
commandes est identique à celui de la commande ksh, à ceci près qu’elles n’autorisent pas
les actions suivantes :
• Changer le répertoire de travail courant
• Définir la valeur des variables SHELL, ENV ou PATH
• Spécifier le nom de chemin d’une commande contenant une barre oblique (/)
• Réacheminer la sortie d’une commande avec > (caret droit), >| (caret droit,
symbole tube), (caret gauche, caret droit) ou >> (deux carets droits).
Si le shell Korn restreint détermine qu’une commande est une procédure shell, il appelle le
shell Korn pour l’exécuter. L’utilisateur peut ainsi accéder à toutes les fonctionnalités du
shell Korn par le biais d’un menu de commandes limité. Ce schéma suppose que
l’utilisateur ne dispose pas de droits d’écriture et d’exécution sur le même répertoire.
Si le paramètre Fichier [Paramètre] est spécifié au lancement du shell Korn, le shell
exécute le fichier script identifié par Fichier, avec ses paramètres éventuels. Le fichier
script doit être accessible en lecture. Les éventuels paramètres setuid et setgid sont
ignorés. Le shell lit ensuite les commandes. Si l’indicateur –c ou –s est utilisé, ne spécifiez
pas ce script.
Lancé via la commande rksh, le shell renforce les restrictions après interprétation des
fichiers .profile et /etc/environment. C’est donc à celui qui écrit le fichier .profile
qu’incombe le contrôle des actions autorisées à l’utilisateur et du répertoire auquel il accède
(de préférence pas le répertoire de connexion). Un administrateur peut créer un répertoire
de commandes dans le répertoire /usr/rbin, utilisable par la commande rksh en modifiant
en conséquence la variable PATH. Lancé via la commande ksh –r, le shell applique les
restrictions au moment où il interprète les fichiers .profile.
Appelé par la commande rksh, le shell Korn restreint lit le fichier .profile de l’utilisateur
($HOME/.profile). Il agit comme le shell Korn normal, à ceci près que toute interruption
provoque la sortie immédiate et non un retour au niveau commande.
12-72
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commandes du shell Bourne
Lorsque vous lancez une commande dans le shell Bourne, il commence par l’analyser et
effectuer toutes les substitutions indiquées. Puis il exécute la commande, à condition que :
• le nom de commande corresponde à une commande spéciale du shell Bourne.
OU
• le nom de commande corresponde au nom d’une fonction définie. Dans ce cas, le shell
définit les paramètres positionnels par ceux de la fonction.
Si le nom de commande ne correspond ni à une commande intégrée ni à une fonction
définie et que la commande nomme un fichier exécutable qui est un programme (binaire)
compilé, le shell (en tant que parent) génère dynamiquement un nouveau process (enfant)
qui exécute immédiatement le programme. Si le fichier est déclaré exécutable mais n’est
pas un programme compilé, le shell suppose qu’il s’agit d’une procédure shell. Dans ce cas,
le shell génère dynamiquement une autre instance de lui-même (un sous-shell) qui lit le
fichier et en exécute les commandes. Le shell exécute également les commandes mises
entre parenthèses dans le sous–shell. Pour l’utilisateur, l’exécution d’un programme compilé
s’effectue exactement de la même manière qu’une procédure shell. Le shell recherche
normalement les commandes dans les répertoires du système de fichiers, dans l’ordre
suivant :
1. /usr/bin
2. /etc
3. /usr/sbin
4. /usr/ucb
5. $HOME/bin
6. /usr/bin/X11
7. /sbin
8. Répertoire courant.
Le shell explore successivement chaque répertoire, passant au suivant lorsqu’il ne parvient
pas à trouver la commande.
Remarque : La variable PATH détermine l’ordre dans lequel le shell effectue la
recherche dans les répertoires. Vous pouvez modifier la séquence donnée des
répertoires cible en redéfinissant la variable PATH.
Si vous indiquez un chemin d’accès en lançant une commande (par exemple,
/usr/bin/sort), le shell n’explore que le répertoire correspondant. Si le nom de commande
contient une barre oblique (/), le shell ne tient pas compte du chemin d’accès.
Vous pouvez spécifier un chemin d’accès complet commençant par le répertoire racine
(par exemple /usr/bin/sort). Vous pouvez également indiquer un chemin d’accès relatif au
répertoire courant. Si vous spécifiez :
bin/monfichier
le shell cherche le répertoire bin dans le répertoire courant, puis, dans ce répertoire, le
fichier monfichier.
Remarque : Le shell restreint ne traite pas les commandes contenant une barre
oblique (/).
Le shell mémorise le chemin d’accès de chaque commande exécutée (pour éviter des
recours répétés à la commande exec). Si la commande se trouve dans un répertoire relatif
(ne commençant pas par /), le shell doit la rechercher à nouveau à chaque changement de
répertoire courant. Si vous modifiez la valeur de la variable PATH ou que vous exécutez la
commande hash –r, le shell efface tous les chemins mémorisés.
Shells
12-73
Ce chapitre traite des points suivants :
•
Déclaration de caractères, page 12-74
•
Traitement des signaux, page12-74.
•
Commandes intégrées (shell Bourne), page 12-76
•
Substitution de commandes (shell Bourne), page 12-82
Déclaration de caractères
De nombreux caractères ont une spécification spéciale pour le shell. Vous souhaiterez
quelquefois passer outre. Pour cela, vous n’avez qu’à encadrer les caractères concernés
par des apostrophes (’) et des guillemets (”), ou en les faisant précéder d’une barre oblique
inverse (\).
Tous ces caractères, à l’exception de l’apostrophe, sont alors interprétés littéralement. Ainsi,
la commande :
stuff=’echo $? $*; ls * | wc’
attribue la chaîne littérale echo $? $*; ls * | wc à la variable stuff. Le shell
n’exécute pas les commandes echo, ls et wc et ne développe ni les variables $? et $*, ni le
caractère astérisque (*).
Placés entre guillemets, les caractères $ (dollar), ‘ (apostrophe inverse) et ” (guillemets)
conservent leur signification spéciale, tous les autres caractères étant interprétés
littéralement. La substitution des variables et des commandes encadrées par des guillemets
a donc lieu. En outre, les guillemets n’affectent pas les commandes dans une substitution
de commande faisant partie de la chaîne déclarée, aussi les caractères conservent-ils dans
ce cas leur signification spéciale.
Soit la séquence :
ls *
file1 file2 file3
message=”This directory contains ‘ls * ‘ ”
echo $message
This directory contains file1 file2 file3
Le caractère spécial ( * ) figurant dans la chaîne à substituer a été développé.
Pour annuler la signification spéciale des caractères dollar ($), apostrophe inverse (‘) et
double guillemet (”), placés entre guillemets, faites–les précéder d’une barre oblique
inverse (\). Dans une expression non encadrée de guillemets, faire précéder un caractère
d’une barre oblique inverse équivaut à le placer entre apostrophes. Par conséquent, une
barre oblique inverse précédant immédiatement un caractère nouvelle ligne (c’est–à–dire
une barre oblique inverse en fin de ligne) annule le caractère nouvelle ligne, ce qui vous
permet de continuer la ligne de commande sur la ligne suivante (physiquement).
Traitement des signaux
Les signaux INTERRUPT et QUIT sont ignorés lorsque la commande est suivie d’un &
(perluète) ; c’est–à–dire exécutée en arrière-plan. Sinon, les valeurs des signaux sont celles
transmises par le shell parent, à l’exception du signal VIOLATION DE SEGMENTATION.
Pour en savoir plus, reportez–vous à la commande intégrée trap du shell Bourne,
page 12-80.
12-74
AIX Guide de l’utilisateur – Système d’exploitation et unités
Commandes composées (shell Bourne)
Une commande composée est l’un des éléments suivants :
• pipeline (séquence de commandes séparées par le symbole |),
• liste de commandes simples,
• commande commençant par un mot réservé,
• commande commençant par l’opérateur ( (parenthèse ouvrante).
Sauf indication contraire, la valeur renvoyée par une commande composée est celle de la
dernière commande simple exécutée.
Mots réservés
Les mots réservés ne sont identifiés que lorsqu’ils apparaissent sans guillemets et comme
premier mot d’une commande.
for
case
if
elif
while
{
(
do
esac
then
else
until
}
)
done
fi
for Identificateur [ in Mot . . .] do
Liste done
Affecte à Identificateur la valeur du (des)
paramètre(s) Mot (un à la fois) et exécute les
commandes spécifiées par Liste. Si in Mot. . . est
omis, la commande for exécute le contenu du
paramètre Liste pour chaque paramètre positionnel
défini, la commande s’achevant lorsque tous ces
paramètres ont été traités.
case Mot in Trame [| Trame ] . . .
) Liste;; [ Trame [| Trame ] . . . )
Liste;; ].. . esac
Exécute les commandes spécifiées par Liste,
associées à la première Trame correspondant à la
valeur de Mot. Les conventions de notation sont les
mêmes que celles utilisées pour la substitution de
noms de fichiers, à ceci près qu’une barre oblique
(/), un point en tête (.) ou une séquence barre
oblique/point ne doivent pas obligatoirement
correspondre explicitement.
if Liste then Liste [ elif Liste then
Liste ] . . . [ else Liste ] fi
Exécute les commandes spécifiées par le
paramètre Liste qui suit la commande if. Si la
commande renvoie une valeur nulle, le shell
exécute la commande Liste par la première
commande then. Sinon, il exécute le paramètre
Liste définie par la commande elif (si elle est
précisée). Si la valeur de sortie est encore nulle, le
shell passe aux commandes définies par le then
suivant. Si la valeur renvoyée est non nulle, le shell
exécute les commandes définies par le paramètre
Liste suivant la commande else (si elle est
précisée). Si aucune commande else Liste ou then
Liste n’est exécutée, la commande if renvoie une
valeur nulle.
Shells
12-75
while Liste do Liste done
Exécute les commandes spécifiées par le
paramètre Liste qui suit la commande while. Si la
commande renvoie une valeur nulle, le shell
exécute le paramètre Liste suivant la commande
do. Il boucle ensuite sur les listes jusqu’à obtenir
une valeur de sortie non nulle. Si aucune des
commandes de do Liste n’est exécutée, la
commande while renvoie une valeur nulle.
until Liste do Liste done
Exécute les commandes spécifiées par le
paramètre Liste qui suit la commande until. Si la
commande renvoie une valeur nulle, le shell
exécute le paramètre Liste suivant la commande
do. Il boucle ensuite sur les listes jusqu’à obtenir
une valeur de sortie nulle. Si aucune des
commandes de do Liste n’est exécutée, la
commande until renvoie une valeur nulle.
( Liste )
Exécute, dans un sous-shell, les commandes
spécifiées par le paramètre Liste.
{ Liste; }
Exécute, dans le shell courant, les commandes
spécifiées par le paramètre Liste, sans créer de
sous-shell.
Nom () { Liste }
Définit une fonction référencée par Nom. Le corps
de cette fonction est constitué des commandes
entre accolades spécifiées par Liste.
Commandes intégrées (shell Bourne)
Les commandes spéciales, intégrées au shell Bourne, sont exécutées dans le processus
shell. Sauf indication contraire, la sortie est envoyée au descripteur de fichier1 (sortie
standard) avec un état de sortie nul lorsque la commande est exempte d’erreur de syntaxe.
Le réacheminement des entrées/sorties est autorisé.
Reportez–vous à la section Liste des commandes intégrées (shell Bourne), page 12-91
pour obtenir un classement alphabétique de ces commandes.
Les commandes ci-dessous sont traitées quelque peu différemment des autres commandes
intégrées :
:
(colon)
.
(dot)
break
continue
eval
exec
exit
export
readonly
return
shift
times
trap
wait
Le shell Bourne traite ces commandes comme suit :
• Les listes d’affectation de paramètres précédant la commande restent en vigueur après
l’exécution de la commande.
• Les réacheminements d’E/S sont traités après les affectations de paramètres.
• Toute erreur détectée dans un script shell provoque l’arrêt du script.
12-76
AIX Guide de l’utilisateur – Système d’exploitation et unités
Description des commandes spéciales
Voici les commandes intégrées spéciales du shell Bourne :
Commandes intégrées
:
Renvoie un état de sortie nul.
. Fichier
Lit et exécute les commandes de Fichier et revient au shell. Ne
lance pas de sous-shell. Le shell recherche le fichier dans le
répertoire défini par la variable PATH.
break [ n ]
Sort, le cas échéant, de la boucle for, while ou until. Si n est
spécifié, la commande break sort à la nième boucle.
continue [ n ]
Reprend à l’itération suivante de la boucle for, while ou until.
Si vous spécifiez n, la commande reprend à la nième boucle.
cd Répertoire ]
Passe au répertoire défini par Répertoire. En l’absence de
spécification de Répertoire, c’est la valeur de la variable shell
HOME qui est utilisée. La variable shell CDPATH définit le
chemin d’accès pour Répertoire. CDPATH est constitué d’une
liste de répertoires séparés par des deux–points. Un chemin
d’accès vide (qui est le chemin par défaut) désigne le répertoire
courant. Ce répertoire est affiché immédiatement après le signe
égal ou entre les deux-points dans la liste des chemins. Si
Répertoire commence par une barre oblique (/), le shell ne tient
pas compte du chemin d’accès. Sinon, tous les répertoires de la
variable shell CDPATH sont explorés.
Remarque : Le shell restreint ne traite pas la commande cd.
echo Chaîne . . . ]
Ecrit les chaînes de caractères sur la sortie standard. Pour en
savoir plus, reportez–vous à la commande echo. L’indicateur
–n, page 12-79 n’est pas pris en charge.
eval [ Argument . . . ]
Lit les arguments comme entrée du shell et exécute le(s)
commande(s) résultante(s).
exec [ Argument . . . ]
Exécute, à la place du shell, la commande spécifiée par
Argument, sans créer de nouveau process. Des arguments
d’entrée/sortie peuvent apparaître et, si d’autres arguments
n’apparaissent pas, engendrer des modifications de l’entrée ou
de la sortie shell. Ceci est fortement déconseillé s’il s’agit de
votre shell de connexion.
exit [ n ]
Quitte le shell dont l’état de sortie est spécifié par le paramètre
n. Si n est omis, la valeur de sortie est celle de la dernière
commande exécutée (CtrlD provoque également la sortie du
shell). La valeur du paramètre n est un entier compris entre 0
et 255.
export [ Nom . . . ]
Marque les noms spécifiés, pour exportation automatique vers
l’environnement des commande ultérieures. Si Nom est omis, la
commande export affiche la liste des noms exportés dans ce
shell. Vous ne pouvez exporter des noms de fonctions.
Shells
12-77
hash [ –r ][
Commande . . . ]
Recherche et mémorise l’emplacement du chemin d’accès à
chaque Commande spécifiée. A l’inverse, l’indicateur –r efface
tous les chemins mémorisés. En l’absence de cet indicateur ou
de commandes, le shell affiche des informations sur les
commandes mémorisées, au format :
Nombre Coût Commande
Nombre indique le nombre de fois qu’une commande a été
exécutée par le processus shell. Coût est une mesure du
travail requis pour rechercher une commande dans un chemin.
Commande affiche les noms des chemins correspondant à
chaque commande spécifiée. Dans certains cas, l’emplacement
mémorisé doit être recalculé – s’il s’agit d’un chemin relatif et
que vous changez de répertoire courant, par exemple. Les
commandes concernées sont indiquées par un astérisque (*),
affiché en regard de Nombre. Coût est incrémenté en
conséquence.
12-78
pwd
Affiche le répertoire courant. Reportez–vous à la description de
la commande pwd.
read [ Nom . . . ]
Lit une ligne de l’entrée standard. Affecte le premier mot de la
ligne au premier paramètre Nom, le deuxième mot au deuxième
paramètre, etc., les mots résiduels étant affectés au dernier
paramètre Nom. Cette commande renvoie une valeur nulle,
sauf si elle détecte un caractère fin de fichier.
readonly [ Nom . . . ]
Marque en lecture seule le Nom spécifié. La valeur de ce nom
ne peut être redéfinie. Si Nom est omis, la commande readonly
affiche la liste des noms en lecture seule.
return [ n ]
Provoque la fin d’une fonction, avec la valeur de retour n. Si n
est omis, la fonction renvoie l’état de la dernière commande
exécutée de cette fonction. Cette commande n’est valide que
lorsqu’exécutée sous la fonction shell.
AIX Guide de l’utilisateur – Système d’exploitation et unités
set [ Flag
[ Argument ] . . . ]
Définit un ou plusieurs des indicateurs suivants :
–a
Marque pour l’export toutes les variables auxquelles une
affectation est effectuée. Si l’affectation précède un nom de
commande, l’attribut export n’est efficace que pour
l’environnement d’exécution de cette commande, sauf
lorsque l’affectation précède une des commandes intégrées
spéciales. Dans ce cas, l’attribut export reste après l’arrêt de
la commande intégrée. Si l’affectation ne précède pas un nom
de commande ou si l’affectation est un résultat de l’opération
des commandes getopts ou read, l’attribut export reste
jusqu’à ce que la variable soit retirée.
–e
Provoque la sortie immédiate d’une commande si toutes les
conditions suivantes sont réunies :
. elle renvoie une valeur supérieure à zéro,
. elle n’est pas un élément de la liste d’une commande
while, until ou if,
. elle n’est pas en cours de test via des listes AND ou OR,
. elle n’est pas un pipeline précédé du mot réservé ! (point
d’exclamation).
–f
Désactive la substitution de noms de fichiers.
–h
Localise et mémorise les commandes appelées par les
fonctions au moment de leur définition. (Normalement, ces
commandes sont localisées au moment de l’exécution de la
fonction ; reportez–vous à la description de la commande
hash, page 12-78).
–k
Place tous les mots–clés dans l’environnement d’une
commande (et pas seulement ceux qui précèdent le nom de
commande).
–n
Lit les commandes sans les exécuter. Pour contrôler les
erreurs de syntaxe de script shell, utilisez l’indicateur –n.
–t
Quitte après lecture et exécution d’une seule commande.
–u
Traite toute variable non définie comme une erreur et sort
immédiatement après avoir opéré la substitution de variable.
Un shell interactif ne permet pas de sortie.
–v
Affiche les lignes d’entrée au fur et à mesure de leur lecture.
–x
Affiche les commandes et leurs arguments avant leur
exécution.
––
Ne modifie pas les indicateurs. Utile pour définir le paramètre
positionnel $1 par une chaîne commençant par un tiret (– ).
Shells
12-79
Un signe + (plus) à la place d’un signe – (moins) désactive les
indicateurs. Vous pouvez aussi spécifier ces indicateurs sur la
ligne de commande du shell. La variable spéciale $– contient
l’ensemble des indicateurs courants.
Tout Argument se rapportant à la commande set devient un
paramètre positionnel et est attribué, en ordre, à $1, $2,...,
etc. Si vous ne spécifiez pas d’ indicateur ou d’ argument, la
commande set affiche tous les noms et valeurs des variables
shell actuelles.
shift [ n ]
Décale les arguments de la ligne de commande vers la
gauche ; autrement dit, réaffecte les paramètres positionnels en
rejetant la valeur courante de $1 et en réaffectant la valeur de
$2 à $1, de $3 à $2, etc. S’il y a plus de 9 arguments, le 10ème
est affecté à $9 et s’ils en restent d’autres, ils ne sont pas
affectés (jusqu’au prochain shift). S’il y a 9 arguments (ou
moins), la commande shift annule l’affectation du paramètre
positionnel doté du numéro le plus élevé.
Le paramètre positionnel $0 n’est jamais décalé. La commande
shift n est une notation abrégée qui permet de spécifier n
décalages consécutifs. La valeur par défaut de n est 1.
test Expression |
[ Expression ]
Evalue des expressions conditionnelles. Reportez–vous à la
description de la commande test. L’indicateur –h n’est pas
accepté par la commande de test intégrée dans bsh.
times
Affiche les temps cumulés utilisateur et système, pour le shell et
les process exécutés à partir de celui–ci.
trap [ Commande ] [ n ]
. . .
Exécute la commande spécifiée par le paramètre
correspondant lorsque le shell reçoit le ou les signaux
déterminés par n. Les commandes trap sont exécutées dans
l’ordre des numéros des signaux. Toute tentative de définir un
traitement d’interruption sur un signal qui a été ignoré en entrée
du shell courant est sans effet.
Remarque : Le shell balaye le paramètre Commande une
première fois lorsque le traitement d’interruption est défini,
puis de nouveau à l’exécution du traitement.
Si vous ne spécifiez pas de commande, tous les traitements
d’interruption spécifiés par n sont restaurés à leurs valeurs
courantes. Si la chaîne spécifiée est vide, le shell et les
commandes appelées ignorent le signal. Si n vaut 0 (zéro),
la commande est exécutée lorsque vous quittez le shell.
Si vous n’avez spécifié ni commande ni signal, la commande
trap affiche la liste des commandes associées à un numéro
de signal.
type [ Nom . . . ]
12-80
Indique l’interprétation à donner à chaque Nom spécifié,
lorsqu’utilisé comme nom de commande.
AIX Guide de l’utilisateur – Système d’exploitation et unités
ulimit [ –HS ] [ – c | –d | Affiche ou ajuste les ressources shell affectées. Les paramètres
–f | –m | –s | –t ]
des ressources shell peuvent être affichés individuellement ou
[ limite ]
en groupe. Par défaut, les ressources sont affichées avec leur
limite logicielle, ou leur borne inférieure, en tant que groupe.
L’affectation des ressources shell dépend de l’ID utilisateur
effectif du shell courant. Le niveau matériel d’une ressource ne
peut être défini si cet ID n’est pas celui de l’utilisateur root. Une
erreur est générée si vous n’êtes pas un utilisateur root ou si
vous essayez de définir le niveau matériel de ressource. Par
défaut, l’utilisateur root définit les limites à la fois logicielles et
matérielles des ressources. Il doit donc être particulièrement
vigilant lors de l’emploi des indicateurs –S, –H ou de l’indicateur
par défaut. A moins que vous ne soyez un utilisateur root, vous
ne pouvez définir que la limite logicielle d’une ressource. Si
vous modifiez une limite à la baisse, vous ne pourrez plus
l’augmenter à nouveau, même pour la ramener à son niveau
antérieur.
Pour définir les limites d’une ressource, sélectionnez l’indicateur
ad hoc et la valeur souhaitée (obligatoirement un entier). Vous
ne pouvez définir qu’une ressource à la fois : si vous spécifiez
plusieurs indicateurs de ressources, vous risquez d’obtenir des
résultats indéfinis. Par défaut, ulimit suivi d’une simple valeur
définit la taille des fichiers du shell. L’indicateur –f est facultatif.
La commande ulimit accepte les indicateurs suivants :
–c
Définit ou affiche un segment central du shell.
–d
Définit ou affiche un segment de données du shell.
–f
Définit ou affiche la taille des fichiers shell.
–H
Définit ou affiche la limite matérielle d’une ressource
(utilisateur racine exclusivement).
–m
Définit ou affiche la mémoire shell.
–s
Définit ou affiche un segment de pile du shell.
–S
Définit ou affiche la limite logicielle d’une ressource.
–t
Définit ou affiche le temps CPU maximal pour le shell.
umask [ nnn ]
Détermine les droits d’accès au fichier. Cette valeur, associée
aux droits du process créateur, définit les droits sur un fichier, à
sa création (valeur par défaut 022). La valeur par défaut
est 022. Si aucune valeur n’est entrée, umask affiche la valeur
courante.
Shells
12-81
unset [ Nom . . .]
Supprime la variable ou la fonction correspondant à chaque
Nom spécifié. La définition des variables PATH, PS1, PS2,
MAILCHECK et IFS ne peut être supprimée.
wait [ n ]
Attend la fin de l’exécution du process enfant spécifié par n
pour sortir, puis renvoie l’état de sortie de ce process. Si n est
omis, le shell attend la fin de tous les process enfants actifs et
renvoie la valeur 0.
Substitution de commandes (shell Bourne).
La substitution de commandes permet de définir comme argument d’une commande le
résultat d’une autre commande. Si vous encadrez une ligne de commande d’apostrophes
inverses ‘‘, le shell exécute d’abord la (les) commande(s), puis remplace l’intégralité de
l’expression (apostrophes inverses comprises) par le résultat. Cette fonction est souvent
utilisée pour affecter des variables shell. Par exemple, l’instruction :
today=‘date‘
affecte à la variable today la chaîne représentant la date courante. L’affectation suivante
enregistre, dans la variable files, le nombre de fichiers du répertoire courant:
files=‘ls | wc –l‘
La substitution de commande peut être exécutée sur n’importe quelle commande dont le
résultat est envoyé en sortie standard.
Pour imbriquer des substitutions, faites précéder chaque apostrophe inverse imbriquée
d’une barre oblique inverse (\), comme suit :
logmsg=‘echo Your login directory is \‘pwd\‘‘
Vous pouvez également attribuer indirectement des valeurs aux variables shell via la
commande intégrée read, page 12-78. Cette commande lit une ligne à partir de l’entrée
standard (le clavier généralement) et affecte successivement les mots de cette ligne aux
variables nommées. Par exemple :
read first init last
lit une ligne de la forme :
J. Q. Public
avec le même effet que si vous aviez entré :
first=J. init=Q. last=Public
La commande spéciale read affecte les mots résiduels à la dernière variable.
12-82
AIX Guide de l’utilisateur – Système d’exploitation et unités
Substitution de variables et de noms de fichiers (shell Bourne)
Le shell Bourne autorise la substitution de variables et de noms de fichiers.
Les sections suivantes traitent de la création et de la substitution de variables dans le shell
Bourne :
•
Substitution de variables (shell Bourne), page 12-83
•
Variables définies par l’utilisateur, page 12-83
•
Substitution conditionnelle, page 12-87
•
Paramètres positionnels, page 12-88
•
Substitution de noms de fichiers (shell Bourne), page 12-84
•
Classes de caractères, page 12-89
Substitution de variables (shell Bourne)
Différents mécanismes sont disponibles pour créer des variables (affecter une valeur de
chaîne à un nom). Certaines variables, certains paramètres positionnels et certains
mots–clés ne peuvent normalement être spécifiés qu’à partir d’une ligne de commande.
D’autres variables sont des noms auxquels peuvent être attribuées (par vous ou par le
shell) des valeurs de chaîne.
Variables définies par l’utilisateur
Le shell identifie les variables alphanumériques auxquelles des valeurs de chaîne peuvent
être affectées. Pour affecter une valeur de chaîne à un nom, tapez :
Name=Chaîne
Un nom est une série de lettres, de chiffres et de traits de soulignement commençant par un
trait de soulignement ou une lettre. Pour utiliser la valeur assignée à une variable, faites
précéder le nom d’un signe dollar ($). La variable $Name, par exemple, utilise la valeur
spécifiée par la variable Chaîne. Notez l’absence d’espaces de part et d’autre du signe égal
(=) dans une instruction d’affectation. Les paramètres positionnels ne peuvent apparaître
dans une instruction d’affectation : ils ne peuvent être définis que comme décrit à la section
Paramètres positionnels, page 12-88. Une ligne de commande peut comporter plusieurs
instructions d’affectation, mais n’oubliez pas que le shell les exécute de la droite vers la
gauche.
Si vous encadrez la variable Chaîne de guillemets ou d’apostrophes (” ou ’), le shell
n’interprète pas les caractères blancs, tabulations, deux–points et nouvelle ligne de la
chaîne comme des délimiteurs, mais les imbrique littéralement dans la chaîne.
Si vous encadrez la variable Chaîne de guillemets (”), le shell reconnaît les variables de la
chaîne et effectue les substitutions correspondantes, c’est–à–dire, remplace les références
à des paramètres positionnels et autres noms de variable précédés du signe dollar ($) par
leurs valeurs correspondantes. Le shell effectue également la substitution de commande
dans les chaînes entre guillemets.
Si vous encadrez la variable Chaîne d’apostrophes (’), le shell n’effectue pas de
substitution de variable ou de commande dans la chaîne. L’exemple suivant en est une
illustration :
You:
System:
You:
System:
num=875
number1=”Add $num”
number2=’Add $num’
echo $number1
Add 875
echo $number2
Add $num
Shells
12-83
Le shell ne réinterprète pas les blancs dans les affectations après la substitution
de variable. $first et $second ont donc la même valeur :
first=’a string with embedded blanks’
second=$first
Pour référencer une variable, vous pouvez placer son nom (ou le chiffre désignant le
paramètre positionnel) entre accolades { } pour le séparer de la chaîne suivante. En
particulier, lorsque le caractère qui suit immédiatement le nom est une lettre, un chiffre
ou un trait de soulignement, et que la variable n’est pas un paramètre positionnel,
les accolades sont obligatoires :
You:
System:
You:
System:
a=’This is a’
echo ”${a}n example”
Par exemple :
echo ”$a test”
This is a test
Pour plus d’informations sur l’utilisation des accolades dans les substitutions
de variables, reportez–vous à la section Substitution conditionnelle, page 12-87.
Variables utilisées par le shell
Le shell utilise les variables suivantes. Certaines sont définies par le shell,
mais pouvez toutes les définir ou les redéfinir.
CDPATH
Chemin de recherche utilisé par la commande cd (changement de
répertoire).
HOME
Indique le nom de votre répertoire de connexion, qui est le répertoire
courant dès que la connexion est établie. Cette variable est initialisée
par le programme login. La commande cd utilise par défaut la valeur
de la variable $HOME. Utiliser cette variable plutôt qu’un nom de
chemin explicite dans une procédure shell permet d’exécuter la
procédure à partir d’un répertoire différent sans modification.
IFS
Séparateurs de zones internes, utilisés par le shell pour l’interprétation
des blancs. Voir Interprétation des blancs, page 12-87. La variable
IFS comprend initialement les caractères blanc, tabulation et nouvelle
ligne.
LANG
Environnement local à utiliser pour les catégories locales, lorsque ni la
variable LC_ALL, ni la variable d’environnement correspondante
(commençant par LC_) n’en spécifient. Pour plus d’informations sur
les paramètres régionaux, voir la section relative à la présentation des
environnements locaux du manuel AIX 5L Version 5.3 National
Language Support Guide and Reference.
LC_ALL
Environnement local à utiliser pour remplacer les valeurs des
catégories locales spécifiées par la variable LANG ou par d’autres
variables d’environnement commençant par LC_.
LC_COLLATE
Ordre pour le tri des noms et pour la définition d’intervalles de
caractères dans les trames.
LC_CTYPE
Environnement local pour interpréter des séquences d’octets de
données comme des caractères (c’est–à–dire, différencier les
caractères mono–octet des caractères multi–octets dans les
arguments et les fichiers entrée), ces caractères étant définis comme
des lettres (classe alpha), ainsi que le comportement des classes de
caractères dans les recherches génériques.
LC_MESSAGES Langue dans laquelle sont écrits les messages.
12-84
LIBPATH
Chemin d’accès aux bibliothèques partagées.
LOGNAME
Nom de connexion, marqué readonly dans le fichier etc/profile.
AIX Guide de l’utilisateur – Système d’exploitation et unités
MAIL
Chemin d’accès au fichier utilisé par la messagerie pour détecter
l’arrivée de courrier. Si cette variable est définie, le shell vérifie
périodiquement l’heure à laquelle le fichier a été modifié, et affiche la
valeur de $MAILMSG si cette heure a changé et que la longueur du
fichier est positive. Déclarez la variable MAIL dans le fichier .profile.
Les utilisateurs de la commande mail lui affectent généralement la
valeur /usr/spool/mail/$LOGNAME.
MAILCHECK
Délai (en secondes) entre deux ”levées” de courrier par le shell dans
les fichiers spécifiés par les variables MAILPATH ou MAIL. La valeur
par défaut est 600 secondes (10 minutes). Si vous attribuez à la
variable MAILCHECK la valeur 0, le shell effectue une vérification
avant chaque invite.
MAILMSG
Message de notification de courrier. Si vous définissez explicitement la
variable MAILMSG par une chaîne vide (MAILMSG=””), aucun
message ne s’affiche.
MAILPATH
Liste de noms de fichier, séparés par deux points ( : Si cette variable
est définie, le shell vous informe de l’arrivée de courrier dans l’un des
fichiers de la liste. Vous pouvez faire suivre chaque nom de fichier d’un
signe % et d’un message qui s’affichera à l’arrivée de courrier. Sinon, le
shell utilise la valeur de la variable MAILMSG ou, par défaut, le
message [YOU HAVE NEW MAIL].
Remarque : Lorsque la variable MAILPATH est définie, ce sont les
fichiers correspondants qui sont vérifiés et non le fichier défini par la
variable MAIL. Pour contrôler à la fois les fichiers définis par la
variable MAILPATH et par la variable MAIL, incluez le fichier MAIL
dans la liste de fichiers MAILPATH.
CHEMIN
Chemin d’accès aux commandes, sous forme de liste de chemins à
des répertoires, séparés par des deux points. Lorsqu’il recherche une
commande, le shell explore ces répertoires dans l’ordre spécifié. Le
répertoire courant est représenté par une chaîne nulle.
La variable PATH est habituellement initialisée dans le fichier
/etc/environment, en général par /usr/bin:/etc:/usr/sbin:/usr/ucb:
/usr/bin/X11:/sbin. Vous pouvez redéfinir cette variable en fonction de
vos besoins. La variable PATH de votre fichier .profile comporte
également $HOME/bin et votre répertoire courant.
Si vous avez défini un répertoire de commandes spécial pour vos
projets, /projet/bin par exemple, que vous souhaitez explorer en
premier, définissez la variable PATH comme suit :
PATH=/project/bin:$PATH
Pour affecter à la variable PATH une autre valeur, insérez–la de
préférence dans le fichier $HOME/.profile. Vous ne pouvez pas
redéfinir la variable PATH si vous exécutez des commandes dans le
shell restreint.
PS1
Chaîne constituant l’invite système principale. Cette chaîne est
affichée par un shell interactif pour signifier qu’il attend une entrée. La
valeur par défaut de PS1 est $ suivi d’un espace, pour les utilisateurs
non racine.
PS2
Chaîne constituant l’invite secondaire. La variable PS2 est affichée par
le shell pour signifier qu’il attend une suite lorsqu’il rencontre un
caractère nouvelle ligne. La valeur par défaut de la variable PS2 est
>. suivi d’un blanc.
Shells
12-85
SHACCT
Nom d’un de vos fichiers. Si cette variable est définie, le shell inscrit un
enregistrement comptable à chaque exécution d’un script shell dans
ce fichier. Vous disposez ensuite de programmes de comptabilité, tels
que acctcom et acctcms pour analyser les données collectées.
SHELL
Chemin d’accès au shell, enregistré avec l’environnement. Cette
variable doit être définie et exportée par le fichier $HOME/.profile de
chaque connexion restreinte.
TIMEOUT
Délai d’inactivité (en minutes) au bout duquel le shell quitte. Si cette
variable est affectée d’une valeur supérieure à zéro (0), le shell quitte
si aucune commande n’est lancée dans le délai prescrit, après
l’affichage de l’invite PS1. (Notez que le shell peut être compilé avec
l’indication d’une limite maximale pour le délai.) Les paramètres sont
séparés par des espaces.
Variables spéciales prédéfinies
Plusieurs variables ont des significations spéciales. Voici les variables qui ne peuvent être
définies que par le shell :
$@
Développe les paramètres positionnels, en commençant par $1. Les paramètres
sont séparés par des espaces.
Si vous encadrez $@ de guillemets (”), le shell interprète chaque paramètre
positionnel comme une chaîne distincte. En l’absence de paramètre positionnel, le
shell développe l’instruction en chaîne nulle non déclarée.
$*
Développe les paramètres positionnels, en commençant par $1. Le shell sépare
chaque paramètre par le premier caractère de la variable IFS.
Si vous encadrez $* de guillemets (”), le shell encadre de guillemets les valeurs du
paramètre positionnel. Les valeurs sont séparées par le premier caractère de la
valeur de la variable IFS.
$#
Spécifie le nombre (décimal) de paramètres positionnels transmis au shell, nom de
la procédure shell elle–même exclu. Le paramètre $# génère donc le paramètre
positionnel ayant la valeur la plus élevée. Ce paramètre sert principalement à
vérifier que le nombre d’arguments requis est présent. Seuls les paramètres
positionnels $0 à $9 sont accessibles via le shell. Pour en savoir plus,
reportez–vous à Paramètres positionnels, page 12-88.
$?
Renvoie la valeur de la dernière commande exécutée. Il s’agit d’une chaîne
décimale. La plupart des commandes renvoient 0 pour indiquer qu’elles ont été
correctement exécutées. Le shell renvoie la valeur courante de la variable$?
comme valeur de sortie.
$$
Numéro de process du process courant. Un numéro de process étant unique, cette
chaîne est souvent utilisée pour générer des noms uniques pour les fichiers
temporaires.
L’exemple suivant illustre comment créer des fichiers temporaires dans un répertoire
réservé à cet effet :
temp=/tmp/$$
ls >$temp
.
.
.
rm $temp
12-86
$!
Numéro de process de la dernière commande d’arrière–plan invoquée via la
terminaison &.
$–
Chaîne constituée des noms des indicateurs d’exécution, actuellement définis dans
le shell.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Interprétation des blancs
Après exécution des substitutions de variables et de commandes, le shell balaye les
résultats, à la recherche des séparateurs de zones (définis dans la variable IFS). A chaque
occurrence d’un séparateur, il partage la ligne en mots distincts, séparés par des espaces. Il
conserve les arguments nuls explicites (”” ou ”), mais élimine les implicites (résultant de
paramètres non renseignés).
Substitution conditionnelle
En général, le shell remplace l’expression $Variable par la chaîne affectée, le cas échéant à
la variable Variable. Une notation spéciale permet cependant d’exécuter une substitution
conditionnelle, selon que la variable est spécifiée ou non nulle, ou les deux à la fois. Par
définition, une variable est définie lorsqu’une valeur lui a été affectée. La valeur d’une
variable peut être la chaîne nulle, que vous pouvez affecter d’une des façons suivantes :
A=
bcd=””
Efg=’’
Affecte la chaîne vide à A, bcd et Efg.
set ’’
””
Affecte la chaîne nulle aux premier et deuxième paramètres positionnels, et
annule la définition des autres.
Voici la liste des expressions utilisables dans une substitution conditionnelle.
${ Variable – Chaîne }
Si la variable est définie, remplace l’expression par la valeur
Variable. Sinon, la remplace par la valeur Chaîne.
${ Variable:– Chaîne }
Si la variable est définie et non nulle, remplace l’expression
par la valeur Variable. Sinon, la remplace par la valeur
Chaîne.
${ Variable = Chaîne }
Si la variable est définie, remplace l’expression par la valeur
Variable. Sinon, remplace la valeur Variable par la valeur
Chaîne, puis l’expression par la valeur Variable. Vous ne
pouvez pas affecter ainsi des valeurs aux paramètres
positionnels.
${ Variable:= Chaîne }
Si la variable est définie et non nulle, remplace l’expression
par la valeur Variable. Sinon, remplace la valeur Variable par
la valeur Chaîne, puis l’expression par la valeur Variable.
Vous ne pouvez pas affecter ainsi des valeurs aux
paramètres positionnels.
${ Variable ? Chaîne }
Si la variable est définie, remplace l’expression par la valeur
Variable. Sinon, affiche un message de la forme suivante :
Variable : Chaîne
et sort du shell courant (sauf s’il s’agit du shell de
connexion). Si Chaîne est omis, le shell affiche le message
suivant :
Variable : paramètre nul ou non défini
${ Variable:? Chaîne }
Si la variable est définie et non nulle, remplace l’expression
par la valeur Variable. Sinon, affiche un message de la forme
suivante :
Variable
:
Chaîne
et sort du shell courant (sauf s’il s’agit du shell de
connexion). Si Chaîne est omis, le shell affiche le message
suivant :
Variable : paramètre nul ou non défini
Shells
12-87
${ Variable + Chaîne }
Si la variable est définie, remplace l’expression par la valeur
de Chaîne. Sinon, lui substitue la chaîne nulle.
${ Variable:+ Chaîne }
Si la variable est définie et non nulle, remplace l’expression
par la valeur de Chaîne. Sinon, lui substitue la chaîne nulle.
Lorsqu’il exécute une substitution conditionnelle, le shell n’évalue la variable Chaîne qu’au
moment où il l’utilise comme chaîne de substitution. Ainsi, dans l’exemple suivant, le shell
n’exécute la commande pwd que lorsque d est nul ou non spécifié :
echo ${d:–‘pwd‘}
Paramètres positionnels
Lorsque vous exécutez une procédure shell, le shell crée implicitement des paramètres
positionnels qui référencent les mots de la ligne de commande par leur position sur la ligne.
Le mot en position 0 (nom de la procédure) est appelé $0, le mot suivant (premier
paramètre) $1, etc, jusqu’à $9. Pour référencer des paramètres au–delà de 9, passez par la
commande intégrée shift, page 12-80.
Pour redéfinir explicitement des paramètres positionnels, vous disposez de la commande
intégrée set, page 12-79.
Remarque : Lorsqu’une position n’est pas spécifiée, son paramètre positionnel est nul.
Les paramètres positionnels sont globaux et peuvent donc être transmis aux procédures
shell imbriquées.
Substitution de noms de fichiers (shell Bourne)
Les paramètres de commande sont souvent des noms de fichiers. Vous pouvez générer
automatiquement une liste de noms de fichier comme paramètres d’une ligne de
commande. Pour ce faire, spécifiez un caractère que le shell identifie comme
métacaractère. Si une commande contient ce caractère, le shell remplace le caractère par
le nom de fichier enregistré dans un répertoire.
Remarque : Le shell Bourne n’autorise pas le développement de nom de fichier basé
sur la classification des caractères par équivalence.
En général, un métacaractère correspond à une lettre alphabétique, mais vous pouvez
utiliser des métacaractères spéciaux dans votre trame. Il s’agit des caractères suivants :
*
Correspond à n’importe quelle chaîne, chaîne nulle comprise
?
Correspond à un seul caractère (quelconque)
[ ... ]
Correspond à n’importe quel caractère entre crochets
[! . . . ]
Correspond à n’importe quel caractère entre crochets autre que ceux
spécifiés à la suite du point d’exclamation
Mise entre crochets, une paire de caractères séparés par un tiret (–), correspond à
n’importe quel jeu de caractères compris lexicalement entre ces deux valeurs (selon l’ordre
de classement binaire des caractères).
L’utilisation de trames souffre quelques restrictions. Si le premier caractère d’un nom de
fichier est un point (.), il ne peut être mis en correspondance qu’avec une trame
commençant aussi par un point. Par exemple, * (astérisque) correspond aux fichiers
monfichier et votrefichier, mais pas aux fichiers.monfichier et .votrefichier. Pour ces
fichiers, utilisez, par exemple :
.*file
Si la recherche n’aboutit pas, c’est la trame elle–même qui est renvoyée en sortie.
Excluez des noms de fichiers et de répertoires les caractères *, ?, [ et ] : ils risquent de
provoquer une boucle infinie lors des recherches sur la base de trames.
12-88
AIX Guide de l’utilisateur – Système d’exploitation et unités
Classes de caractères
Pour faire correspondre des noms de fichiers, vous disposez également des classes de
caractères :
[[:
charclass :]]
Avec ce format, le système établit une correspondance avec chacun des caractères
appartenant à la classe spécifiée. Les classes définies correspondent aux sous–routines
ctype, comme suit :
Classe de caractères
Définition
alnum
Caractères alphanumériques
alpha
Majuscules et minuscules
blank
Espace ou tabulation horizontale
cntrl
Caractères de contrôle
digit
Chiffres
graph
Caractères graphiques
lower
Minuscules
print
Caractères imprimables
punct
Caractères de ponctuation
space
Espace, tabulation horizontale, retour chariot, nouvelle ligne,
tabulation verticale ou page suivante
upper
Lettres majuscules
xdigit
Chiffres hexadécimaux
Shells
12-89
Réacheminement des entrées/sorties (shell Bourne)
La plupart des commandes ignorent l’origine de leurs entrées et la destination de leurs
sorties (clavier, écran ou fichier). Une commande peut donc être lancée aussi bien via
le clavier que via un pipeline.
Les options ci–après peuvent apparaître n’importe où dans une commande simple.
Elles peuvent aussi la précéder ou la suivre, mais ne peuvent lui être transmises.
< Fichier
Ouvre le fichier comme entrée standard.
> Fichier
Ouvre le fichier comme sortie standard. Crée le fichier s’il n’existe pas,
le tronque à une longueur nulle sinon.
> > Fichier
Ouvre le fichier comme sortie standard. Créer le fichier s’il n’existe pas,
y ajoute les sorties sinon.
<< [–] eofstr
Lit toutes les lignes à partir de la variable eofstr jusqu’à la ligne ne
contenant que eofstr ou un caractère de fin de fichier. Si un des
caractères de eofstr est déclaré, le shell n’interprète ni ne développe
aucun caractère des lignes d’entrée. Sinon, il exécute la substitution de
commande et de variable et ignore le caractère nouvelle ligne déclaré
(\newline). Pour déclarer des caractères de la variable eofstr ou dans
les lignes d’entrée, faites–les précéder d’une barre oblique inverse (\).
Si vous ajoutez un tiret (– ) à l’<< option de réacheminement, toutes
les tabulations en tête de la variable eofstr et des lignes d’entrée sont
supprimées.
<& Chiffre
Associe l’entrée standard au descripteur de fichier spécifié par Chiffre.
>& Chiffre
Associe l’entrée standard au descripteur de fichier spécifié par Chiffre.
<&–
Ferme l’entrée standard.
>&–
Ferme la sortie standard.
Remarque : Le shell restreint n’autorise pas le réacheminement des sorties.
Pour en savoir plus sur le réacheminement, voir Réacheminement des entrées/sorties,
page 5-1.
12-90
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liste des commandes intégrées (shell Bourne)
:, page 12-77
Renvoie un état de sortie nul.
., page 12-77
Lit et exécute les commandes d’un fichier et revient au shell.
break, page 12-77
Sort, le cas échéant, de la boucle for, while ou until.
cd, page 12-77
Passe au répertoire spécifié.
continue, page 12-77
Reprend à l’itération suivante de la boucle for, while ou
until.
echo, page 12-77
Ecrit les chaînes de caractères sur la sortie standard.
eval, page 12-77
Lit les arguments comme entrée et exécute la ou les
commandes qui en résultent.
exec, page 12-77
Exécute, à la place du shell, la commande spécifiée par
Argument, sans créer de nouveau process.
exit, page 12-77
Quitte le shell dont l’état de sortie est spécifié par le
paramètre n.
export, page 12-77
Marque les noms spécifiés, pour exportation automatique
vers l’environnement des commandes ultérieures.
hash, page 12-78
Recherche et mémorise l’emplacement du chemin d’accès
aux commandes spécifiées.
pwd, page 12-78
Affiche le répertoire courant.
read, page 12-78
Lit une ligne de l’entrée standard.
readonly, page 12-78
Marque en lecture seule le Nom spécifié.
return, page 12-78
Provoque la fin d’une fonction, avec une valeur de retour
donnée.
set, page 12-79
Contrôle l’affichage de divers paramètres sur la sortie
standard.
shift, page 12-80
Décale vers la gauche les arguments de la ligne de
commande.
test, page 12-80
Evalue des expressions conditionnelles.
times, page 12-80
Affiche les temps cumulés utilisateur et système, pour le
shell et les process exécutés à partir de celui–ci.
trap, page 12-80
Exécute une commande donnée lorsque le shell reçoit un ou
plusieurs signaux déterminés.
type, page 12-80
Indique l’interprétation à donner à chaque nom spécifié,
lorsqu’utilisé comme nom de commande.
ulimit, page 12-81
Affiche ou ajuste les ressources shell affectées.
umask, page 12-81
Détermine les droits d’accès au fichier.
unset, page 12-82
Supprime la variable ou la fonction correspondant au nom
spécifié.
wait, page 12-82
Attend la fin de l’exécution du process enfant et indique son
état à la sortie.
Shells
12-91
Shell C : généralités
Le shell C est un interpréteur de commandes interactif et un langage de programmation.
Il utilise une syntaxe qui est similaire au langage de programmation C. La commande csh
lance le shell C.
Lorsque vous vous connectez, la commande csh recherche tout d’abord le fichier de
lancement /etc/csh.cshrc. propre à l’ensemble du système. Si ce fichier existe, le shell C
exécute la commande stockée dans ce fichier. Il exécute ensuite le fichier /etc/csh.login
(si celui–ci est disponible). Il explore enfin votre répertoire personnel à la recherche des
fichiers .cshrc et .login : ces fichiers (s’ils existent) contiennent des informations
personnalisées sur l’exécution du shell C. Toutes les variables éventuellement définies
dans les fichiers .cshrc et .login (de votre répertoire $HOME) priment sur celles des
fichiers /etc/csh.cshrc et /etc/csh.login. Seul un utilisateur racine peut modifier les fichiers
/etc/csh.cshrc et /etc/csh.login.
Les fichiers /etc/csh.cshrc et $HOME/.cshrc sont exécutés lors de la connexion et à
chaque fois que la commande csh ou un shell C est appelé. Ils sont généralement utilisés
pour définir les caractéristiques du shell C, comme les alias et les variables de shell C
(par exemple, history, noclobber ou ignoreeof). Il est recommandé de n’utiliser que les
commandes intégrées du shell C (reportez–vous à la section Commandes intégrées (shell
C), page 12-94) dans les fichiers /etc/csh.cshrc et $HOME/.cshrc car l’utilisation d’autres
commandes peut allonger le temps de démarrage des scripts shell.
Cette section traite des points suivants :
• Règles d’utilisation, page 12-93
• Traitement des signaux, page 12-93
• Commandes du shell C, page 12-94
– Commandes intégrées (shell Bourne), page 12-94
– Expressions et opérateurs (shell C), page 12-101
– Substitution de commandes (shell C), page 12-103
– Exécution des commandes shell C non intégrées, page 12-103
• Substitution d’historique (shell C), page 12-104.
– Liste d’historique, page 12-104
– Spécification d’événement, page 12-105
– Guillemets et apostrophes, page 12-106
• Substitution d’alias (shell C), page 12-107
• Substitution de variables et de noms de fichiers (shell C), page 12-108
– Substitution de variable (shell C), page 12-108.
– Substitution de nom de fichier (shell C), page 12-110
– Développement de nom de fichier, page 12-110
– Abréviation de nom de fichier, page 12-111
–
Classes de caractères, page 12-112
• Variables d’environnement (shell C), page 12-113
• Réacheminement des entrées/sorties (shell C), page 12-116
• Contrôle des travaux (shell C), page 12-118
• Shell C, page 12-122
12-92
AIX Guide de l’utilisateur – Système d’exploitation et unités
Règles d’utilisation
Voici les règles applicables au shell C :
• Les mots ne peuvent dépasser 1024 octets.
• Les listes d’arguments sont limitées à ARG_MAX octets. La variable ARG_MAX est
définie dans le fichier /usr/include/sys/limits.h.
• Le nombre d’arguments d’une commande impliquant le développement de noms de
fichiers est limité à 1/6ème du nombre de caractères autorisés dans une liste
d’arguments.
• Les substitutions de commandes ne peuvent porter sur un nombre de caractères
supérieur à celui autorisé dans une liste d’arguments.
• Pour détecter les boucles, le shell limite à 20 le nombre de substitutions d’alias sur une
seule ligne.
• La commande cshcsh ne prend pas en charge le développement de noms de fichiers
basés sur la classification des caractères par équivalence.
• Les descripteurs de fichiers (autres que les entrées et sorties standard et les erreurs
standard) ouverts avant que la commande csh n’exécute d’application ne sont pas
disponibles pour cette application.
Traitement des signaux
Le shell C ignore normalement les signaux quit. Les travaux exécutés distinctement ne sont
pas affectés par les signaux générés par le clavier (INTERRUPT, QUIT et HANGUP). Les
autres signaux ont la valeur que le shell hérite de son parent. Vous pouvez contrôler le
mode de gestion des signaux d’INTERRUPTION et de TERMINAISON dans les procédures
shell au moyen de onintr. Les shells de connexion interceptent ou ignorent les signaux
TERMINATE suivant leur configuration. Les autres shells les passent aux process enfants.
En aucun cas, les interruptions (signaux INTERRUPT) ne sont autorisées lorsqu’un shell de
connexion est en train de lire le fichier .logout.
Shells
12-93
Commandes du shell C
Une commande simple est une séquence de mots, séparés par des espaces ou des
tabulations.
Un mot est une séquence de caractères et/ou de chiffres, sans espaces non délimités. Sont
également considérés comme des mots les caractères suivants, lorsqu’ils sont utilisés
comme séparateurs de commandes ou caractères de terminaison :
&
&&
<
|
||
>
;
<<
(
> >
)
Ces caractères peuvent faire partie d’un autre mot. Toutefois, les faire précéder d’une barre
oblique inverse (\), empêche le shell de les interpréter comme des caractères spéciaux.
Les chaînes entourées par ’ ’ ou ” ” (guillemets) ou par des apostrophes inverses
peuvent également former des parties de mots. Les espaces, tabulations et caractères
spéciaux ne constituent pas des mots distincts lorsqu’ils sont encadrés de ces signes.
Vous pouvez également encadrer le caractère nouvelle ligne sous réserve de le faire
précéder d’une barre oblique inverse ( \).
Le premier mot d’une commande simple (numéroté 0) précise généralement le nom de la
commande. Les autres mots, à quelques exceptions près, sont passés à cette commande.
Si la commande spécifie un fichier exécutable qui est un programme compilé, le shell
exécute immédiatement le programme. Si le fichier exécutable n’est pas un programme
compilé, le shell suppose qu’il s’agit d’une procédure shell. Le shell lance alors une autre
instance de lui–même (un sous–shell) pour lire le fichier et exécuter les commandes qu’il
contient.
Cette section traite des points suivants :
•
Commandes intégrées (shell Bourne), page 12-94
•
Expressions et opérateurs (shell C), page 12-101
•
Substitution de commandes (shell C), page 12-103
•
Exécution des commandes shell C non intégrées, page 12-103
Commandes intégrées (shell C)
Les commandes intégrées sont exécutées à l’intérieur du shell. Si une commande de ce
type constitue un élément d’un pipeline (excepté le dernier), elle est exécutée dans un
sous-shell.
Remarque : Si vous entrez une commande à l’invite du shell C, le système recherche
d’abord une commande intégrée. S’il n’en trouve pas, il explore les répertoires spécifiés
par la variable shell path, à la recherche d’une commande système. Notez que certaines
commandes shell C intégrées portent le même nom que des commandes système : ces
commandes n’ont toutefois pas nécessairement la même fonction. Pour plus
d’informations sur le fonctionnement de la commande, reportez–vous à la description de
la commande concernée.
Si vous lancez, à partir du shell, une procédure dont les premiers caractères sont #!/
ShellPathname, le shell C lance le shell spécifié dans le commentaire pour exécuter la
procédure. Sinon, il exécute le shell par défaut (le shell lié à /usr/bin/sh). Dans ce cas, les
commandes intégrées du shell C ne sont pas reconnues. Pour exécuter les commandes du
shell C, commencez la procédure par la ligne #!/usr/bin/csh.
Reportez–vous à la section Liste des commandes intégrées (shell C), page 12-119 pour
obtenir un classement alphabétique de ces commandes.
12-94
AIX Guide de l’utilisateur – Système d’exploitation et unités
Description des commandes
Voici la liste des commandes intégrées du shell C :
alias [ Nom [ ListeMots ]]
Affiche la liste de tous les alias si aucun paramètre n’est
spécifié. Sinon, affiche l’alias du nom indiqué. Si ListeMots est
une liste de mots, elle est affectée comme alias de la variable
Nom. Ce nom ne peut être alias ou unalias.
bg [ % Travail...]
Place le Travail spécifié ou le travail courant en arrière-plan,
et poursuit, le cas échéant, son exécution.
break
Reprend l’exécution après la fin de la commande foreach ou
while la plus proche.
breaksw
Effectue une interruption (break) à partir d’une commande
switch. Reprend après la commande endsw .
case Label:
Définit un Label dans une commande switch.
cd [ Nom ]
Equivalent à la commande chdir (voir description
ci–dessous).
chdir [ Nom ]
Change le répertoire en cours par celui spécifié par la variable
Nom. Si vous ne spécifiez pas la variable Nom, la commande
change vers votre répertoire local. Si la valeur de la variable
Nom n’est pas un sous–répertoire du répertoire actuel et ne
commence pas par /,./, or../, le shell vérifie chaque
élément de la variable shell cdpath pour déterminer s’il
contient un sous–répertoire correspondant à la variable Nom.
Si la variable Nom est une variable de shell avec une valeur
commençant par une barre oblique ( / ), le shell tente cette
action dans le but de déterminer s’il s’agit ou non d’un
répertoire. La commande chdir et la commande cd sont
équivalentes.
continue
Reprend l’exécution à l’instruction end de la commande
foreach ou while la plus proche.
default:
Libelle le cas default d’une instruction switch. Le cas default
doit suivre tous les autres labels case.
dirs
Affiche la pile de répertoires.
echo
Ecrit les chaînes de caractères sur la sortie standard du shell.
else
Exécute les commandes qui suivent la seconde else dans
une séquence de commande if (Expression) then... else if
(Expression2) then... else... endif.
end
Donne successivement à Nom la valeur de chaque élément
de la Liste et exécute la séquence de commandes entre les
instructions foreach et end correspondantes. Les instructions
foreach et end doivent se trouver seules sur des lignes
distinctes.
L’instruction continue permet de reprendre la boucle, break
de l’interrompre. Lorsque la commande foreach est lue à
partir du terminal, un ? s’affiche pour vous inviter à entrer les
commandes. Les commandes à l’intérieur des boucles,
entrées à l’invite ?, ne sont pas placées dans la liste
d’historique.
Shells
12-95
12-96
endif
Si Expression est vraie, exécute les commandes qui suivent
le premier then. Si else if Expression2 est vraie, exécute les
commandes qui suivent le deuxième then. Si else if
Expression2 est fausse, exécute les Commandes qui suivent
le else. Vous pouvez spécifier autant de paires else–if que
vous le souhaitez. Une seule instruction endif est requise. Le
segment else est facultatif. Les mots else et endif doivent se
trouver en tête de ligne. Le segment if doit se trouver seul sur
une ligne ou suivre une commande else.
endsw
Compare les labels case avec les valeurs de Chaîne. Chaîne
est d’abord développée (commandes et noms de fichiers).
Utilisez les caractères joker *, ?, et [ . . . ] dans les labels
case, dont les variables sont développées. Si aucun des
labels ne correspond, l’exécution démarre après le label
default. Les labels case et default doivent apparaître en
début de ligne. La commande breaksw entraîne la poursuite
de l’exécution après la commande endsw . Sinon, le contrôle
peut passer aux labels case et default, comme dans le
langage C. Si aucun label ne comprend et qu’il n’existe pas
de default, l’exécution se poursuit après la commande
endsw.
eval Paramètre . . .
Lit la valeur de la variable Paramètre comme entrée du shell
et exécute la commande résultante dans le contexte shell
courant. Cette commande permet d’exécuter des commandes
générées par le résultat de substitution de commandes ou de
variables, dans la mesure où l’analyse intervient avant ces
substitutions.
exec Commande
Exécute la Commande spécifiée, à la place du shell courant.
exit [ ( Expression )
Quitte le shell avec la valeur de la variable shell status (si
aucune Expression n’est spécifiée) ou avec la valeur
Expression spécifiée.
fg [% Travail...]
Amène au premier plan le travail courant ou le travail spécifié
et, le cas échéant, poursuit son exécution.
foreach Nom (Liste)
Commande. . .
Définit tour à tour une variable Nom pour chaque membre
spécifié par la variable Liste et une séquence de commandes,
jusqu’à atteindre une commande end.
glob Liste
Affiche une liste avec développement de l’historique, des
variables et des noms de fichiers. Les mots sont séparés par
un caractère nul et aucun retour chariot n’est inséré à la fin.
goto Mot
Poursuit l’exécution après la ligne spécifiée par Mot. Mot est
développé (nom de fichier et commande) pour devenir une
chaîne de la forme définie par la variable Label . Le shell
repasse sur l’entrée autant que possible à la recherche d’une
ligne de la forme Label:, éventuellement précédée d’espaces
ou de tabulations.
hashstat
Affiche des statistiques indiquant le pourcentage de
recherches abouties de commandes, par la table de hachage.
history [ –r | –h ] [ n ]
Affiche les listes des événements de l’historique. Cet
affichage s’effectue par ordre chronologique. Si n est spécifié,
seuls les n événements les plus récents sont affichés.
L’indicateur –r inverse l’ordre d’affichage (événement le plus
récent le premier). L’indicateur –h affiche la liste sans chiffres
en tête. Servez–vous en pour générer des fichiers
exploitables avec l’indicateur –h de la commande source.
AIX Guide de l’utilisateur – Système d’exploitation et unités
if (Expression)
Commande
Exécute la Commande spécifiée (arguments compris) si
Expression est vraie. Les substitutions sur la variable
Commande ont lieu plus tôt, en même temps que pour le
reste de l’instruction if. La commande spécifiée doit être une
commande simple (et non un pipeline, une liste de
commandes ou une liste de commandes entre parenthèses).
Remarque : Les réacheminements d’entrée/sortie
interviennent même si Expression est fausse et que
Commande n’est pas exécutée.
jobs [ –l ]
Liste les travaux actifs. Avec –l (l minuscule), indique, outre
les numéros et les ID de travaux, les ID processus.
kill –l | [[– Signal ] %
Travail...| PID...]
Envoie le signal TERM (terminate), ou celui spécifié par
Signal au Travail ou au PID (process) spécifié. Ces signaux
peuvent être un nom ou un nombre, définis dans le fichier
/usr/include/sys/signal.h (amputés de leur préfixe SIG).
L’indicateur –l (L minuscule) liste les noms de signaux.
limit [ –h ] [ Ressource [
Usage–max ]]
Limite l’usage de la ressource par le process courant et les
process qu’il crée. Ces limites sont définies dans le fichier
/etc/security/limits. Les ressources contrôlables sont : le
temps d’utilisation CPU, la taille des fichiers, la taille des
données, la taille du vidage de la mémoire centrale et
l’utilisation de la mémoire. Les valeurs maximales pour
l’affectation de ces ressources sont définies via la commande
mkuser, au moment de l’ajout de l’utilisateur au système.
Elles peuvent être modifiées à l’aide de la commande chuser.
Les limites sont d’ordre logiciel ou matériel. Les utilisateurs
peuvent définir des limites logicielles, jusqu’aux plafonds
imposés par le matériel. Cependant, seul un utilisateur root
est habilité à modifier les limites matérielles. L’indicateur –h
affiche les limites matérielles.
Si Usage–Max n’est pas spécifié, la commande limit affiche
la limite courante de la ressource spécifiée. Si Ressource
n’est pas spécifiée, elle affiche les limites courantes de toutes
les ressources. Pour en savoir plus sur les ressources
contrôlées par la commande limit, reportez-vous aux
sous-routines getrlimit, setrlimit et vlimit dans le manuel
AIX Technical Reference, Volume 1: Base Operating System
and Extensions: Base Operating System and Extensions
Volume 1.
Le paramètre Usage–Max relatif au temps d’utilisation CPU
est au format hh:mm:ss. Pour les autres ressources, il est
spécifié par un nombre en virgule flottante ou par un entier
éventuellement suivi d’une unité de mesure. Cette unité de
mesure peut être : k ou kilo-octets (1 024 octets), m ou
mega-octets, ou b ou blocs (unités utilisées par la
sous-routine ulimit comme expliqué dans le manuel AIX 5L
Version 5.3 Technical Reference: Base Operating System and
Extensions Volume 2). Si vous ne spécifiez pas d’unité de
mesure, k est utilisé pour toutes les ressources. Pour les
noms de ressources et les unités de mesure, des préfixes non
ambigus suffisent.
Remarque : Cette commande ne limite la mémoire
physique disponible pour un process que si d’autres
process actifs ont besoin de mémoire système.
Shells
12-97
connexion
Met fin à un shell de connexion et le remplace par une
occurrence de la commande /usr/bin/login. C’est un moyen
de se déconnecter (cette commande a été incluse pour des
raisons de compatibilité avec les commandes ksh et bsh).
logout
Termine un shell de connexion. Particulièrement utile si
l’option ignoreeof est active.
nice [ + n ] [ Commande ] Si n n’est pas spécifié, définit à 24 la priorité d’exécution des
commandes dans le shell. Si +n est spécifié, définit la priorité
au nombre spécifié. Si l’indicateur +n et la Commande sont
spécifiés, exécute la Commande à 24 plus le nombre spécifié.
Si vous êtes utilisateur root, vous pouvez exécuter l’instruction
nice avec un nombre négatif. Commande est toujours
exécutée dans un sous–shell, et les restrictions applicables
aux commandes d’une instruction if simple valent pour cette
commande.
12-98
nohup [ Commande ]
Si Commande n’est pas spécifiée, les arrêts (hangups) sont
ignorés pour toute la suite du script. Si Commande est
spécifiée, ils ne sont ignorés que pour cette Commande. Pour
exécuter un pipeline ou une liste de commandes, placez–le
(–la) dans un script shell, accordez à celui–ci des droits
d’exécution et définissez le shell comme valeur de
Commande. Tous les process exécutés en arrière–plan avec
une perluète (&) sont protégés de manière effective: ils ne
recevront pas de signal hangup lorsque vous vous
déconnecterez. Ils restent néanmoins susceptibles de
recevoir des signaux hangup explicites, sauf si vous utilisez
l’instruction nohup.
notify [ % Travail...]
Indique au shell de vous prévenir (de façon asynchrone)
lorsque l’état du travail courant ou du travail spécifié change.
Normalement, le shell émet un avertissement juste avant
d’afficher l’invite. Cette fonction est automatiquement activée
si la variable shell notify est spécifiée.
onintr [ – | Label ]
Contrôle l’action du shell au niveau des interruptions. En
l’absence d’argument, restaure l’action par défaut (arrêt du
script ou retour au niveau entrée des commandes). Avec
l’indicateur –, ignore toutes les interruptions. Si Label est
spécifié, le shell exécute l’instruction goto Label à réception
d’une interruption ou lorsqu’un process enfant se termine
suite à une interruption. Dans tous les cas, si le shell est
exécuté séparément et que les interruptions sont ignorées,
l’instruction onintr n’a pas de sens : les interruptions sont
toujours ignorées du shell et de toutes les commandes
appelées.
popd [ + n ]
Détruit la pile de répertoires et revient au nouveau premier
répertoire. Si vous spécifiez +n, la commande rejette la nième
entrée de la pile. Les éléments de la pile sont numérotés de
haut en bas, à partir de 0.
pushd [ + n | Nom ]
Sans arguments, intervertit les deux premiers éléments de la
pile des répertoires. Avec la variable Nom, passe au nouveau
répertoire en décalant l’ancien répertoire courant (indiqué
dans la variable shell cwd) dans la pile. Avec la variable +n,
place le nième élément de la pile en tête, et en fait le
répertoire courant. Les éléments de la pile sont numérotés de
haut en bas, à partir de 0.
AIX Guide de l’utilisateur – Système d’exploitation et unités
rehash
Recalcule la table d’adressage du contenu des répertoires
dans la variable shell path. Cette action est requise si de
nouvelles commandes sont ajoutées aux répertoires dans la
variable path pendant que vous êtes connecté. La commande
rehash n’est obligatoire que si des commandes sont ajoutées
dans un répertoire utilisateur ou si un changement intervient
au niveau du contenu d’un répertoire système.
repeat Compte
Commande
Exécute la Commande spécifiée, soumise aux mêmes
restrictions que l’instruction if, autant de fois que spécifié par
Compte.
Remarque : Les réacheminements d’E–S interviennent une
et une seule fois, même si Compte vaut 0.
set [[ Nom [n]] [ = Mot ]] |
[ Nom = (Liste)]
Sans argument, affiche la valeur de toutes les variables shell.
Les variables don’t la valeur contient plus d’un mot s’affichent
sous la forme d’une liste de mots entre parenthèses. Si Nom
seul est spécifié, affecte à Nom la chaîne nulle. Sinon, affecte
à Nom la valeur de Mot ou de la liste de mots spécifiés dans
Liste. Si n est précisé, affecte au nième élément de Nom (s’il
existe) la valeur de Mot. Dans tous les cas, la valeur est
développée (nom de fichier et commande). Les arguments
peuvent être répétés pour affecter plusieurs valeurs via une
seule commande set. Le développement de variables
intervient pour tous les arguments, avant toute affectation.
setenv Nom Valeur
Affecte à la variable d’environnement spécifiée par Nom la
valeur Valeur (chaîne unique). Les variables d’environnement
les plus courantes (USER, TERM, HOME et PATH) sont
automatiquement importées et exportées à partir des
variables shell C user, term, home et path. Il est inutile
d’exécuter l’instruction setenv pour ces variables.
shift [ Variable ]
Décale vers la gauche les éléments de la variable shell argv
ou de la Variable spécifiée. Une erreur se produit si la variable
shell argv n’est pas définie ou que la variable spécifiée
contient moins d’un mot.
source [ –h ] Nom
Lit les commandes spécifiées par la variable Nom. Vous
pouvez imbriquer des commandes source. Cependant, si les
imbrications sont trop poussées, vous risquez de déborder
des descripteurs de fichiers. Une erreur dans une commande
source met fin à toutes les autres commandes source
imbriquées. Normalement, les entrées effectuées au cours de
l’exécution de source ne sont pas enregistrées dans la liste
d’historique. L’indicateur –h place la commande dans
l’historique sans l’exécuter.
stop [ % Travail...]
Arrête le travail courant ou le Travail spécifié, exécuté en
arrière-plan.
suspend
Met fin au shell (équivaut à un signal STOP).
switch (chaîne)
Démarre la séquence de commandes switch ( Chaîne ) case
Chaîne:... breaksw default:... breaksw endsw. Cette
séquence de commande compare successivement chaque
étiquette à la valeur de la variable Chaîne. Cette séquence
compare successivement chaque label ”case” à la valeur de
la variable Chaîne.
Shells
12-99
time [ Commande ]
Contrôle le minutage automatique des commandes. Si
Commande n’est pas spécifiée, affiche un récapitulatif du
temps consommé par le shell et ses enfants. Si Commande
est spécifiée, la commande est minutée. Le shell affiche
ensuite un récapitulatif, comme décrit pour la variable shell
time, page 12-115. Si nécessaire, un shell supplémentaire est
créé, pour afficher les statistiques à la fin de la commande.
Les exemples suivants utilisent time avec la commande
sleep:
time sleep
La sortie de cette commande est similaire à celle–ci :
0.0u 0.0s 0:00 100% 44+4k 0+0io 0pf+0w
Les zones de sortie sont :
Zone
Description
premier
Nombre de secondes du temps CPU consacrées au
process utilisateur
second
Nombre de secondes de temps CPU utilisées par le noyau
pour le compte du process utilisateur
Troisième
Temps écoulé (pendule murale) pour la commande
Quatrième
Temps utilisateur CPU total plus temps système, comme
pourcentage du temps écoulé
Cinquième
Somme moyenne de la taille de mémoire partagée et de la
quantité moyenne d’espace mémoire non partagé utilisé (en
kilo–octets).
Sixième
Nombre d’opérations d’entrée/sortie de blocs
Septième
Somme des erreurs de pagination et du nombre de
permutations (swaps).
12-100
umask [ Valeur ]
Détermine les droits d’accès au fichier. Cette Valeur, associée
aux droits du process créateur, détermine les droits sur un
fichier au moment de sa création. La valeur par défaut est
022. A défaut de Valeur spécifiée, la valeur en cours est
affichée.
unalias *| Trame
Désactive les alias dont le nom correspond à la Trame. La
commande unalias * supprime tous les alias. L’absence
d’alias ne provoque pas d’erreur.
unhash
Désactive l’usage de la table de hachage pour la localisation
des programmes en cours.
AIX Guide de l’utilisateur – Système d’exploitation et unités
unlimit [ –h ][ Ressource
]
Supprime la limitation imposée à la variable Ressource. Si
Ressource n’est pas spécifiée, toutes les limitations sont
supprimées. Reportez–vous à la description de la commande
limit pour avoir la liste des noms Ressource.
L’indicateur –h supprime les limites matérielles
correspondantes. Seul un utilisateur root est habilité à
effectuer cette opération.
unset *| Trame
Supprime toutes les variables dont le nom correspond à la
Trame. Utilisez unset * pour supprimer toutes les variables.
L’absence de variables ne provoque pas d’erreur.
unsetenv Trame
Supprime de l’environnement toutes les variables dont le nom
correspond à la Trame. (Reportez–vous à la commande
intégrée setenv.)
wait
Attend tous les travaux en arrière–plan. Si le shell est
interactif, un INTERRUPT (Ctrl–C généralement) met fin à
l’attente. Le shell affiche ensuite les noms et numéros des
travaux en suspens.
while (Expression)
Commande. . . end
Evalue les commandes entre les instructions while et end
correspondantes, tant que la variable Expression est
différente de zéro. L’instruction break permet d’interrompre la
boucle, continue de la poursuivre. Les instructions while et
end doivent se trouver chacune sur une ligne distincte. Si
l’entrée provient d’un terminal, des invites s’affichent après
while (Expression), comme pour l’instruction foreach.
@ [ Nom [ n ] =
Expression ]
Sans argument, affiche le valeurs de toutes les variables
shell. Sinon, affecte Nom à la variable Expression . Si
l’expression contient un des caractères <, >, & ou |, cette
partie de l’expression doit être placée entre parenthèses.
Lorsque n est spécifié, l’élément n @T>ième >de la variable
>Nom >est définie sur la valeur de la variable>Expression >.
A la fois la variable >Nom >et son élément >n >@T>ième
>doivent exister.
Les opérateurs du langage C, tels que *= et +=, sont
disponibles. L’espace séparant la variable Nom de l’opérateur
d’affectation est facultatif. Les espaces séparant les éléments
de Expression sont en revanche obligatoires (faute de quoi, il
seraient interprétés comme un seul mot). Les suffixes
spéciaux, (++) et (––) augmentent et diminuent,
respectivement, la valeur de la variable Nom.
Expressions et opérateurs du shell C
La commande intégrée @ et les instructions exit, if, et while comportent des opérateurs
semblables à ceux du langage C, avec les mêmes règles de précédence. Voici les
opérateurs disponibles :
Opérateur
Signification
()
change la précédence
~
complément
!
négation
*/ %
multiplie, divise, modulo
+ –
ajoute, soustrait
<< > >
décale à gauche, décale à droite
<= >= < >
opérateurs relationnels
Shells
12-101
Opérateur
Signification
== != =~ !~
comparaison de chaîne/correspondance de trames
&
opérateur au niveau bit AND
^
opérateur au niveau bit OR exclus
|
opérateur au niveau bit OR inclus
&&
AND logique
||
OR logique
Les opérateurs sont classés par ordre de précédence décroissante (de haut en bas, et de
gauche à droite).
Remarque : Les opérateurs + et – sont associatifs, en partant de la droite. Ainsi,
a + b – c est évalué :
a + (b – c)
et non comme suit :
(a + b) – c
Les opérateurs ==, !=, =~, et !~ comparent des arguments chaîne. Tous les autres opèrent
sur des nombres. Les opérateurs =~ et !~ sont semblables à == et !=, excepté que
l’expression de droite est une trame à laquelle est comparé l’opérande de gauche. Cela
réduit la nécessité d’utiliser l’instruction switch dans les procédures shell.
Les opérateurs logiques ou (||) et et (&&) sont également disponibles. Ils permettent de
vérifier un intervalle de nombres, comme dans l’exemple suivant :
if ($#argv > 2 && $#argv < 7) then
Ici, le nombre d’arguments doit être supérieur à 2 et inférieur à 7.
Les chaînes commençant par zéro (0) sont interprétées comme des nombres octaux. Les
arguments nuls ou manquants sont interprétés comme 0. Toutes les expressions ont pour
résultat des chaînes représentant des nombres décimaux. Notez que les deux éléments
d’une expression peuvent se trouver dans un même mot. Excepté lorsqu’ils se trouvent à
côté d’éléments syntaxiquement significatifs pour l’analyseur (& | < > ( )), les éléments
d’expression doivent être encadrés d’espaces.
On peut trouver dans des expressions, à titre d’opérandes, des exécutions de commandes
entre ( ) et des interrogations de fichier de la forme (–opérateur Nomfichier), où opérateur
est l’un des caractères suivants :
r
accès en lecture
w
accès en écriture
x
accès en exécution
e
existence
o
propriété
z
taille zéro
f
fichier ordinaire
d
répertoire
Nomfichier est développé (commande et nom de fichier), puis testé pour vérifier s’il a la
relation spécifiée à l’utilisateur réel. Si le nom de fichier n’existe pas ou est inaccessible,
toutes les requêtes retournent la valeur faux (0). Si la commande aboutit, l’interrogation
retourne la valeur vrai (1). Sinon, elle renvoie la valeur faux (0). Si vous souhaitez
davantage de précisions sur l’état, lancez la commande en dehors d’une expression et
examinez la variable shell status.
12-102
AIX Guide de l’utilisateur – Système d’exploitation et unités
Substitution de commandes (shell C)
Lors d’une substitution de commandes, le shell exécute une commande et remplace cette
commande par son résultat. Pour exécuter des substitutions de commandes dans le
shell C, encadrez la commande ou la chaîne de commandes par des apostrophes inverses
(‘ ‘). Le shell décompose normalement le résultat de la commande en mots séparés au
niveau des espaces, des tabulations et des caractères nouvelle ligne. Puis il remplace la
commande d’origine par cette sortie.
Dans l’exemple suivant, les apostrophes inverses (‘ ‘) encadrant la commande date
indiquent que le résultat de la commande sera remplacé :
echo The current date and time is: ‘date‘
Le résultat de cette commande est du type :
The current date and time is: Wed Apr 8 13:52:14 CDT 1992
Le shell C exécute sélectivement les substitutions de commandes sur les arguments des
commandes intégrées. Ce qui signifie qu’il ne développe pas les parties des expressions
qui ne sont pas évaluées. Dans le cas de commandes non intégrées, le shell effectue la
substitution du nom de la commande en dehors de la liste d’arguments. La substitution a
lieu dans un shell enfant du shell principal, après réacheminement des entrées/sorties.
Si une chaîne de commandes est encadrée de ” ”, le shell interprète comme séparateurs
de mots les seuls caractères nouvelle ligne, préservant les espaces et les tabulations à
l’intérieur du mot. Dans tous les cas, l’unique caractère nouvelle ligne final ne génère pas
de nouveau mot.
Exécution des commandes Shell C non intégrées
Lorsque le shell C détermine qu’une commande n’est pas une commande intégrée, il tente
de l’exécuter via le sous–programme execv. Chaque mot de la variable shell path
correspond à un répertoire à partir duquel le shell tente de lancer la commande. En
l’absence des options –c et –t, le shell ventile les noms de ces répertoires dans une table
interne. Le shell ne tente l’exécution de exec dans un répertoire que s’il y a une chance que
la commande s’y trouve. Si vous désactivez ce mécanisme au moyen de la commande
unhash ou que vous associez au shell l’option –c ou –t, le shell est concaténé avec le nom
de la commande considérée pour former le chemin d’accès à un fichier. Le shell effectue la
même opération pour chaque élément de répertoire de la variable path ne commençant pas
par /. Il tente ensuite d’exécuter la commande.
Les commandes entre parenthèses sont toujours exécutées dans un sous–shell.
Par exemple :
(cd ; pwd) ; pwd
affiche le répertoire personnel sans modifier l’emplacement du répertoire courant.
En revanche, la commande :
cd ; pwd
définit le répertoire personnel comme répertoire courant. Les commandes entre
parenthèses sont le plus souvent utilisées pour empêcher la commande chdir d’agir
sur le shell courant.
Si le fichier est accessible en exécution, sans être un fichier exécutable binaire, le shell
suppose qu’il s’agit d’un fichier de commandes shell et lance un nouveau shell pour le lire.
S’il existe un alias du shell, les mots de l’alias sont insérés en préfixe de la liste
d’arguments, pour former la commande shell. Le premier mot de l’alias doit être le chemin
d’accès complet au shell.
Shells
12-103
Substitution d’historique (shell C)
La substitution d’historique permet de modifier des mots d’une commande précédente pour
en créer de nouvelles. Cette fonction simplifie la reprise de commandes et d’arguments
d’une commande précédente pour les intégrer à la commande courante, et permet
également de corriger aisément les fautes de frappe dans une commande.
Les substitutions d’historique commencent par un point d’exclamation (!) et peuvent se
trouver n’importe où sur la ligne de commande, sachant qu’elles ne peuvent être imbriquées
(c’est–à–dire qu’une substitution d’historique ne peut en contenir une autre). Vous pouvez
faire précéder le point d’exclamation (!) d’une barre oblique inversée (\) pour annuler la
signification spéciale du point d’exclamation. En outre, si vous placez le point d’exclamation
(!) avant un espace, une tabulation, un caractère nouvelle ligne, un signe égal (=) ou une
parenthèse ouvrante ((), la substitution d’historique n’a pas lieu.
Une substitution d’historique peut également être générée par un caret (^) inséré en début
de ligne. Le shell envoie toute ligne contenant des substitutions d’historique à la station de
travail avant d’exécuter la ligne.
Cette section traite des points suivants :
•
Liste d’historique, page 12-104
•
Spécification d’événement, page 12-105
•
Guillemets et apostrophes, page 12-106
Liste d’historique
La liste d’historique sauvegarde les commandes lues par le shell, constituées de un ou de
plusieurs mots. La substitution d’historique réintroduit des séquences de mots issues de ces
commandes sauvegardées, dans le flux des entrées.
La variable shell history contrôle la taille de la liste historique. Vous devez définir cette
variable soit dans le fichier .cshrc, soit sur la ligne de commande avec la commande
intégrée set. La commande précédente est retenue quelle que soit la valeur de la variable
history. Les commandes de l’historique sont numérotées à partir de 1. La commande
intégrée history génère une sortie du type :
9 write michael
10 ed write.c
11 cat oldwrite.c
12 diff *write.c
Le shell affiche les chaînes de commandes avec leur numéro d’événement. Le numéro
d’événement apparaît à gauche de la commande et est représenté lorsque la commande a
été entrée par rapport aux autres commandes de l’historique. Il est généralement inutile de
se servir des numéros pour faire référence aux événements, mais vous pouvez intégrer le
numéro de l’événement en cours à l’invite système en plaçant un point d’exclamation (!)
dans la chaîne d’invite affectée à la variable d’environnement PROMPT.
Une référence historique complète contient une spécification d’événement, un descripteur
de mot, et un ou plusieurs modificateurs, selon le format général suivant :
Evénement[.]Mot:Modificateur[:Modificateur] . . .
Remarque : Seul un mot peut être modifié. Les chaînes contenant des espaces ne sont
pas admises.
12-104
AIX Guide de l’utilisateur – Système d’exploitation et unités
Dans l’exemple de sortie précédent, l’événement courant porte le numéro 13. En
conservant cet exemple, voici des références à des événements précédents :
!10
Evénement numéro 10.
!–2
Evénement numéro 11 (événement courant moins 2).
!d
Mot commençant par d (événement numéro 12).
!?mic?
Mot contenant la chaîne mic (événement numéro 9).
Ces formats, sans autre modification, réintroduisent simplement les mots des événements
spécifiés, séparés par de simples espaces. Cas particuliers : (double point d’exclamation)
fait référence à la commande précédente. La commande !! seule sur une ligne d’entrée
relance la commande précédente.
Spécification d’événement
Pour sélectionner des mots d’un événement, faites suivre la spécification d’événement par
deux points (:) et l’un des désignateurs de mots suivants (les mots d’une ligne d’entrée sont
numérotés de manière séquentielle à partir de 0) :
0
Premier mot (nom de la commande).
n
nième argument.
^
Premier argument.
$
Dernier argument.
%
Mot correspondant à une chaîne ?Chaîne? le précédant
immédiatement.
x–y
Plage de mots à partir du x ième mot jusqu’au y @T>ième
mot
–y
Intervalle de mots entre le premier (0) et le yième mot.
*
Premier mot du dernier argument, ou rien s’il y a un seul
mot (le nom de la commande) dans l’événement.
x*
xième et le dernier argument.
x–
Equivalent à x *, avec omission du dernier argument.
Vous pouvez omettre les deux points entre la spécification d’événement et le descripteur de
mot si celui–ci commence par ^ (caret), $ (dollar), * (astérisque), – (tiret) ou %
(pourcentage). Vous pouvez également placer une séquence de modificateurs parmi les
suivants après le descripteur facultatif du mot, en les faisant précéder de deux points :
h
Supprime l’extension finale d’un chemin d’accès, en
conservant le début.
r
Supprime un élément final .xxx, en conservant le nom
racine.
e
Supprime tout sauf le suffixe .xxx.
s/ AncienMot / NouveauMot
/
Affecte à AncienMot la valeur de NouveauMot.
La partie gauche d’une substitution ne constitue pas une trame, au sens d’une chaîne
reconnue par un éditeur. Il s’agit en fait d’un mot, isolé, sans espace. Normalement, une
barre oblique (/) délimite le mot d’origine (OldWord) et le mot de remplacement
(NewWord). Toutefois, vous pouvez utiliser un caractère quelconque comme délimiteur.
Dans l’exemple suivant, l’utilisation du signe % comme délimiteur permet d’inclure une
barre oblique / dans les mots :
s%/home/myfile%/home/yourfile%
Shells
12-105
Le shell remplace une perluète (&) par le texte OldWord dans la variable NewWord. Dans
l’exemple suivant, /home/myfile devient /temp/home/myfile.
s%/home/myfile%/temp&%
Le shell remplace un mot nul dans une substitution soit par la dernière substitution,
soit par la dernière chaîne utilisée dans la chaîne de balayage contextuelle !? String ?.
Vous pouvez omettre le délimiteur de fin
(/) si un caractère nouvelle ligne suit immédiatement. Pour délimiter une liste d’historique,
vous disposez des modificateurs suivants :
t
Supprime tous les chemins d’accès en tête, en conservant
la fin.
&
Répète la substitution précédente.
g
Applique la modification globalement.
p
Affiche la nouvelle commande, sans l’exécuter.
q
Déclare les mots remplacés, prévenant ainsi toute
substitution ultérieure.
x
Equivalent du modificateur q, mais décompose les mots au
niveau des espaces, des tabulations et des caractères
nouvelle ligne.
Lorsque vous utilisez les modificateurs précédents, la modification ne s’applique qu’au
premier mot modifiable à moins que le modificateur g ne précède le modificateur
sélectionné.
Si vous indiquez une référence historique sans spécification d’événement (par exemple,
!$), le shell utilise comme événement la commande précédente. Si une référence
historique antérieure intervient sur la même ligne, le shell répète la référence précédente.
Ainsi, la séquence suivante génère les premier et dernier arguments de la commande
correspondant à ?foo?.
!?foo?^ !$
Une abréviation spéciale remplace une référence historique lorsque le premier caractère
non blanc d’une ligne d’entrée est un ^ (caret). Ce format équivaut à !:s^, et fournit ainsi
un raccourci commode pour les substitutions sur le texte de la ligne précédente. La
commande ^ lb^ lib corrige l’orthographe de lib dans la commande précédente.
Si nécessaire, vous pouvez encadrer une substitution d’historique par { } (accolades) pour
l’isoler des caractères qui la suivent. Par exemple, si vous souhaitez utiliser une référence à
la commande :
ls –ld ~paul
pour exécuter la commande :
ls –ld ~paula
utilisez la construction :
!{l}a
Dans cet exemple, !{l}a recherche une commande commençant par l et lui ajoute un a
final.
Guillemets et apostrophes
Pour éviter trop d’interprétations pour toutes ou certaines des substitutions, mettez les
chaînes entre guillemets et apostrophes. De simples apostrophes (’ ’) empêchent que la
chaîne soit interprétée, tandis que des guillemets (” ”) permettent des développements
ultérieurs. Dans les deux cas, le texte résultant devient (en totalité ou en partie) un mot
simple.
12-106
AIX Guide de l’utilisateur – Système d’exploitation et unités
Substitution d’alias (shell C)
Un alias est un nom attribué à une commande ou à une chaîne de commande. Le shell C
permet d’attribuer des alias et de les utiliser comme des commandes. Le shell maintient une
liste des alias définis.
Lorsque le shell a examiné la ligne de commande, il la décompose en commandes
distinctes et recherche le premier mot de chaque commande, de gauche à droite, pour
déterminer s’il s’agit d’un alias. Dans l’affirmative, le shell remplace, au moyen du
mécanisme d’historique, le texte de l’alias par celui de la commande qu’il référence. Les
mots résultants remplacent la commande et la liste d’arguments. En l’absence de référence
à la liste d’historique, la liste d’arguments reste inchangée.
Pour en savoir plus sur le mécanisme d’historique du shell C, reportez–vous à Substitution
d’historique (shell C), page 12-104.
Les commandes intégrées alias et unalias établissent, affichent et modifient la liste des
alias. Voici le format de la commande alias :
alias [Nom [ListeMots]]
La variable Nom (facultative) spécifie l’alias du nom indiqué. Si vous spécifiez une liste de
mots avec la variable ListeMots, la commande l’affecte comme alias de la variable Nom.
Si vous lancez la commande alias sans variable, elle affiche tous les alias du shell C.
Si l’alias de la commande ls est ls –l, la commande :
ls /usr
est remplacée par :
ls –l /usr
La liste d’arguments reste inchangée car il n’y a pas de référence à la liste d’historique
dans la commande avec alias. De même, si l’alias de la commande lookup est :
grep \!^ /etc/passwd
le shell remplace lookup bill par :
grep bill /etc/passwd
Dans cet exemple, !^ fait référence à la liste d’historique et le shell la remplace par le
premier argument de la ligne d’entrée, bill.
Vous pouvez utiliser des caractères joker dans un alias. La commande :
alias lprint ’pr &bslash2.!* >
> print’
crée une commande qui formate ses arguments pour une imprimante ligne. Le caractère !
est protégé du shell dans l’alias, de sorte qu’il n’est pas développé tant que la commande
pr n’est pas exécutée.
Si le shell détecte un alias, il effectue la transformation de mot dans le texte d’entrée et
relance le processus alias sur la nouvelle ligne. Si le premier mot du texte suivant est le
même que le précédent, un indicateur de fin (du processus alias) empêche le bouclage.
Les autres boucles ultérieures sont détectées et génèrent une erreur.
Shells
12-107
Substitution de variables et de noms de fichiers (shell C)
Le shell C autorise la substitution de variables et de noms de fichiers.
Cette section traite des points suivants :
•
Substitution de variables (shell C), page 12-108.
•
Substitution de noms de fichiers (shell C), page 12-110
•
Développement de nom de fichier, page 12-110.
•
Abréviation de nom de fichier, page 12-111.
•
Classes de caractères, page 12-112.
•
Shell C, page 12-122
Substitution de variables (shell C)
Le shell C maintient un ensemble de variables, chacune d’elles ayant pour valeur une liste
de zéro ou plusieurs mots. Certaines sont définies ou référencées par le shell. Par exemple,
la variable argv est une image de la liste de variables shell, et les mots comportant la valeur
de cette variable sont référencés de façon particulière.
Vous pouvez modifier et afficher la valeur des variables via les commandes set et unset.
Certaines variables sont des ”bascules”, c’est–à–dire qu’elles activent ou désactivent une
fonction : le shell ne fait aucun cas de leur valeur, seul importe le fait qu’elles soient ou non
activées. Par exemple, la variable verbose provoque l’affichage (écho) des commandes
entrées. La définition de cette variable est activée par l’indicateur –v sur la ligne de
commande.
D’autres opérations exécutent un traitement numérique des variables. La commande @
effectue des calculs, dont le résultat est affecté à une variable. Les valeurs des variables
sont toutefois toujours représentées par des chaînes (zéro ou plusieurs). Pour les
opérations numériques, la chaîne nulle est évaluée à zéro, et les mots suivants sont
ignorés.
Lorsque vous émettez une commande, le shell analyse la ligne d’entrée et exécute les
substitutions d’alias. Ensuite, avant d’exécuter la commande, il exécute les substitutions de
variables. Le caractère $ (dollar) code la substitution. Il est néanmoins transmis tel quel s’il
est suivi d’un espace, d’une tabulation ou d’un caractère nouvelle ligne. Faire précéder le
caractère $ d’une barre oblique inverse (\) empêche ce développement, sauf dans les deux
cas suivants :
• La commande est entre guillemets (” ”). Le shell exécute alors la substitution.
• La commande est entre apostrophes (’’) : le shell n’exécute alors jamais la substitution.
Les chaînes entre ’ ’ sont interprétées au niveau de la substitution de commande.
(Reportez–vous à Substitution de commande (shell C), page 12-103.
Le shell détecte les réacheminements d’entrées/sorties avant de développer les variables,
et les développe séparément. Sinon, le nom de la commande et la liste complète
d’arguments sont développés simultanément. Il est ainsi possible que le premier mot
(commande) génère plusieurs mots, dont le premier devient le nom de la commande, les
suivants étant des paramètres.
Sauf s’il est entre guillemets (” ” ) ou associé au modificateur :q, le résultat d’une
substitution de variable peut faire lui–même l’objet d’une substitution de commande et de
nom de fichier. Une variable entre guillemets, composée de plusieurs mots, est développée
sous la forme d’un seul mot (ou d’une portion de mot), les mots initiaux étant séparés par
des espaces. Si vous spécifiez le modificateur :q, la variable est développée en plusieurs
mots, entre guillemets, séparés par des espaces, pour empêcher toute substitution
ultérieure (de commande ou de nom de fichier).
12-108
AIX Guide de l’utilisateur – Système d’exploitation et unités
Voici la syntaxe d’entrée des valeurs de variable dans le shell. Sauf indication contraire,
référencer une variable non définie par la commande set génère une erreur.
Les modificateurs :gh, :gt, :gr, :h, :r, :q et :x sont applicables aux substitutions suivantes.
Si des accolades ({ }) apparaissent dans le format de la commande, les modificateurs
doivent se trouver entre accolades. Il n’est autorisé qu’un seul modificateur : (deux points)
pour chaque développement de variable.
$ Nom
${ Nom}
Remplacé par les mots affectés à la variable Nom, séparés par
des espaces. Les accolades isolent la variable Nom des
caractères suivants (qui lui seraient sinon intégrés). Les noms
des variables shell commencent par une lettre et comportent au
maximum 20 lettres et chiffres, ou caractères de
soulignement (_). Si Nom ne spécifie pas une variable shell,
mais est défini dans l’environnement, sa valeur est alors
retournée. Les modificateurs précédés de deux points, de
même que les autres formats ici décrits, ne sont pas
disponibles dans ce cas.
$ Nom [numéro]
${ Nom [ numéro ]}
Ne sélectionne que quelques mots de la variable Nom. Le
numéro, qui peut faire l’objet de substitution de variable, est soit
un chiffre seul, soit deux chiffres séparés par un tiret (–). Le
premier mot de la chaîne représentant la valeur de la variable
est numéroté 1. Par défaut, le premier chiffre d’un intervalle
vaut 1 et le dernier, $# Nom. Le symbole* (astérisque)
sélectionne tous les mots. Si le second argument est omis ou
qu’il se trouve dans un intervalle, un premier intervalle vide ne
génère pas d’erreur.
$# Nom
${# Nom}
Indique le nombre de mots de la variable. Cette fonction peut
être utilisée dans [numéro] comme indiqué ci–dessus. Par
exemple, $Nom[$#Nom].
$0
Remplace le nom du fichier à partir duquel sont lues les entrées
de commandes. Si ce nom est inconnu, une erreur est générée.
$ nombre
${ nombre }
Equivalent à $argv[ nombre ].
$*
Equivalent à $argv[*].
Les modificateurs : ne sont pas applicables aux substitutions suivantes :
$? nom
${? nom}
Remplace par la chaîne 1 si nom est définie, par 0 (zéro) sinon.
$?0
Remplace par 1 si le nom du fichier d’entrée courant est reconnu,
par 0 (zéro) sinon.
$$
Remplace par le numéro (décimal) du process du shell parent.
$<
Remplace par une ligne de l’entrée standard, sans autre
interprétation. Cette substitution permet de lire à partir du clavier
dans une procédure shell.
Shells
12-109
Substitution de nom de fichier (shell C)
Le shell C offre plusieurs fonctions de raccourci permettant d’économiser du temps et de
réduire le nombre de frappes de touches. Si un mot contient l’un des caractères *, ?, [ ]
ou { }, ou commence par un (~), ce mot fait l’objet de substitutions de noms de fichiers.
Le shell C considère le mot comme un terme générique et le remplace selon une liste
alphabétique de noms de fichiers.
La séquence de classement courante est spécifiée par les variables d’environnement
LC_COLLATE ou LANG. Dans une liste de mots spécifiant des substitutions de noms
de fichiers, une erreur est générée si aucun terme générique ne correspond à un fichier
existant. Il n’est toutefois pas nécessaire que tous les termes génériques aient un
correspondant. Seuls les caractères *, ? et [ ] indiquent des correspondances ou des
développements de noms de fichiers. Le tilde (~) et les accolades { } indiquent une
abréviation de nom de fichier.
Développement de nom de fichier
L’astérisque (*) remplace n’importe quelle chaîne de caractères, chaîne nulle comprise.
Par exemple, dans un répertoire contenant les fichiers :
a aa aax alice b bb c cc
La commande echo a* affiche tous les fichiers commençant par a :
a aa aax alice
Remarque :Lors de la comparaison, les caractères point (.) et barre oblique (/) doivent
également correspondre.
Le caractère ? (point d’interrogation) remplace un seul caractère. La commande :
ls a?x
affiche la liste des fichiers commençant par a, suivis d’un seul caractère et terminés par x :
aax
Pour rechercher un caractère ou un ensemble de caractères, encadrez le(s) caractère(s) de
crochets ([]). La commande :
ls [abc]
affiche la liste des fichiers correspondant exactement à l’un des caractères entre crochets :
a b c
Entre les crochets, un intervalle de caractères est indiqué par [a–z]. Les caractères
correspondants sont définis par la séquence de classement courante.
12-110
AIX Guide de l’utilisateur – Système d’exploitation et unités
Abréviation de nom de fichier
Les caractères ~ (tilde) et { (accolade ouvrante) indiquent une abréviation de nom de fichier.
Un ~ en début de fichier représente les répertoires personnels. Isolé, le caractère ~ prend la
valeur de votre répertoire personnel, défini par la variable home. Par exemple, la
commande
ls ~
affiche tous les fichiers et répertoires de votre répertoire $HOME.
Lorsque cette commande est suivie d’un nom composé de lettres, de chiffres et de tirets (–),
le shell recherche un utilisateur portant ce nom et remplace le répertoire $HOME de
l’utilisateur.
Remarque : Si le ~ est suivi d’un caractère autre qu’une lettre ou une barre oblique (/),
ou qu’il apparaît ailleurs qu’au début d’un mot, il n’est pas développé.
Pour faire correspondre des caractères dans des noms de fichiers sans taper l’intégralité du
nom, encadrez les noms de fichiers d’accolades ({ }). Ainsi, a{b,c,d}e est un raccourci de
abe ace ade. Le shell préserve l’ordre (de gauche à droite) et, à cet effet, enregistre
séparément le résultat des correspondances à un niveau inférieur. Cette construction peut
être imbriquée. Ainsi, la commande :
~source/s1/{oldls,ls}.c
devient :
/usr/source/s1/oldls.c /usr/source/s1/ls.c
si le répertoire personnel source est /usr/source. De même, la commande :
../{memo,*box}
peut devenir :
../memo ../box ../mbox
Remarque : memo n’est pas trié avec le résultat de la comparaison *box. Dans ce cas
particulier, les accolades { (ouvrante), } (fermante) et } (par paire) sont passées sans
changement.
Shells
12-111
Classes de caractères
Pour effectuer des comparaisons, vous pouvez également vous servir des classes de
caractères. Avec le format suivant, le système établit une correspondance avec chacun
des caractères appartenant à la classe spécifiée :
[:
charclass :]
Les classes définies correspondent aux sous–routines ctype.
Classe de caractères
Définition
alnum
Caractères alphanumériques
alpha
Majuscules et minuscules
cntrl
Caractères de contrôle
digit
Chiffres
graph
Caractères graphiques
lower
Minuscules
print
Caractères imprimables
punct
Caractères de ponctuation
space
Espace, tabulation horizontale, retour chariot, nouvelle ligne,
tabulation verticale ou page suivante
upper
Lettres majuscules
xdigit
Chiffres hexadécimaux
Supposons que vous soyez dans un répertoire contenant les fichiers :
a aa aax Alice b bb c cc
A l’invite du shell C, entrez :
ls [:lower:]
Le shell C affiche la liste de tous les fichiers dont le nom commence par une minuscule:
a aa aax b bb c cc
Pour en savoir plus, reportez–vous à la commande ed.
12-112
AIX Guide de l’utilisateur – Système d’exploitation et unités
Variables d’environnement (shell C)
Certaines variables ont une signification spéciale pour le shell. Par exemple, argv, cwd,
home, path, prompt, shell et status sont toujours définies par le shell. Sauf pour cwd et
status, cette action n’a lieu qu’au moment de l’initialisation. Ces variables conservent leur
valeur tant que vous ne les modifiez pas explicitement.
La commande csh copie les variables d’environnement USER, TERM, HOME et PATH
dans les variables csh, user, term, home et path, respectivement. Les valeurs sont
recopiées dans l’environnement à chaque réinitialisation des variables de shell normales.
La variable path ne peut être définie que dans le fichier .cshrc car les sous–programmes
csh importent la définition des chemins à partir de l’environnement et la réexportent si elle a
été modifiée.
Voici les variables spéciales du shell :
argv
Arguments passés aux scripts shell. Les paramètres positionnels
sont remplacés à partir de cette variable.
cdpath
Liste de répertoires, à explorer par la commande chdir ou cd lors de
recherche de sous-répertoires.
cwd
Chemin d’accès complet au répertoire courant.
echo
Activé par l’indicateur –x sur la ligne de commande, affiche (écho)
chaque commande et ses arguments avant qu’ils soient exécutés.
Les commandes non intégrées sont développées avant d’être
affichées. Les commandes intégrées le sont avant toute substitution
de commande ou de nom de fichier, dans la mesure où ces
substitutions sont ensuite effectuées de façon sélective.
histchars
Chaîne modifiant les caractères utilisés dans une substitution
d’historique. Le premier caractère devient le caractère de
substitution d’historique (remplaçant le caractère par défaut ! (point
d’exclamation). Le second remplace le caractère ^ (caret) dans les
substitutions rapides.
Remarque : Affecter à histchars un caractère utilisé dans une
commande ou dans un nom de fichier peut provoquer des
substitutions d’historique non souhaitées.
historique
Valeur numérique contrôlant la taille de la liste d’historique. Toute
commande référencée dans les nombres d’événements permis n’est
pas prise en compte. Indiquer une valeur trop importante pour la
variable history peut provoquer un dépassement mémoire. Qu’elle
soit définie ou non, elle sauvegarde la dernière commande exécutée
sur la liste d’historique.
home
Répertoire personnel, initialisé par l’environnement. Le
développement de nom de fichier du caractère ~ (tilde) fait référence
à cette variable.
ignoreeof
Spécifie au shell d’ignorer les caractères EOF (fin de fichier) issus
des stations de travail. Ceci pour empêcher les shells d’être
accidentellement tués à la lecture d’un caractère de fin de fichier
(Ctrl–D).
mail
Fichiers à examiner par le shell pour le courrier. Ce que le shell
effectue après chaque commande dont le résultat est une invite, à
l’expiration du délai imparti. Le shell affiche le message Mail in
file. si le fichier existe et que l’heure de son dernier accès est
antérieure à l’heure de sa dernière modification.
Shells
12-113
Si le premier mot de la variable mail est numérique, il indique un
nouvel intervalle de vérification du courrier (en secondes – valeur
par défaut 600, soit : 10 minutes). Si vous spécifiez plusieurs fichiers
courrier, le shell affiche le message New mail in file, quand du
courrier arrive dans le fichier concerné.
noclobber
Règlemente les réacheminements en sortie pour garantir qu’aucun
fichier ne sera accidentellement détruit et que les réacheminements
effectuent des ajouts aux fichiers antérieurs.
noglob
Désactive le développement de nom de fichier. Cette fonction est
très utile pour les procédures ne traitant pas de noms de fichiers, ou
lorsqu’une liste de noms de fichiers a été générée et qu’aucun autre
développement n’est souhaitable.
nonomatch
Spécifie de ne pas générer d’erreur si le développement d’un nom
de fichier ne correspond à aucun fichier existant, mais de renvoyer la
trame initiale. Un format incorrect de la trame provoquera toujours
une erreur.
notify
Spécifie au shell de vous avertir en mode asynchrone des
modifications intervenues au niveau de l’état des travaux. Par
défaut, ces modifications sont affichées juste avant l’affichage de
l’invite shell.
path
Spécifie les répertoires à explorer à la recherche des commandes à
exécuter. Un mot nul spécifie le répertoire courant. Si aucune
variable path n’est définie, seuls les chemins d’accès complets sont
pris en compte. Le chemin par défaut (extrait du fichier
/etc/environment utilisé pour la connexion) est :
/usr/bin /etc /usr/sbin /usr/ucb /usr/bin/X11 /sbin
Un shell non associé à l’indicateur –c ni –t répartit normalement le
contenu des répertoires dans la variable path, après lecture du
fichier .cshrc et chaque fois que path est redéfini. Si de nouvelles
commandes sont ajoutées à ces répertoires pendant que le shell est
actif, vous devez attribuer la commande rehash. Sinon, il se peut
que les commandes ne soient pas retrouvées.
12-114
invite
Chaîne affichée avant chaque lecture de commande à partir d’une
station de travail interactive. Si un ! (point d’exclamation) apparaît
dans la chaîne, il est remplacé par le numéro de l’événement
courant. Si le caractère ! se trouve dans une chaîne entre guillemets
ou entre apostrophes, il doit être précédé d’une barre oblique
inversée (\). L’invite par défaut est %, pour les utilisateurs non
racine. L’invite par défaut est #, pour les utilisateurs non root.
savehist
Valeur numérique contrôlant le nombre d’entrées de la liste
d’historique, sauvegardées dans le fichier ~/.history lorsque vous
vous déconnectez. Toute commande référencée dans ce nombre
d’événements est sauvegardée. Au cours du lancement, le shell lit
~/.history dans la liste d’historique, assurant la sauvegarde de
l’historique à travers les multiples connexions. Donner à la variable
savehist une valeur trop importante ralentit le lancement du shell.
shell
Indique le fichier dans lequel se trouve le shell C. Cela permet aux
shells parallèles d’interpréter les fichiers dotés de bits d’exécution,
mais non exécutables par le système. Cette valeur prend
initialement la valeur du fichier personnel du shell C.
status
Etat retourné par la dernière commande. Si la commande se termine
anormalement, 0200 est ajouté à l’état. Les commandes intégrées
qui n’aboutissent pas retournent un état de sortie de 1 ; celles qui
aboutissent renvoie un état de 0 (zéro).
AIX Guide de l’utilisateur – Système d’exploitation et unités
time
Contrôle le minutage automatique des commandes. Lorsque cette
variable est définie, toute commande dépassant le délai imparti (en
nombre de secondes CPU) affichera, en fin d’exécution, une ligne
relative aux ressources utilisées. Pour en savoir plus, reportez–vous
à la commande intégrée time, page 12-100.
verbose
Activée par l’option –v sur la ligne de commande, affiche les mots de
chaque commande, après exécution des substitutions d’historique.
Shells
12-115
Réacheminement des entrées/sorties (shell C)
Avant d’exécuter une commande, le shell C balaye la ligne d’entrée à la recherche de
caractères de réacheminement. Ces derniers lui indiquent de réacheminer les entrées et les
sorties.
Pour réacheminer les entrées et sorties standard d’une commande, vous disposez des
instructions suivantes :
< Fichier
Ouvre le Fichier spécifié (qui est d’abord développé –
variable, commande et nom de fichier) comme fichier
d’entrée standard.
<< Mot
Lit l’entrée shell jusqu’à la ligne correspondant à la valeur
de Mot. La variable Mot ne peut faire l’objet de
substitution de variable, de nom de fichier ou de
commande. Chaque ligne entrée lui est comparée avant
toute substitution sur la ligne. Sauf si un caractère de
déclaration (\, ”, ’ ou ‘) figure dans la variable Mot, le
shell exécute les substitutions de variable et de
commande sur les lignes concernées, la barre oblique
inversée (\) pouvant servir à déclarer les caractères $
(dollar), \ (barre oblique inversée) et ‘ (apostrophe).
Dans les commandes remplacées, les espaces, les
tabulations et les caractères ligne suivante sont
préservés, sauf le dernier caractère nouvelle ligne, qui
n’est pas pris en compte. Le texte résultant est placé
dans un fichier temporaire anonyme, qui devient l’entrée
standard de la commande.
>Fichier
>! Fichier
>& Fichier
>&! Fichier
Ouvre le Fichier spécifié comme sortie standard. Si le
fichier n’existe pas, il est créé. S’il existe, il est tronqué et
son contenu antérieur est perdu. Si la variable
noclobber est définie, le fichier doit ne pas exister ou
être un fichier spécial caractère, faute de quoi une erreur
est générée, ceci pour contribuer à prévenir toute
destruction accidentelle de fichiers. Dans ce cas,
recourez au format comportant un ! (point d’exclamation)
pour éliminer ce contrôle. Fichier est développé de la
même façon que pour les <fichiers d’entrée. Le
format >& (perluète) achemine la sortie standard et la
sortie d’erreur vers Fichier. L’exemple suivant illustre
comment acheminer séparément la sortie standard vers
/dev/tty et la sortie d’erreur standard vers /dev/null. Les
parenthèses sont obligatoires pour la séparation :
% (find / –name vi –print > /dev/tty) >&
/dev/null
> > Fichier
> >! Fichier
> >& Fichier
> >&! Fichier
12-116
Utilise Fichier comme sortie standard (comme >), mais
ajoute la sortie à la fin du fichier. Si la variable noclobber
est définie, une erreur se produit si le fichier n’existe pas,
sauf si vous employez un format avec ! (point
d’exclamation). Sinon, l’instruction est semblable à >.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Une commande reçoit l’environnement dans lequel le shell a été appelé, modifié le cas
échéant par les options d’entrée/sortie et la présence de la commande en tant que pipeline.
Ainsi, contrairement à certains shells précédents, les commandes exécutées à partir d’un
fichier de commandes shell n’ont pas accès au texte des commandes par défaut. A
l’inverse, elles reçoivent les entrées standard d’origine, directement du shell. Utilisez le <<
mécanisme pour présenter les données en ligne, qui permet aux fichiers de commande
shell de fonctionner comme des éléments de pipelines et permet aussi au bloc shell de lire
son entrée. Notez que l’entrée standard par défaut pour une commande exécutée
séparément n’est pas remplacée par le fichier vide /dev/null. Au lieu de cela, l’entrée
standard demeure l’entrée standard d’origine du shell.
Pour réacheminer les sorties d’erreur via un tube vers la sortie standard, utilisez le format |&
(barre verticale, perluète) et non la seule | (barre verticale).
Flux de contrôle
Le shell contient des commandes qui peuvent servir à réguler le flux de contrôle dans les
fichiers de commandes (scripts shell) et, de façon limitée mais fort utile, dans les entrées
ligne de commande. Ces commandes forcent le shell à relire ou à sauter ses entrées.zl
Les instructions foreach, switch et while et le format if–then–else de l’instruction if,
requièrent que les mots-clés principaux apparaissent dans une seule commande simple sur
une ligne d’entrée.
Si l’entrée shell ne peut être explorée, le shell place dans des tampons les entrées chaque
fois qu’une boucle est lue et se sert du tampon interne pour effectuer les relectures requises
par la boucle. Des goto arrière permettent ensuite de localiser les entrées que vous n’avez
pu rechercher.
Shells
12-117
Contrôle des travaux (shell C)
Le shell associe à chaque process un numéro de travail. Il maintient un tableau des travaux
en cours et leur affecte des numéros (petits nombres entiers). Lorsqu’un travail est lancé en
arrière–plan avec un caractère & (perluète), le shell affiche une ligne du type :
[1] 1234
Cette ligne indique que le travail porte le numéro 1 et qu’il se compose d’un seul process
dont l’ID est 1234. Pour afficher la table des travaux en cours, lancez la commande
intégrée jobs, page 12-97
Un travail en arrière–plan doit affronter la concurrence pour obtenir des données en entrée
à partir de la station de travail. Il en est de même pour les données en sortie, qui sont
imbriquées avec les sorties des autres travaux.
Vous pouvez référencer un travail dans le shell Korn de plusieurs façons : Le signe
pourcentage (%) introduit un nom de travail. il peut s’agir du numéro de travail ou du nom de
la commande qui a lancé le travail s’il s’agit d’un nom unique. Par exemple, si un process
make est exécuté comme travail 1, vous pouvez le désigner comme suit : %1. Vous pouvez
également le désigner comme suit : %make s’il n’y a qu’un travail suspendu commençant
par la chaîne make. Vous pouvez également utiliser le suivant :
%?Chaîne
pour spécifier un travail dont le nom contient la variable Chaîne, s’il n’existe qu’un seul
travail de ce type.
Le shell détecte immédiatement les changements d’état des process. Si un travail bloque,
rendant impossible la poursuite du traitement, le shell envoie un message à la station de
travail. Ce message ne s’affiche que lorsque vous appuyez sur Entrée. Si, toutefois, la
variable notify est définie, le shell émet immédiatement un message indiquant un
changement au niveau de l’état des travaux en arrière–plan. Au moyen de la commande
intégrée notify, page 12-98, marquez les process pour lesquels vous souhaitez que les
changements d’état vous soient notifiés. Par défaut, la commande notify marque le process
courant.
12-118
AIX Guide de l’utilisateur – Système d’exploitation et unités
Liste des commandes intégrées du shell C
@ à la page 12-101
Affiche la valeur des variables shell spécifiées.
alias, page 12-95
Affiche les alias spécifiés (tous, par défaut).
bg, page 12-95
Place à l’arrière–plan le travail courant ou les travaux
spécifiés.
break, page 12-95
Reprend l’exécution après la fin de la commande foreach
ou while la plus proche.
breaksw, page 12-95
Interrompt une commande switch.
case, page 12-95
Définit un label dans une commande switch.
cd, page 12-95
Passe au répertoire spécifié.
chdir, page 12-95
Passe au répertoire spécifié.
continue, page 12-95
Poursuit l’exécution de la commande foreach ou while la
plus proche.
default, page 12-95
Etiquette le cas par défaut d’une instruction switch.
dirs, page 12-95
Affiche la pile de répertoires.
echo, page 12-95
Ecrit les chaînes de caractères sur la sortie standard du
shell.
else, page 12-95
Exécute les commandes qui suivent le deuxième else dans
une séquence de commandes if ( Expression ) then ...
else if ( Expression2) then ... else ... endif.
end, page 12-95
Indique la fin d’une séquence de commandes précédée de
la commande foreach.
endif, page 12-96
Exécute les commandes qui suivent le deuxième then
dans une séquence de commandes if ( Expression ) then
... else if ( Expression2 ) then ... else ... endif.
endsw, page 12-96
Marque la fin d’une séquence de commandes switch (
Chaîne ) case Chaîne:... breaksw default:... breaksw
endsw. Cette séquence de commandes compare
successivement chaque étiquette à la valeur de la variable
Chaîne. L’exécution se poursuit après un endsw si une
commande breaksw est exécutée ou qu’aucun label ne
correspond et qu’aucune valeur par défaut n’est définie.
eval, page 12-96
Lit les arguments comme entrée pour le shell et exécute
le(s) commande(s) résultante(s), dans le contexte du shell
courant.
exec, page 12-96
Exécute la commande spécifiée, à la place du shell
courant.
exit, page 12-96
Quitte le shell avec la valeur de variable d’état du shell, ou
celle de l’expression spécifiée.
fg, page 12-96
Amène à l’avant–plan le travail courant ou les travaux
spécifiés, et poursuit leur exécution même s’ils ont été
arrêtés.
foreach, page 12-96
Définit tour à tour une variable Nom pour chaque membre
spécifié par la variable Liste et une séquence de
commandes, jusqu’à atteindre une commande end.
glob, page 12-96
Affiche une liste avec développement de l’historique, des
variables et des noms de fichiers.
Shells
12-119
12-120
goto, page 12-96
Poursuit l’exécution à partir d’une ligne déterminée.
hashstat, page 12-96
Affiche des statistiques indiquant le pourcentage de
recherches abouties de commandes, par la table de
hachage.
history, page 12-96
Affiche les listes des événements de l’historique.
if, page 12-97
Exécute une commande donnée si l’expression spécifiée
est vraie.
jobs, page 12-97
Liste les travaux actifs.
kill, page 12-97
Envoie le signal TERM (terminate), ou celui spécifié par
Signal, aux travaux ou aux process spécifiés.
limit, page 12-97
Limite l’usage de la ressource par le process courant et les
process qu’il crée.
login, page 12-98
Met fin à un shell de connexion et le remplace par une
occurrence de la commande /usr/sbin/login.
logout, page 12-98
Termine un shell de connexion.
nice, page 12-98
Définit la priorité des commandes exécutées dans le shell.
nohup, page 12-98
Provoque la non prise en compte des arrêts dans la suite
de la procédure.
notify, page 12-98
Le shell vous prévient (de façon asynchrone) lorsque l’état
du travail courant ou du travail spécifié change.
onintr, page 12-98
Contrôle l’action du shell au niveau des interruptions.
popd, page 12-98
Détruit la pile de répertoires et revient au nouveau premier
répertoire.
pushd, page 12-98
Intervertit des éléments de la pile des répertoires.
rehash, page 12-99
Recalcule, dans la variable shell path, la table d’adressage
contenant les répertoires.
repeat, page 12-99
Exécute la commande spécifiée, soumise aux mêmes
restrictions que l’instruction if, autant de fois que spécifié.
set, page 12-99
Affiche la valeur de toutes les variables shell.
setenv, page 12-99
Modifie la valeur de la variable d’environnement spécifiée.
shift, page 12-99
Décale vers la gauche la variable spécifiée.
source, page 12-99
Lit la commande spécifiée par la variable Nom.
stop, page 12-99
Arrête les travaux (courants ou spécifiés) exécutés en
arrière–plan.
suspend, page 12-99
Met fin au shell (équivaut à un signal STOP).
switch, page 12-99
Marque le début d’une séquence de commandes switch
( Chaîne ) case Chaîne:... breaksw default:... breaksw
endsw. Cette séquence de commande compare
successivement chaque étiquette à la valeur de la variable
Chaîne. Cette séquence compare successivement chaque
label ”case” à la valeur de la variable Chaîne.
time, page 12-100
Affiche un récapitulatif des temps consommés par le shell
et son process enfant.
umask, page 12-100
Détermine les droits d’accès au fichier.
unalias, page 12-100
Désactive les alias dont le nom correspond à la Trame.
unhash, page 12-100
Désactive l’usage de la table de hachage pour la
localisation des programmes en cours.
unlimit, page 12-101
Supprime toute limitation de ressources.
AIX Guide de l’utilisateur – Système d’exploitation et unités
unset, page 12-101
Supprime toutes les variables dont le nom correspond à la
Trame.
unsetenv, page 12-101
Supprime de l’environnement toutes les variables dont le
nom correspond à la Trame.
wait, page 12-101
Attend tous les travaux en arrière–plan.
while, page 12-101
Evalue les commandes de la séquence qui va du while au
end correspondant, tant que la variable Expression a une
valeur non nulle.
Voir aussi
Shell Korn
Commandes ksh et stty,
Commande alias, cd, page 12-47,
Commande export, page 12-40,
Commande fc, page 12-48,
Commande getopts, page 12-48,
Commande read, page 12-49,
Commandes de shell Korn set, page 12-41 et typeset, page 12-45,
Fichier /etc/passwd,
Shell Bourne
Commandes bsh ou Rsh, commande login,
Commande spéciale shell Bourne read,
Sous–routines setuid et setgid,
Fichier spécial null,
Format de fichier environment et profile.
Shells
12-121
Shell C
La commande csh, commande ed.
L’alias, page 12-95,
unalias, page 12-100,
jobs, page 12-97,
notify, page 12-98 et et, page 12-99 Commandes intégrées du shell c.
12-122
AIX Guide de l’utilisateur – Système d’exploitation et unités
Chapitre 13. Documentation AIX
La documentation AIX en ligne est disponible sur le CD-ROM suivant :
– 86 X2 32EM : Hypertext Library. Pour AIX 5.3
Les instructions d’installation d’Hypertext Library sont contenues dans le livret du CD-ROM
et doivent être suivies à la lettre.
Hypertext Library est fourni avec un ensemble d’outils appelé The Hypertext Library Utilities.
Cet ensemble d’outils comporte une fonction Search permettant la recherche d’informations
dans toute la bibliothèque, de même qu’une fonction Multi-Print avec laquelle vous pouvez
imprimer plusieurs documents au moyen d’un simple clic dans la fenêtre Search Results ;
il offre également des fonctions permettant la création et la gestion des remarques dans
l’ensemble de la bibliothèque ainsi que l’ajout de documentation utilisateur à la
bibliothèque (ou le retrait de cette documentation).
Hypertext Library et Hypertext Library Utilities possèdent une interface graphique et texte.
Le contenu de la documentation Hypertext Library et les outils Hypertext Library Utilities
sont décrits dans la page d’accueil Hypertext Library.
Documentation AIX
13-1
13-2
AIX Guide de l’utilisateur – Système d’exploitation et unités
Annexe A. Accessibilité
L’accessibilité permet à des personnes dotées de compétences différentes d’utiliser les
moyens informatiques. Cette annexe décrit les caractéristiques d’accessibilité d’AIX 5LT et
leur utilisation.
Le logiciel AIX ® est compatible avec plusieurs normes d’accessibilité disponibles sur le
marché. Les utilisateurs dotés de compétences différentes peuvent ainsi accéder à la
documentation d’assistance et à l’ensemble des fonctions prises en charge par AIX via ses
interfaces. Vous pouvez également personnaliser la souris et le clavier.
Utilisation de la ligne de commande
Toutes les fonctions du logiciel AIX sont disponibles via la ligne de commande de sorte
qu’elles peuvent être prises en charge par des technologies assistées compatibles avec
l’environnement emacs. L’interface de commande est également disponible à distance à
l’aide des technologies assitées telles que JAWS qui prend en charge les environnements
telnet dans le système d’exploitation Windows.
Utilisation de Web–based System Manager et de SMIT
Web–based System Manager offre une accessibilité clavier complète et une prise en charge
limitée pour le changement de taille de police pour les administrateurs système. Le lecteur
d’écran n’est actuellement pas pris en charge. Les menus System Management Interface
Tool (SMIT) sont accessibles à l’aide des mêmes technologies assistées qui fournissent une
accessiblité via la ligne de commande. La version textuelle de SMIT (qui est activée via la
commande smitty sur un terminal graphique) doit être utilisée à la place de la version Motif
ou GUI activée à l’aide de la commande smit.
Utilisation des extensions clavier X pour augmenter
l’accessibilité dans l’environnement X WindowSystem
Si vous utilisez telnet ou un programme d’émulation de terminal pour accéder à AIX, les
caractéristiques d’accessibilité du clavier sont fournies soit par l’application, soit par votre
environnement d’exploitation. Par exemple, dans le système d’exploitation Windows, vous
pouvez ouvrir le Panneau de configuration et sélectionner Options d’accessibilité pour
activer et définir les réglages d’accessibilité du clavier. Les options d’accessibilité du clavier
sont également disponibles sur la console graphique AIX exécutant le logiciel X Window
System ou l’environnement Common Desktop (CDE).
Les extensions clavier X prennent en charge les fonctions d’accessibilité clavier standard de
l’environnement et des applications X Window System. Le tableau suivant fournit une
description de ces fonctions et des moyens permettant de les activer.
Accessibilité
A-1
Tableau 1. Extensions clavier X prenant en charge les fonctions d’accessibilité clavier
A-2
Fonction
Description
Activation des fonctions de
navigation clavier
Touches
rémantentes
(StickyKeys)
Interprètent des pressions
séquentielles de touches de
modification comme si elles
étaient actionnées
simultanément. Par exemple, la
combinaison de touches
Ctrl+Alt+Suppr et la
combinaison MAJ+combinaison
numérique qui permet d’obtenir
un symbole. Cette fonction est
destinée aux utilisateurs qui ne
peuvent pas appuyer sur
plusieurs touches en même
temps.
Appuyez 5 fois sur la touche
MAJ pour activer les touches
rémanentes (StickyKeys). Un
signal audio est émis lorsque
cette fonction est activée et
utilisée. Appuyez 5 fois sur la
touche MAJ ou appuyez
simultanément sur deux touches
de modification pour les
désactiver. Un signal audio est
émis lorsque cette fonction est
désactivée.
Touches à bascule
(ToggleKeys)
Emettent un signal audio
lorsqu’une touche à bascule
(touches Verr. Maj. et Verr.
Num., par exemple) est
actionnée. Cette fonction est
destinée aux utilisateurs
souffrant d’une déficience
visuelle.
Activation et désactivation
automatique comme pour les
touches rémanentes
(StickyKeys).
Touches
affleurantes
(SlowKeys)
Permettent d’éliminer les
erreurs de manipulation de
touches par les utilisateurs
souffrant de déficience visuelle.
Appuyez sur la touche MAJ de
droite pendant 12 secondes. Au
bout de 8 secondes, des bips
sonores retentissent. A l’issue
des 4 secondes restantes, des
bips de confirmation retentissent.
Touches de
répétition
(RepeatKeys)
Activent et désactivent les
principales commandes de
répétition automatique. Cette
fonction a un effet sur le délai
de répétition automatique et les
commandes d’intervalle. Cette
fonction est destinée aux
utilisateurs à mobilité réduite.
Activation et désactivation
automatique comme pour les
touches affleurantes (SlowKeys).
Dans l’environnement CDE,
activez ou désactivez la fonction
Répétition automatique via
l’application clavier dans le
gestionnaire de styles CDE.
Touches rebond
(BounceKeys)
Permettent d’éliminer les
erreurs liées à l’actionnement
répété de la même touche par
les utilisateurs à mobilité
réduite.
Activation et désactivation
automatique comme pour les
touches affleurantes (SlowKeys).
Touche souris
(MouseKeys)
Permet de contrôler le pointeur
de la souris à l’aide du clavier.
Appuyez sur la combinaison de
touches MAJ + Verr. Num. après
avoir modifié le fichier keymap.
Reportez–vous aux explications
ci–dessous.
AIX Guide de l’utilisateur – Système d’exploitation et unités
Activation des extensions clavier X
Vous devez modifier le fichier /usr/lpp/X11/defaults/xserverrc afin d’activer les extensions
clavier X sur le système AIX.
L’entrée de fichier xserverrc appelle les options suivantes :
+kb
Active les extensions clavier
+accessx
Active les extensions d’accessibilité
Vous pouvez ajouter ces options au fichier /usr/lpp/X11/defaults/xserverrc en ajoutant la
ligne suivante au fichier :
EXTENSIONS=”$EXTENSIONS +kb +accessx”
Touche souris (MouseKeys)
MouseKeys vous permet d’utiliser les touches de direction et les touches numériques du
pavé à 10 touches du clavier pour contrôler le pointeur de souris à l’écran. Cette fonction
vous permet aussi de sélectionner des objets comme si vous utilisiez les boutons sur la
souris.
Cette fonction est activée lorsque le fichier keymap est modifié. Les fichiers keymap sont
spécifiques à l’emplacement et sont situés dans le répertoire
/usr/lpp/X11/defaults/xmodmap/ locale /keyboard où locale est le nom de vos paramètres
régionaux système, par exemple en_US.
Après avoir localisé le fichier keymap, éditez le fichier de définition xmodmap keyboard
pour remplacer l’entrée de la version décalée de la touche Verr. Num. par la chaîne
suivante : Pointer_EnableKeys.
Voici un exemple de la ligne de définition pour la touche Verr. Num. :
!Keypad
!––––––––––
Keycode 98 =
Base
–––––––
Num_Lock
Shift
––––––––
Pointer_EnableKeys
Alt–Gr(Mod2)
––––––––––––––––––
NoSymbol
Accessibilité
A-3
Utilisation du gestionnaire de styles dans l’environnement
Common Desktop (CDE)
Utilisez le gestionnaire de styles CDE pour personnaliser la couleur, la police et la forme
du pointeur de la souris ainsi que la sortie audio.
Changement de la couleur et de la forme du pointeur
de la souris
Le fichier /usr/include/X11/cursorfont.h contient une liste des noms de formes de curseur
disponibles pour modifier le curseur de différentes manières :
X–cursor
Le curseur prend la forme d’un X grand format.
arrow
Le curseur prend la forme d’une flèche dirigée vers la droite.
base_arrow_down
Le curseur prend la forme d’une flèche dirigée vers le bas.
base_arrow_up
Le curseur prend la forme d’une flèche dirigée vers le haut.
circle
Le curseur prend la forme d’un cercle.
Exécutez la commande suivante dans la fenêtre racine pour changer la couleur et la forme
du pointeur de la souris :
xsetroot –cursor_name
name
–bg
color
où name désigne le nom de la forme de curseur et color la couleur sélectionnée.
Par exemple, pour changer la forme du curseur pour qu’il devienne un X grand format de
couleur rouge, exécutez la commande suivante :
xsetroot –cursor_name X–cursor –bg red
A-4
AIX Guide de l’utilisateur – Système d’exploitation et unités
Index
Symbols
. répertoires (point), 6-8
.. répertoires (point point), 6-8
/usr/bin/ksh93, 12-65
A
accessibilité, A-1
ACL, 10-9
exemple, 10-15
exemple pour liste ACL AIXC, 10-12
maintenance, 10-9
pour objets de systèmes de fichiers, 10-9
affectations de touches, 11-7
affectations des boutons de la souris, 11-7
affichage
affectations de touches de contrôle, 2-10
alias, 12-20
clavier, mappes disponibles, 2-8
contenu d’un répertoire de fichiers, 6-11
contenu d’un répertoire DOS, 7-22
contenu de fichier, 7-11
dernières lignes d’un fichier, 7-14
écrans disponibles, 2-6
espace disponible, 6-5
ID utilisateur, 1-6
informations sur le contrôle des accès, 10-14,
10-16
informations sur un groupe d’utilisateurs, 10-6
liste sur le système, 2-6
logiciels, 2-9
nom de connexion, 1-5
nom de la console, 2-4
nom du système, 1-6
nom du terminal, 2-5
polices disponibles, 2-7
premières lignes d’un fichier, 7-14
process planifiés, 4-19
répertoire de fichiers, 6-10
texte en gros caractères, 5-8
unités système, 2-2
valeurs des variables d’environnement, 2-12
variables d’environnement, 2-11
affichage à trois chiffres, 1-2
AIXwindows
démarrage de Window Manager, 11-5
fichiers de lancement, 11-5
AIXwindows Desktop, personnalisation
des écrans, 3-6
ajout
terminaux ASCII, 3-5
terminaux caractères, 3-5
alias
., shell Korn ou POSIX, 12-20
affichage, 12-20
création, 12-20
exportation, 12-20
non pris en charge, 4-8, 4-9
suppression, 12-20
alias de commande, 4-10
alias de commandes, shell Korn ou POSIX, 12-20
substitution de tilde, 12-21
alias r, 4-8, 4-9
annulation, détermination automatique des types
de fichiers d’impression, 9-12, 9-13
arguments, 4-5
ASCII – PostScript
automatisation de la conversion, 8-18, 8-20
conversion de fichiers, 8-18, 8-20
impression, 8-18
autorisation, 10-12
B
banner, commande, 5-8
blancs, interprétation, 12-87
blocage, travaux d’impression, 8-13
C
canaux, 5-5
caractère, déclaration dans le shell Korn ou
POSIX, 12-16
caractères de remplacement, 7-5
astérisque, 7-5
point d’interrogation, 7-5
CDE (Common Desktop Environment)
activation du démarrage automatique, 3-2
ajout d’écrans et de terminaux, 3-4
arrêt, 3-2
arrêt manuel, 3-2
démarrage, 3-2
démarrage manuel, 3-2
désactivation du démarrage automatique, 3-2
modification des profils, 3-3
suppression d’écrans et de terminaux, 3-4
CDRFS, 6-2
chaînes, recherche dans des fichiers texte, 7-12
changement
couleur et forme du pointeur de la souris, A-4
de répertoire, 6-10
invite système, 11-11
police par défaut, 11-9
Index
X-1
changement de l’affectation,
touches de contrôle, 11-10
changement de nom
fichiers, 7-8
répertoires, 6-9
chemin d’accès absolu, 6-8
chemin d’accès relatif, 6-8
classes, utilisateur, 10-4
classes de caractères, Shell Bourne, 12-89
clavier, mappes disponibles, liste, 2-8
clear, commande, 5-7
commande acledit, 10-9, 10-15, 10-16
commande aclget, 10-9, 10-14, 10-16
commande aclput, 10-9, 10-14, 10-16
commande aixterm, 2-13
commande alias intégrée,
shell Korn ou POSIX, 12-20, 12-47
commande at, 4-19, 4-20
commande atq, 4-19
définition, 4-13
directives, 9-2
objet, 9-1
commande awk, 7-6
commande bg intégrée,
shell Korn ou POSIX, 12-47
commande bsh, 12-4, 12-70, 12-72
commande capture, shell C, 5-3, 7-12
commande cd, 6-7, 6-10
commande chdir intégrée, shell C, 12-95
commande chfont, 11-9, 11-10
commande chgrp, 10-15
commande chmod, 10-8, 10-9
commande chown, 10-4, 10-15
commande chpq, 8-20
commande colrm, 7-17
commande compress, 9-12
commande continue intégrée,
shell Korn ou POSIX, 12-40
commande cp, 6-11, 7-8
commande cpio, 9-4
commande cpio –i, 9-9
commande cpio –o, 9-8
commande csh, 12-4, 12-92
commande cut, 7-15
commande del, 7-20
commande df, 6-5
commande diff, 7-13
commande dosdel, 7-22
commande dosdir, 7-22
commande dosread, 7-21
commande doswrite, 7-21
commande else intégrée, shell C, 12-95
commande enq, 8-2
commande env, 2-11
commande exit, 1-4
commande export, 11-9
commande fc, 12-15
commande fdformat, 9-5
X-2
commande find, 7-9, 9-15
commande flcopy, 9-7
commande format, 9-5
commande fsck, 9-2, 9-6
commande grep, 5-6, 7-12
commande groups, 10-4
commande head, 7-14
commande history, 4-7
commande id, 1-3, 1-6
commande intégrée setsenv,
shell Korn ou POSIX, 12-49
commande intégrée shift, 12-88
commande intégrée test,
shell Korn ou POSIX, 12-49
commande jobs intégrée, shell C, 12-118
commande kill, 4-20
commande ksh, 9-9, 12-4, 12-12
commande let intégrée,
shell Korn ou POSIX, 12-30, 12-48
commande ln, 6-6, 7-19
commande lock, 10-17
commande login, 1-3, 10-12
commande logname, 1-5
commande lp, 8-2
commande lpr, 8-2
commande ls, 6-11
commande lscfg, 2-2
commande lscons, 2-4
commande lsdisp, 2-6
commande lsfont, 2-7
commande lsgroup, 10-6
commande lskbd, 2-8
commande lslpp, 2-9
Commande man, clavier, 2-8
commande man, 4-6
commande mkdir, 6-9
commande mkvirprt, 8-4
commande more, 7-11
commande mv, 7-8
commande mvdir, 6-9
commande mwm, 11-5
système d’exploitation, 1-6
commande nice, 4-16
commande nl, 7-17
commande page, 7-11
dans des commandes, 4-5
shell Korn ou POSIX, 12-22
commande passwd, 1-9
annulation, 1-9
directives, 1-8
modification ou définition, 1-9
commande paste, 7-15
absolu, 6-8, 7-4
définition, 7-4
relatif, 6-8
répertoire, 6-8
sections de fichiers texte, 7-15
AIX Guide de l’utilisateur – Système d’exploitation et unités
commande pg, 7-11
commande piobe, 8-2
commande print intégrée,
shell Korn ou POSIX, 12-49
commande printenv, 2-12
commande ps, 4-14
commande psh, 12-4, 12-12
commande pwd, 6-10
commande qcan, 8-10
commande qchk, 8-14
commande qhld, 8-13
commande qmov, 8-12
commande qpri, 8-11
commande qprt, 8-2, 8-5
indicateurs, 8-5, 8-18
commande r, 4-8, 4-9
commande renice, 4-16, 4-17
commande restore, 9-15, 9-16, 9-17
commande return intégrée,
shell Korn ou POSIX, 12-40
commande rm, 7-7, 7-20
commande Rsh, 12-4, 12-71, 12-72
commande rsh, 12-4
commande set intégrée, 12-88
Shell Bourne, 12-79
commande sh, 12-4
commande shutdown, 1-4
commande smit, 4-6, 9-16, 11-10
annulation d’un travail d’impression, 8-10
blocage d’un travail d’impression, 8-13
conversion ASCII–PostScript, 8-20
déplacement d’un travail d’impression, 8-12
lancement d’un travail d’impression, 8-9
libération d’un travail d’impression, 8-13
priorité d’un travail d’impression, 8-11
restauration de fichiers, 9-18
vérification de l’état d’un travail
d’impression, 8-14
commande sort, 7-13
commande stty, 2-10, 11-10
commande su, 1-3, 10-12
commande tail, 7-14, 9-11
copie sur ou à partir de, 9-10
utilisation en tant que support
de sauvegarde, 9-4, 9-19
vérification de l’intégrité, 9-11
commande tcopy, 9-10
commande touch, 1-3
commande tsh, 12-4
commande tty, 2-5
commande type intégrée, Shell Bourne, 12-80
commande typeset intégrée,
shell Korn ou POSIX, 12-31, 12-45
commande unalias intégrée,
shell Korn ou POSIX, 12-20
commande uname, 1-6
commande uncompress, 9-12, 9-14
commande unpack, 9-12, 9-13, 9-14
objet, 9-12
commande wc, 7-14
commande whatis, 4-7
commande whereis, 4-6
commande who, 1-6
commande who am i, 1-5
commande whoami, 1-5
commande wsm, 4-6
commande xinit, 11-5
commande xlock, 10-17
commande zcat, 9-14
commandes
|, 5-5
acledit, 10-9, 10-15, 10-16
aclget, 10-9, 10-14, 10-16
aclput, 10-9, 10-14, 10-16
aixterm, 2-13
alias, 4-10
at, 4-19
atq, 4-19
awk, 7-6
backipu, 9-4, 9-15
bsh, 12-72
capture, 5-3, 7-12
cd, 6-10
chfont, 11-9, 11-10
chgrp, 10-15
chmod, 10-9
chown, 10-4, 10-15
chpq, 8-20
colrm, 7-17
compress, 9-12
coupe, 7-15
cp, 6-11, 7-8
cpio, 9-4
cpio –i, 9-9
cpio –o, 9-8
création de mnémoniques, 4-10
csh, 12-92
del, 7-20
df, 6-5
diff, 7-13
dircmp, 6-14
distinction minuscules–majuscules, 4-4
dosdir, 7-22
doswrite, 7-21
enq, 8-2
entrée, 4-3
env, 2-11
espaces entre, 4-3
export, 11-9
find, 9-15
flcopy, 9-7
formatage de texte, 4-10
fsck, 9-2, 9-6
généralités, 9-12, 9-13
grep, 5-6, 7-12
head, 7-14
history, 4-7
id, 1-3
Index
X-3
indicateurs, utilisation, 4-4
informations, affichage, 4-6
instructions d’usage, 4-5
intégrées, 12-39
ksh, 9-9
ln, 6-6, 7-19
lock, 10-17
login, 1-3, 10-12
logname, 1-5
longues commandes sur plusieurs lignes,
entrée, 4-4
lp, 8-2
lpr, 8-2
ls, 6-11
lscfg, 2-2
lscons, 2-4
lsdisp, 2-6
lsfont, 2-7
lskbd, 2-8
lslpp, 2-9
mkdir, 6-9
mkvirprt, 8-4
modification de l’historique, 4-9
mv, 7-8
mvdir, 6-9
mwm, 11-5
nl, 7-17
nom d’une commande, définition, 4-4
paramètres, 4-5
paste, 7-15
pg, 7-11
piobe, 8-2
plusieurs commandes sur une même ligne,
entrée, 4-3
pr, 8-16
présentation, 4-3
printenv, 2-12
pwd, 6-10
qcan, 8-10
qchk, 8-14
qhld, 8-13
qmov, 8-12
qpri, 8-11
qprt, 4-8, 4-9, 8-2, 8-5, 8-18
renice, 4-17
répétition de commandes entrées, 4-8
restore, 9-15, 9-16, 9-17
rm, 7-7, 7-20
rmdir, 6-13
Rsh, 12-4, 12-72
sauvegarde de commande entrée, 4-7
shell Bourne, 12-73
shell C, 12-94
shell Korn ou POSIX, 12-9
smit, 4-6, 8-9, 8-10, 8-11, 8-12, 8-13, 8-14,
8-20, 9-16, 9-18, 11-10
sort, 7-13
stty, 2-10, 11-10
su, 1-3, 10-12
substitution de chaînes, 4-9
syntaxe, 4-3
tail, 7-14, 9-4, 9-11, 9-19
tcopy, 9-10
tsh, 12-4
X-4
tty, 2-5
uncompress, 9-12, 9-14
unpack, 9-12, 9-13, 9-14
wc, 7-14
whatis, 4-7
whereis, 4-6
whoami, 1-5
wsm, 4-6
xinit, 11-5
xlock, 10-17
zcat, 9-14
commandes intégrées, 12-39
alias, 12-20, 12-47
bg, 12-47
chdir, 12-95
continue, 12-40
else, 12-95
let, 12-30, 12-48
print, 12-49
return, 12-40
set, 12-79, 12-88
setsenv, 12-49
Shell Bourne, 12-91
shell Bourne, 12-76
shell C, 12-94
shift, 12-88
spéciales, 12-39
standard, 12-47
test, 12-49
travaux, 12-118
type, 12-80
typeset, 12-31, 12-45
unalias, 12-20
commandes intégrées spéciales,
shell Korn ou POSIX, 12-39, 12-52
commandes intégrées standard,
shell Korn ou POSIX, 12-47, 12-53
commandes shell
alias r, 4-8, 4-9
history, 4-7
commandes spéciales, shell Bourne, 12-76
commutateurs, dans des commandes, 4-4
comparaison de fichiers, 7-13
compression, fichiers, 9-12
concaténation de fichiers texte, 5-3
conditions de l’état, des imprimantes, 8-15
connexion
affichage du nom, 1-5
éloignée, 1-1
en tant qu’autre utilisateur, 1-3
multiple, 1-3
console, affichage du nom, 2-4
contrôle des accès
affichage des informations, 10-16
modification des informations, 10-16
paramétrage des informations, 10-16
contrôle des travaux
shell C, 12-118
shell Korn ou POSIX, 12-56
conversion, ASCII – PostScript, 8-18
copie
fichier à partir d’une bande ou d’un disque, 9-9
fichiers, 7-8
AIX Guide de l’utilisateur – Système d’exploitation et unités
fichiers de système d’exploitation de base,
7-21
fichiers sur bande ou disque, 9-8
sur ou à partir d’une bande, 9-10
vers et à partir de disquettes, 9-7
copie d’un écran dans un fichier, 5-8
coupe, sections de fichiers texte, 7-15
création
alias, 12-20
alias de commande, 4-10
répertoires, 6-9
D
déballage, fichiers, 9-14
déclaration de caractères
shell Bourne, 12-74
shell Korn ou POSIX, 12-16
décompression, fichiers, 9-13, 9-14
décompte
lignes, 7-14
mots, 7-14
octets, 7-14
définitions de menus, 11-7
démarrage
AIXwindows Window Manager, 11-5
shell C, 12-92
Shell Korn restreint, 12-72
démarrage automatique
activation, 3-2
désactivation, 3-2
déplacement, travaux d’impression, 8-12
dircmp, commande, 6-14
disquette
formatage, 9-5
gestion, 9-3
manipulation, 9-3
disquettes, copie vers ou à partir de, 9-7
document here, 5-5, 12-35
documentation, vue d’ensemble, 13-1
documents entrée en ligne, 5-5
droit d’accès
fichier, 10-8
répertoire, 10-8
E
echo, commande, 5-7
écrans
affichage de texte écran par écran, 7-11
affichage de texte en gros caractères, 5-8
copie d’un écran dans un fichier, 5-6
copie dans un fichier, 5-8
suppression, 5-7
éditeur, 12-58
ed, 7-7
vi, 7-7
éditeur ed, 7-7
éditeur emacs, 12-58
éditeur vi, 7-7
édition en ligne, 12-61
mode de contrôle, 12-61
mode saisie, 12-61
édition, en ligne, shell Korn ou POSIX, 12-58
édition en ligne
mode d’édition vi, 12-61
shell Korn ou POSIX, 12-58
édition en ligne (shell Korn), mode emacs, 12-58
effacement de l’écran, 5-7
élimination d’une sortie, 5-4
éloignée, connexion, 1-1
entrée, réacheminement, 5-2
entrée standard
copie dans un fichier, 5-6
définition, 5-2
réacheminement, 5-4
environnement
affichage, 2-11
fichier, 11-2
paramétrage, 11-2
espace, affichage de l’espace disponible, 6-5
états de sortie, shell Korn ou POSIX, 12-38
évaluation arithmétique,
shell Korn ou POSIX, 12-30
exportation
alias, 12-20
variables shell, 11-9
expression régulière, 7-6
expressions, recherche de fichiers, 7-9
extensions clavier, A-1
extensions clavier X
accessibilité, A-1
activation, A-3
F
fichier
arborescence, 6-2
commande, 7-10
droits d’accès, 10-4
fichier .env, 11-4
fichier .mwmrc, 11-7
fichier .profile, 11-3
fichier .Xdefaults, 11-6
Fichier .xinitrc, 11-5
fichier /dev/null, 5-4
fichier /etc/environment, 11-2
fichier /etc/profile, 11-3
fichier de connexion
.profile, 11-3
/etc/environment, 11-2
/etc/profile, 11-3
fichier .env, 11-4
fichier de ressources, modification, 11-6
fichier lié, suppression, 7-20
fichier PostScript, conversion
à partir d’ASCII, 8-18, 8-20
fichier profile, 11-2
fichier racine ;, 6-3
fichiers
.mwmrc, 11-7
.profile, 11-3
.Xdefaults, 11-6
.xinitrc, 11-5
/dev/null, 5-4
/etc/environment, 11-2
/etc/profile, 11-3
affichage, contenu, 7-11
affichage des dernières lignes, 7-14
affichage des premières lignes, 7-14
ajout d’une ligne à un fichier, 5-7
Index
X-5
archivage, 9-19
ASCII, 7-3
binaire, 7-3
changement de nom, 7-8
collage de texte, 6-8, 7-4, 7-15
comparaison, 6-14, 7-13
compression, 9-12
concaténation, 5-3
conventions d’appellation, 7-4
copie, 7-8
copie à partir d’une bande ou d’un disque, 9-9
copie dans DOS, 7-21
coupe de champs sélectionnés, 7-15
création avec un réacheminement à partir
du clavier, 5-3
déballage, 9-14
décompression, 9-14
définition, 6-1
déplacement, 7-8
droit d’accès, 7-4
emballage, 9-12
environnement, 11-2
exécutable, 7-3
expression régulière, 7-6
extraction, 9-19
fichier .env, 11-4
formatage, pour affichage, 7-11
formatage pour l’impression, 8-16
fusion de lignes, 7-15
généralités, 7-1
gestion, 7-7
identification du type, 7-10
Impression de fichiers ASCII sur une
imprimante PostScript, 8-18
joining, 5-3
liaison, 7-18, 7-19
localisation de section, 4-6
métacaractère, 7-6
mode d’accès, définition, 7-18
modes d’accès, 10-4
modification
modification de la propriété, 10-4
numérotation de lignes, 7-17
propriété, 7-18, 10-4
recherche d’une chaîne, 7-12
restauration, 9-16, 9-17, 9-18
sauvegarde, 9-15
sortie, 7-14
suppression, 7-7
suppression de colonnes, 7-17
suppression de fichiers liés, 7-20
suppression du DOS, 7-22
tri du texte, 7-13
types
fichiers de lancement
AIXwindows, 11-5
shell C, 12-92
système, 11-2
X Server, 11-5
fichiers de ressources, modification, 11-7
fichiers DOS
affichage du contenu, 7-22
conversion, 7-21
copie, 7-21
X-6
suppression, 7-22
fichiers texte
collage de sections, 7-15
coupe de sections, 7-15
création à partir d’une entrée du clavier, 5-3
numérotation de lignes, 7-17
recherche de chaînes, 7-12
suppression de colonnes, 7-17
tri, 7-13
file d’attente, conditions de l’état, 8-15
file d’attente d’impression, conditions de l’état, 8-15
files d’attente, définition, 8-3
filtre enscript, 8-18
filtres, 5-5
fonction coprocess, shell Korn ou POSIX, 12-37
formatage, fichiers à imprimer, 8-16
formatage de disquettes, 9-5
formatage de texte
caractères étendus mono–octets, 4-11
commandes, 4-10
prise en charge des caractères
internationaux, 4-11
prise en charge des caractères
multi-octets, 4-11
G
gestionnaire de styles, accessibilité, A-4
H
historique
édition, 4-9
substitution, shell C, 12-104
historique des commandes,
shell Korn ou POSIX, 12-14
I
ID, utilisateur, 10-4
ID de connexion, 10-3
ID utilisateur, passage à un autre, 1-3
impression, 8-1
annulation de travaux d’impression, 8-10
annulation des types de fichiers
d’impression, 8-21
blocage des travaux d’impression, 8-13
conditions de l’état des imprimantes, 8-15
déplacement des travaux, 8-12
fichiers ASCII sur une imprimante
PostScript, 8-18
file d’attente, 8-3
formatage de fichiers, 8-16
imprimante distante, 8-4
imprimante locale, 8-2
Imprimante réelle, 8-4
imprimantes virtuelles, 8-4
lancement de travaux d’impression, 8-5
libération des travaux d’impression, 8-13
priorité d’un travail d’impression, 8-11
programme expéditeur de l’imprimante, 8-2
qdaemon, 8-3
spouleur, 8-2
terminologie, 8-2
travaux d’impression, 8-2
unités, 8-3
AIX Guide de l’utilisateur – Système d’exploitation et unités
unités de files d’attente, 8-3
vérification de l’état des travaux d’impression,
8-14
imprimante, 8-1
imprimante distante, définition, 8-4
imprimante locale, définition, 8-2
Imprimante réelle, définition, 8-4
imprimantes
conditions de l’état, 8-15
distant, 8-4
locales, 8-2
réel, 8-4
virtuelle, 8-4
Imprimantes PostScript, impression de fichiers
ASCII, 8-18
imprimantes virtuelles, définition, 8-4
indicateurs
dans des commandes, 4-4
pour commande pr, 8-16
pour commande qprt, 8-5, 8-18
instructions d’usage, pour les commandes, 4-5
interprétation, blancs, 12-87
invalidité, A-1
invite, changement, 11-11
K
ksh93, description, 12-65
L
lancement
shell Bourne, 12-70
shell Korn ou POSIX, 12-12
travaux d’impression, 8-5
Web–based System Manager, 4-6
langues bidirectionnelles, 2-13
lecture de l’affichage à trois chiffres, 1-2
liaison
création, 7-19
fichiers, 7-19
suppression, 7-20
libération, travaux d’impression, 8-13
liens
fixe, 7-18
généralités, 7-18
symbolique, 7-18
types, 7-18
ligne de texte, ajout à un fichier, 5-7
lignes, décompte, 7-14
liste de commandes
at, 4-19
bsh, 12-4, 12-70
cd, 6-7
chmod, 10-8
csh, 12-4
dosdel, 7-22
dosread, 7-21
exit, 1-4
fc, 12-15
fdformat, 9-5
fichier, 7-10
find, 7-9
format, 9-5
groupes, 10-4
id, 1-6
kill, 4-20
ksh, 12-4, 12-12
logname, 1-5
logout, 1-4
lsgroup, 10-6
man, 4-6
more, 7-11
nice, 4-16
page, 7-11
passwd, 1-9
ps, 4-14
psh, 12-4, 12-12
renice, 4-16
Rsh, 12-71
rsh, 12-4
sh, 12-4
shutdown, 1-4
touch, 1-3
uname, 1-6
who, 1-6
who am i, 1-5
liste de contrôle d’accès, 10-9
exemple, 10-15
exemple pour liste ACL AIXC, 10-12
maintenance, 10-9
pour objets de systèmes de fichiers, 10-9
liste des commandes
|, 5-5
<<, 5-4
>, 5-2
>>, 5-3
banner, 5-8
clear, 5-7
du shell Bourne, 12-91
du shell Korn ou POSIX, 12-52, 12-53
echo, 5-7
script, 5-8
tee, 5-6
logiciels, affichage d’informations, 2-9
login
messages, suppression, 1-3
name, 1-1
procédure, 1-2
logout
commande, 1-4
procédure, 1-4
M
messages
affichage à l’écran, 5-7
envoi vers la sortie standard, 5-7
métacaractère, 7-6
déclaration dans le shell Korn ou POSIX, 12-16
mnémonique pour des commandes, création, 4-10
mode de contrôle, 12-61
mode saisie, définition, 12-61
modes d’accès
classes d’utilisateurs, 10-4
contrôle, 10-4
fichiers, 10-4
informations sur le groupe, affichage, 10-6
répertoires, 10-4
représentation
valeur par défaut
Index
X-7
modification
détermination automatique des types de
fichiers d’impression, 8-21
informations sur le contrôle des accès, 10-15
profils du Desktop, 3-3
mots, décompte, 7-14
mots réservés, shell Korn ou POSIX, 12-19
mwm, commande, fichiers, 7-4
N
NFS, 6-2
nombre entier, 12-30
numéro d’i–node, 6-6, 7-3, 7-18
numéro d’identification (PID), 4-13
numéro de référence d’i–node, 6-6
numéro PID, 4-13
numérotation, lignes dans des fichiers texte, 7-17
O
octets, décompte, 7-14
opérateurs de réacheminement
des entrées (<<), 5-4
opérateurs de réacheminement
des sorties (>), 5-2
options, dans des commandes, 4-4
liste des process planifiés, 4-19
modification de priorité, 4-16
planification pour un fonctionnement
en différé, 4-18
qdaemon, 8-2
relance d’un process arrêté, 4-17
suppression de la planification, 4-20
zombie, 4-14
process d’arrière–plan
compression des fichiers avant, 9-12
pour la sécurité, 10-2
utilisation de la commande smit, 9-4
process d’arrière-plan, utilisation de la commande
smit, 9-15, 9-16
process d’avant–plan, définition, 4-13
process démon, 4-13
process zombie, 4-14
processus
description, 4-13
qdaemon, 8-3
srcmstr, 8-3
startsrc, 8-3
programme, copie de la sortie dans un fichier, 5-6
programme expéditeur de l’imprimante,
définition, 8-2
P
Q
paramétrage, informations sur le contrôle des
accès, 10-14, 10-16
paramètres nommés, répertoires, 6-7
paramètres positionnels, Shell Bourne, 12-88
passage
pour devenir un autre utilisateur, 1-3
valeur par défaut, 11-6
personnalisation
affectations de touches, 11-7
affectations des boutons de la souris, 11-7
couleurs et polices, 11-6
définitions de menus, 11-7
environnement de système, 11-9
pipeline, définition, 5-5
pipelines, définition, 5-5
pointeur de souris
changement de couleur et de forme, A-1, A-4
utilisation du clavier pour contrôler, A-3
polices
changement, 11-9
liste disponible, 2-7
pr, commande, indicateurs, 8-16
priorité, travaux d’impression, 8-11
prise en charge des caractères internationaux,
formatage de texte, 4-11
prise en charge des caractères multi-octets,
formatage de texte, 4-11
process
affichage des process actifs, 4-14
arrêt, 4-17
arrière–plan, 4-13
avant–plan, 4-13
définition de la priorité initiale, 4-16
démon, 4-13
interruption, 4-17
lancement, 4-14
qdaemon
définition, 8-3
programme expéditeur de l’imprimante, 8-2
X-8
R
réacheminement
entrée et sortie (shell Korn ou POSIX), 12-35
entrée standard, 5-4
entrées/sorties (shell Bourne), 12-90
entrées/sorties des coprocess, 12-37
sortie erreur standard, 5-4
sortie standard, 5-2
sortie, vers un fichier, 5-2
réacheminement des entrées, 5-2
réacheminement des entrées/sorties
Shell Bourne, 12-90
shell C, 12-116
shell Korn ou POSIX, 12-35
récapitulatifs
commandes, 5-9
relatives à l’impression, 8-22
récapitulatifs des commandes
environnement utilisateur, 2-14
impression, 8-22
informations système, 2-14
réacheminement des entrées/sorties, 5-9
sécurité des fichiers, 10-18
sécurité du système, 10-18
recherche, chaînes de texte dans fichiers, 7-12
répertoire $PERSONNEL, 6-7
répertoire parent, description, 1-1
répertoire personnel ~, 6-7
répertoires, 6-7
abréviations, 6-7
affichage, 6-10
affichage des fichiers DOS, 7-22
AIX Guide de l’utilisateur – Système d’exploitation et unités
affichage du contenu, 6-11
changement, 6-10
changement de nom, 6-9
chemin d’accès, 6-8
comparaison du contenu, 6-14
conventions d’appellation, 6-7
copie, 6-11
création, 6-9
de travail, 6-7
définition, 6-1
déplacement, 6-9
généralités, 6-6
home, 6-7
liaison, 7-18
liste de fichiers, 6-11
modes d’accès, 10-4
modification de la propriété, 10-4
modification des droits d’accès, 10-8
organisation, 6-7
parent, 6-7
retrait, 6-13
sous–répertoires, 6-7
spécification par abréviation, 6-7
structure, 6-7
suppression, 6-13
types, 6-6
réseau, affichage du nom, avec la commande
uname, 1-6
restauration, fichiers, 9-16, 9-17, 9-18
rmdir, commande, 6-13
S
script, commande, 5-8
sécurité
menaces, 10-2
sauvegardes, 10-2
shell
programme, 12-7
script
shell (Korn ou POSIX)
avancé, 12-65
correspondance de trame, 12-33
évaluation arithmétique, 12-30
fonction coprocess, 12-37
liste des commandes intégrées
spéciales, 12-52
liste des commandes intégrées
standard, 12-53
réacheminement des entrées/sorties, 12-35
réacheminement des entrées/sorties des
coprocess, 12-37
substitution de commande, 12-29
substitution de noms de fichiers, 12-33
suppression des caractères
de déclaration, 12-34
Shell Bourne
classes de caractères, 12-89
correspondance de trame, 12-88
liste des commandes intégrées, 12-91
paramètres positionnels, 12-88
réacheminement des entrées/sorties, 12-90
substitution conditionnelle, 12-87
substitution de noms de fichiers, 12-88
substitution de variables, 12-83
variables, 12-84
variables définies par l’utilisateur, 12-83
variables prédéfinies, 12-86
shell Bourne
commandes
commandes spéciales, 12-76
déclaration de caractères, 12-74
environnement, 12-70
lancement, 12-70
mots réservés, 12-75
substitution de commande, 12-82
traitement des signaux, 12-74
shell C
commandes
contrôle des travaux, 12-118
démarrage, 12-92
expressions, 12-101
fichiers de lancement, 12-92
opérateur, 12-101
réacheminement des entrées/sorties, 12-116
règles d’utilisation, 12-93
substitution d’alias, 12-107
substitution d’historique, 12-104
substitution de commande, 12-103
substitution de noms de fichiers, 12-110
substitution de variables, 12-108
traitement des signaux, 12-93
travaux d’impression, 8-10
variables prédéfinies
et d’environnement, 12-113
shell Korn avancé, description, 12-65
shell Korn ou POSIX
alias de commandes, 12-20
commandes
commandes intégrées, 12-39
contrôle des travaux, 12-56
déclaration de caractères, 12-16
édition, 12-58
environnement, 12-13
expressions conditionnelles, 12-54
historique des commandes, 12-14
lancement, 12-12
mots réservés, 12-19
substitution de paramètres, 12-22
traitement des signaux, 12-57
Shell Korn restreint, démarrage, 12-72
shell restreint, lancement, 12-71
shell restreint, 12-4
shell sécurisé, 12-4
shell standard, expressions conditionnelles, 12-54
shells
Bourne
caractéristiques, 12-3
classes de caractères (Bourne), 12-89
contrôle des travaux (shell C), 12-118
déclaration dans Korn ou POSIX, 12-16
démarrage restreint, 12-72
disponibles, 12-4
évaluation arithmétique
(shell Korn ou POSIX), 12-30
Fonction coprocess Korn ou POSIX, 12-37
Korn ou POSIX
Index
X-9
lancement du shell C, 12-92
liste des commandes intégrées
(Bourne), 12-91
liste des commandes intégrées
spéciales Korn ou POSIX, 12-52
Liste des commandes intégrées
standard Korn ou POSIX, 12-53
paramètres positionnels (Bourne), 12-88
réacheminement
des entrées/sorties (Bourne), 12-90
réacheminement des entrées/sorties
(shell Korn ou POSIX), 12-35
restreint, 12-4
script, spécification (shell), 12-8
script shell, création, 12-7
sécurisés, 12-4
substitution conditionnelle (Bourne), 12-87
substitution de commande
(Korn ou POSIX), 12-29
Substitution de nom
de fichier (shell C), 12-110
substitution de noms de fichiers
(Bourne), 12-88
substitution de noms de fichiers
Korn ou POSIX, 12-33
Substitution de variables Bourne, 12-83
terminologie, définition, 12-5
types, 12-4
Variables Bourne prédéfinies, 12-86
Variables définies par l’utilisateur
Bourne, 12-83
variables utilisées par Bourne, 12-84
smit, accessibilité, A-1
sortie
élimination des sorties
via le fichier /dev/null, 5-4
réacheminement vers un fichier, 5-2
sortie erreur standard, réacheminement, 5-4
sortie standard
ajout à un fichier, 5-3
définition, 5-2
réacheminement, 5-2
spouleur, définition, 8-2
spouleur d’impression, définition, 8-2
startup, contrôle des fenêtres
et des applications, 11-5
substitution conditionnelle, Shell Bourne, 12-87
substitution d’alias, shell C, 12-107
substitution de commande
shell Bourne, 12-82
shell C, 12-103
shell Korn ou POSIX, 12-29
substitution de noms de fichiers
Shell Bourne, 12-88
shell C, 12-110
shell Korn ou POSIX, 12-33
substitution de tilde, alias de commandes,
shell Korn ou POSIX, 12-21
suppression
alias, 12-20
colonnes dans des fichiers texte, 7-17
écran local, 3-5
fichier lié, 7-20
fichiers, 7-7
X-10
répertoires, 6-13
suppression des caractères de déclaration,
shell Korn ou POSIX, 12-34
suppression des messages de connexion, 1-3
système
affichage du nom, 1-6
changement de l’invite, 11-11
environnement,
tâches du système de fichiers, 6-2
fichiers de lancement, 11-2
mise sous tension, 1-2
personnalisation de l’environnement, 11-9
shutdown, 1-4
variables par défaut, 11-3
système d’exploitation
affichage du nom,
avec la commande uname, 1-6
connexion, 1-2
déconnexion, 1-4
système de fichiers
exemple, illustration, 7-4
généralités, 6-2
root, 6-3
structure, 6-3
types, système de fichiers réseau (NFS), 6-2
système de fichiers CD–ROM, 6-2
système de fichiers journalisé (JFS), 6-2
système de fichiers journalisé amélioré (JFS2), 6-2
système de fichiers réseau (NFS), 6-2
Système de formatage de texte, 8-18
systèmes de fichiers
espace disponible, 6-5
réparation interactive, 9-6
système de fichiers journalisé (JFS), 6-2
système de fichiers journalisé
amélioré (JFS2), 6-2
vérification d’intégrité, 9-6
T
tee, commande, 5-6
terminal
affichage des affectations de touches
de contrôle, 2-10
affichage des paramètres, 2-12
affichage du nom, 2-5
verrouillage, 10-17
terminal X, 3-5
terminaux ASCII, ajout, 3-5
terminaux d’affichage caractères, ajout, 3-5
texte
affichage en gros caractères, 5-8
ajout à un fichier, 5-7
texte, fichiers, concaténation, 5-3
Touche souris (MouseKeys), A-3
touches de contrôle
affichage des paramètres, 2-10
changement de l’affectation, 11-10
traitement des signaux
shell Bourne, 12-74
shell C, 12-93
shell Korn ou POSIX, 12-57
AIX Guide de l’utilisateur – Système d’exploitation et unités
traitement pipeline, définition, 4-3
travaux
liste des process planifiés, 4-19
planification, 4-18
suppression de la planification, 4-20
travaux d’impression
annulation, 8-10
blocage, 8-13
définition, 8-2
déplacement, 8-12
lancement, 8-5
libération, 8-13
priorité, 8-11
vérification de l’état, 8-14
tri, fichiers texte, 7-13
type de liste ACL
AIXC, 10-9
NFS4, 10-11
types, système de fichiers CD–ROM, 6-2
U
unité d’imprimante/de traceur, définition, 8-3
unités
affichage d’informations, 2-2
file d’attente, 8-3
imprimantes ou traceurs, 8-3
unités de files d’attente, définition, 8-3
utilisateur
classes, 10-4
groupes
passage à un autre, 1-3
shell C, 12-108
shell Korn ou POSIX, 12-25
utilisateurs
affichage d’un ID système, 1-6
affichage du système courant, 1-6
définies par l’utilisateur (shell Bourne), 12-83
exportation, 11-9
IFS, 12-26
Shell Bourne, 12-83, 12-84, 12-86
V
valeur par défaut, passage, 11-6
variable IFS, 12-26
variable LANG, bidirectionnelle, 2-13
variable MAILPATH
ACL, 10-9
liste de contrôle d’accès, 10-9
variable PATH
répertoire, 6-8
Shell Bourne, 12-88
shell Korn ou POSIX, 12-33
variables d’environnement,
affichage des valeurs, 2-12
variables définies par l’utilisateur,
Shell Bourne, 12-83
variables prédéfinies, Shell Bourne, 12-86
variables shell
exportation, 11-9
local, 11-9
vérification
état des travaux d’impression, 8-14
intégrité des bandes, 9-11
verrouillage, de votre terminal, 10-17
W
Web–based System Manager
accessibilité, A-1
annulation d’un travail d’impression, 8-10
blocage d’un travail d’impression, 8-13
déplacement d’un travail d’impression, 8-12
lancement, 4-6
libération d’un travail d’impression, 8-13
priorité d’un travail d’impression, 8-11
vérification de l’état
d’un travail d’impression, 8-14
X
X Server, fichiers de lancement, 11-5
X Window System
accessibilité, A-1
extensions clavier X, A-1
Index
X-11
X-12
AIX Guide de l’utilisateur – Système d’exploitation et unités
Vos remarques sur ce document / Technical publication remark form
Titre / Title :
Bull AIX 5L Guide de l’utilisateur – Système d’exploitation et unités
Nº Référence / Reference Nº :
86 F2 44EM 01
Daté / Dated :
Février 2005
ERREURS DETECTEES / ERRORS IN PUBLICATION
AMELIORATIONS SUGGEREES / SUGGESTIONS FOR IMPROVEMENT TO PUBLICATION
Vos remarques et suggestions seront examinées attentivement.
Si vous désirez une réponse écrite, veuillez indiquer ci-après votre adresse postale complète.
Your comments will be promptly investigated by qualified technical personnel and action will be taken as required.
If you require a written reply, please furnish your complete mailing address below.
NOM / NAME :
SOCIETE / COMPANY :
ADRESSE / ADDRESS :
Remettez cet imprimé à un responsable BULL ou envoyez-le directement à :
Please give this technical publication remark form to your BULL representative or mail to:
BULL CEDOC
357 AVENUE PATTON
B.P.20845
49008 ANGERS CEDEX 01
FRANCE
Date :
Technical Publications Ordering Form
Bon de Commande de Documents Techniques
To order additional publications, please fill up a copy of this form and send it via mail to:
Pour commander des documents techniques, remplissez une copie de ce formulaire et envoyez-la à :
BULL CEDOC
ATTN / Mr. L. CHERUBIN
357 AVENUE PATTON
B.P.20845
49008 ANGERS CEDEX 01
FRANCE
Phone / Téléphone :
FAX / Télécopie
E–Mail / Courrier électronique :
+33 (0) 2 41 73 63 96
+33 (0) 2 41 73 60 19
[email protected]
Or visit our web sites at: / Ou visitez nos sites web à :
http://www.logistics.bull.net/cedoc
http://www–frec.bull.com
http://www.bull.com
CEDOC Reference #
No Référence CEDOC
Qty
Qté
CEDOC Reference #
No Référence CEDOC
Qty
Qté
CEDOC Reference #
No Référence CEDOC
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
__ __ ____ _ [__]
Qty
Qté
[ _ _ ] : no revision number means latest revision / pas de numéro de révision signifie révision la plus récente
NOM / NAME :
Date :
SOCIETE / COMPANY :
ADRESSE / ADDRESS :
TELEPHONE / PHONE :
FAX :
E–MAIL :
For Bull Subsidiaries / Pour les Filiales Bull :
Identification:
For Bull Affiliated Customers / Pour les Clients Affiliés Bull :
Customer Code / Code Client :
For Bull Internal Customers / Pour les Clients Internes Bull :
Budgetary Section / Section Budgétaire :
For Others / Pour les Autres :
Please ask your Bull representative. / Merci de demander à votre contact Bull.
BULL CEDOC
357 AVENUE PATTON
B.P.20845
49008 ANGERS CEDEX 01
FRANCE
REFERENCE
86 F2 44EM 01
Utiliser les marques de découpe pour obtenir les étiquettes.
Use the cut marks to get the labels.
AIX
AIX 5L Guide de
l’utilisateur
Système
d’exploitation
et unités
86 F2 44EM 01
AIX
AIX 5L Guide de
l’utilisateur
Système
d’exploitation
et unités
86 F2 44EM 01
AIX
AIX 5L Guide de
l’utilisateur
Système
d’exploitation
et unités
86 F2 44EM 01

Manuels associés