Les variables systèmes :
LOGNAME : nom de login
MAIL : indique où se trouve la boîte aux lettres
HOME : chemin du répertoire home
PATH : variable de recherche. Elle contient des répertoires séparés
par le caractère : . La recherche des fichiers se fera dans l'ordre de
saisie dans PATH
CDPATH : chemin de recherche dans un cd
PS1 -> PS4 : chaînes prompt
IFS : séparateur . Par défaut, l’espace, tab et saut de
ligne
TERM : type de terminal utilisé
COLUMNS : nombre de colonnes du terminal
LINES : nombre de lignes du terminal
EDITOR :éditeur par défaut
HISTFILE : fichier d’historique
SHELL : shell utilisé
PATH=.:/ : Remplace le contenu de la variable PATH par .:/
Echo $PATH : Affiche le contenu de la variable PATH.
Les variables spéciales :
$? Valeur de retour de la dernière commande exécutée
$$ PID du shell actif
$! PID du dernier processus d’arrière plan
$- Options du shell
$0 à Sn Liste des paramètres passé à un script.
$0 est le nom du script,
$1 son 1er paramètre, etc..
$# Contient le nombre de paramètres transmis
$* Liste de tous les paramètres
$@ Idem à $* mais sous forme séparée (chaque valeur entre
cote)
Redirection des entrées-sorties :
< => L'entrée standard est lue à
partir d'un fichier.
> => La sortie standard est redirigée dans un fichier (raz du fichier).
>> => La sortie standard est redirigée dans un fichier (concaténation
du fichier).
2> => Les erreurs sont redirigées.
2>&1 => Les erreurs sont redirigées dans le même fichier
que la sortie standard.
Pipe :
comd1 | comd2 équivaut à : comd1 > fich
comd2 < fich
Exécuter une commande en tâche de fond
Syntaxe :
commande [options] [arguments] &
Le & placé à la suite d'une commande
permet de lancer celle-ci en tâche de fond.
Ceci à pour effet de lui attribuer un numéro (d'ordre) de job.
[1] [2] … [num].
Documentation
Organisation de la documentation
- Les manuels de références sont présentés par chapitres
et par ordre alphabétique.
- Ils sont accessible en ligne (man) ou sur papier ou sur CDROM et livrés
avec la machine
- La commande man fait appel à nroff pour mettre en page la documentation,
avant de la visualiser par la commande more.
1 commandes utilisateur
1M commandes administrateur
1C Utilitaires de communication UNIX
2 les appels systèmes
3 les fonctions (en bibliothèques)
3C bibliothèque C
3S bibliothèque standard I/O C
3F bibliothèque FORTRAN
3M bibliothèque mathématique
3X bibliothèque spécialisée (fonctions spéciales)
4 format de fichiers système ou administrateur
5 fonctions utilitaires, divers (table de caractères ASCII, types de
données, ..)
6 les jeux
7 fichiers spéciaux (devices, périphériques)
8 maintenance, informations sur les procédures d'administration
Format de la documentation
- La documentation de chaque commande est composée de plusieurs paragraphes
:
NAME nom de la commande
SYNOPSIS syntaxe de la commande
DESCRIPTION utilisation et rôle des options
EXAMPLES exemples d'application
FILES fichiers utilisés ou modifiés
SEE ALSO les commandes de la même famille
DIAGNOSTICS explications des messages d'erreurs possibles
BUGS erreurs connues pour cette commande
WARNINGS recommandations lors de l'utilisation de cette commande
EXIT STATUS status de sortie sur erreur
MACHINE DEPENDENCIES dépendances machines
APPLICATION USAGE
accept
Autorise l'accès à la file d'attente spécifiée
Syntaxe :
/usr/lib/accept destination
(destination = classe ou imprimante)
adduser
Création d'un compte utilisateur
Syntaxe :
adduser login nom UID dir yes|no
login : nom de connexion
nom : nom complet de l'utilisateur
UID : numéro d'identification de l'utilisateur
dir : répertoire de connexion
yes|no : privilège d'administration
admintool
Outils d'administration sous solaris
alias
Création d'une nouvelle commande
Syntaxe :
alias nom_alias='commande(s)'
Exemple :
Alias d='dir'
Employée sans argument alias donne la liste des alias
La commande inverse est : unalias nom_alias
apply
Permet de répéter une commande sur chaque argument ou groupe d'arguments
cités
Syntaxe :
apply [-ac] [-n] commande argument(s)
Normalement les arguments sont choisis individuellement.
Le nombre n en option spécifie le nombre d'arguments devant être
transmis à la commande.
Exemple :
$apply echo * # est similaire à ls
$apply -2 cmp a1 b1 a2 b2 … # compare les fichiers 'a' aux fichiers 'b'
$apply -0 who 1 2 3 4 5 # exécute who 5 fois
$apply 'ln % 1 /usr/rep' * # relie tous les fichiers du répertoire en
cours au répertoire /usr/rep
Utiliser les apostrophes avec les méta caractères du shell
arp
Affiche la correspondance entre les adresses IP et Ethernet.
ARP est un protocole qui permet d'établir dynamiquement la correspondance
entre les adresses DARPA Internet et les adresses Ethernet d'un réseau
local. Le protocole de résolution d'adresses ARP stockant les informations
dans une table cache, la commande arp permet en fait de consulter et de modifier
ce cache.
Optionnellement ARP examine périodiquement un réseau pour rechercher
les imposteurs.
Syntaxe :
arp machine
arp -a [unix [kmem]]
arp -d machine
arp -s machine [ethernet adresse]
arp -f fichier
Options :
-a => Contenu de toutes les tables
-d => Supprime une entrée dans la table
-s => Ajoute une entrée dans la table
-f => Ajoute toutes les entrées enregistrées dans fichier
Exemple :
arp -a
at voir cron
Permet de lancer une commande (1 fois) à une date et heure précise.
Pour pouvoir utiliser la commande at, un utilisateur doit être autorisé
dans le fichier /usr/lib/cron/at.allow et ne doit pas être présent
dans le fichier /usr/lib/cron/at.deny
Syntaxe :
at [-options] heure [date] [+incrément]
avec : heure - 1 à 4 chiffres suivis de am (matin)
pm (après-midi)
noon (midi)
midnight (minuit)
now (heure actuelle)
- 1 ou 2 chiffres indique l'heure
- 3 ou 4 chiffres indique l'heure et les minutes
- on utilise la forme 24 heures en ne précisant aucune lettre.
date - indication au format américain par défaut, elle se compose
:
un nom de mois en abrégé sur trois caractères
un numéro de jour séparé du mois par un espace
on peut aussi employer le nom du jour dans la semaine sous sa forme complète
ou en abrégé sur trois caractères. Deux jour particuliers
sont aussi employés today et tomorrow.
Si le mot week suit le nom du jour, l'exécution est reportée 7 jour plus tard.
Options :
-f fichier => les commandes à exécuter sont dans le fichier
spécifié
-m => envoie d'un courrier en fin de traitement
-l [job] => visualisation des travaux en attente
-r [job] => suppression d'un job en attente
-q queue => spécifie la file d'attente
Exemples :
$at 0820am Jan
$echo "toto"
$CTRL-D
$at now + 1 day
$at + 2 hours < fic
authconfig
Permet de mettre en place un codage du fichier mot de passe contenu dans etc/passwd
(shadows ou MD) (linux)
autofs
Script de contrôle de l’automonteur
L’automonteur est lancé au démarrage du système par
l’intermédiaire du script /etc/rc.d/init.d/autofs
Syntaxe :
autofs start|stop|reload|status
start: Lancement de l’automonteur
stop : Arrêt de l’automonteur.
reload : Redémarer l’automonter.
status : Status de l’automonteur
automount
Configuration des points de montage pour autofs
Syntaxe :
automount [options] Point_de_montage map_type[,format] map [m_options]
Options :
-p fichier => Ecrit le PID du daemon dans le fichier fichier.
-t => Délais d’inactivité en seconde avant démontage
(5 minutes par défaut). Une valeur à 0 induit un montage permanent.
-v => Affiche le numéro de version de automount.
Map_type :
Type de la table indirecte.
file La table indirecte est un fichier texte.
program La table indirecte est un exécutable.
yp La table indirecte provient d’une base NIS.
nisplus La table indirecte provient d’une base NIS+.
Format :
Format de la table indirecte. La valeur par défaut est sun
map :
Nom absolu de la table indirecte.
m_options :
Options de la commande mount
badblocks
Recherche de blocs défectueux sur un support
Badblocks /dev/fd0
banner
Permet d'envoyer une bannière sur la sortie standard
Syntaxe :
banner texte
Exemples :
$banner BONJOUR
###### ##### # # # ##### # # ######
# # # # ## # # # # # # # #
# # # # # # # # # # # # # #
###### # # # # # # # # # # ######
# # # # # # # # # # # # # # #
# # # # # ## # # # # # # # #
###### ##### # # ##### ##### ##### # #
basename
Extraire un nom de fichier dans un chemin d'accès
Syntaxe :
basename chemin [extension]
Exemple :
$basename /home/users1/fichier
fichier
bash
Exécution d'un script en bourne shell
Pour forcer l'exécution du fichier en bourne shell, le fichier doit commencer
par :
#!/bin/sh
Syntaxe :
bash [-options] nom_fichier
Options :
sans option, rend le fichier exécutable (chmod u+x nom_fichier)
-n => interprète les commandes sans les exécuter
-v => affiche les lignes comme elles sont lue
-x => affiche les lignes comme elles sont interprétées
bc
Permet de faire des conversion, des calculs.
Proche du langage C effectue tout traitement arithmétique de précision.
L'utilisation des fonctions mathématiques (sinus, cosinus,…) nécessite
l'appel par bc -l
Exemple :
$bc
10+2*6/3<RC> #14
((10+2)/4)*5/(3+2)<RC> #3
ob=16 #résultat en base 16
10+5 #F
ib=16 #entrée en base 16
A+B+C #21
<CTRL D>
bg
Activation en arrière plan d'un process suite à un CTRL Z (signal
SIGSTOP)
Syntaxes :
bg n°_de_job
bg %nom_job
bg #PID
bind
BIND : Berkeley Internet Name Domain
Sous Unix , le DNS est implanté par le programme BIND (voir named) .
C’est un système client/serveur. On appelle résolveur la
partie cliente.
cal
Affiche le calendrier d'une année
- cal affiche un calendrier pour l'année spécifiée.
Si l'on spécifie aussi un mois, seul le calendrier de ce mois sera imprimé.
Si ni l'année ni le mois ne sont spécifiés, c'est le calendrier
du mois en cours qui est affiché.
- Mois est compris entre 1 et 12, et année entre 1 et 9999.
- Attention : "cal 83" fait référence au premiers temps
de l'ère chrétienne.
Syntaxe :
cal [mois ] [année ]
Exemple :
$cal 11 1989
November 1989
S M Tu W Th F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
$cal 1990
...
calendar
Utiliser un agenda personnel
Effectue la lecture du fichier $HOME/calendar et fait l'extraction de toutes
les lignes correspondantes à la date du jour ou au lendemain.
Pour être identifiée chaque début de ligne du fichier $HOME/calendar
doit comporter une date sous les formes : Aug.24 , august 24 ou 8/24 pour 24
août
Cancel (syst V)
Suppression d'une demande d'impression
Syntaxe :
cancel [numéro impression] [imprimante] => destruction d'une requête
cancel [imprimante] => interrompt l'échange en cours
Exemple :
cancel cll-123
cancel /dev/prl
case
cat version GNU
Concaténer des fichiers et les afficher sur la sortie standard.
cat affiche sur la sortie standard le contenu de chacun
des fichiers indiqués (ou le contenu de l'entrée standard si aucun
nom de fichier n'est fourni, ou si le nom `-' est
indiqué).
Syntaxe :
cat [-options] fichier
Options :
-b, --number-nonblank
Numéroter en sortie les lignes non blanches, en commençant à
1.
-e
Equivalent à -vE.
-n, --number
Numéroter les lignes en sortie, en commençant à 1.
-s, --squeeze-blank
Remplacer les lignes blanches consécutives par une seule ligne blanche.
-t
Equivalent à -vT.
-u
Sans effet - pour compatibilité Unix seulement.
-v, --show-nonprinting
Afficher les caractères de contrôles, sauf les sauts de ligne et
les tabulations en utilisant la notation `^', et préfixer avec `M-' les
caractères ayant leur huitième bit positionné.
-A, --show-all
Equivalent à -vET.
-E, --show-ends
Afficher un `$' à la fin de chaque ligne.
-T, --show-tabs
Afficher le caractère TAB ainsi : `^I'.
--help
Afficher un message d'aide sur la sortie standard et terminer normalement.
--version
Afficher un numéro de version sur la sortie standard et terminer normalement.
Exemple :
cat fichier => affiche le contenu du fichier
cat fichier1 fichier2 => concatène et affiche (sur la sortie std)
le contenu des fichiers.
cat > entrées => ">" permet de rediriger la sortie
std d'une commande
ligne 1 saisie au clavier
ligne 2 saisie au clavier
<Ctrl d>
cd
change de répertoire de travail (change directory)
- Si le répertoire n'est pas spécifié,
la valeur du paramètre shell HOME est utilisée comme nouveau répertoire
de travail.
- Si le répertoire est spécifié, (soit par un chemin absolu
, soit par un chemin relatif), il devient le nouveau répertoire courant.
- Si aucun de ces cas ne s'applique, cd essaie de rechercher le répertoire
relatif à l'un des chemins d'accès fixé par la variable
CDPATH. CDPATH a la même syntaxe que la variable shell PATH, ainsi qu'une
sémantique similaire.
- cd doit en outre avoir l'autorisation de passage dans le répertoire
(droit x)
- Au lieu du nom de répertoire (voir la syntaxe) on peut utiliser les
caractères "/ . .. "
/ indique la racine
. indique le répertoire courant
.. indique le répertoire père du répertoire courant.
Syntaxe :
cd [répertoire]
Exemples :
$cd /usr/src #Utilisation du chemin absolu, déplacement sur le répertoire
/usr/src
$cd src/applic #Utilisation du chemin relatif, déplacement sur le répertoire
src/applic
$cd #Utilisation de la variable HOME, déplacement vers le répertoire
de connexion
$cd / #Déplacement vers le répertoire racine
$cd ./rep #Déplacement à partir du répertoire courant dans
le répertoire rep
$cd .. #Déplacement vers le répertoire père
Cheknews
indique la présence de nouvelle(s) (rien ou there is news)
chgrp
Permet à l'administrateur système de modifier le groupe d'un fichier
ou d'un répertoire.
Le nouveau groupe doit être connu du système. Il est défini
par un numéro qui l'identifie dans /etc/group
Syntaxe :
chgrp [-options] Groupe Fichiers
Options :
-R récursif, parcourt les sous-répertoires
-h change de propriétaire même les liens symboliques
exemple :
chgrp compta fichier
chmod
Permet de modifier les droits d'accès sur un fichier
Syntaxe :
chmod mode fichier …
Le mode peut être donné en absolu et il
est obtenu par une combinaison des valeurs octales suivantes :
4000 => positionne le "set user id bit" pour un fichier binaire
exécutable
2000 => positionne le "set group id bit" pour un fichier binaire
exécutable
1000 => positionne le sticky id bit" (maintien en mémoire du
processus)
0400 => lisible par le propriétaire
0040 => lisible par les membres du groupe propriétaire
0004 => lisible par les autre utilisateurs
0200 => modifiable par le propriétaire
0020 => modifiable par les membres du groupe propriétaire
0002 => modifiable par les autres utilisateurs
0100 => exécutable par le propriétaire
0010 => exécutable par les membres du groupe propriétaire
0001 => exécutable par les autres utilisateurs
Le mode peut être donné en symbolique, il
prend alors la forme :
[<qui>] <permission> <opération> avec :
qui est une combinaison de lettres
u => pour le propriétaire
g => pour le groupe
o => pour les autres
a => pour tous
permission c'est
+ => pour autoriser
- => pour interdire
= => pour imposer certaines permissions et supprimer les autres
opération est une combinaison de lettres
r => pour lire
w => pour écrire
x => pour exécuter ou passer
s => pour le "set user id bit" ou le "set group id bit"
t => pour le "sticky bit"
user group others
rwx r-x r--
111 101 100
7 5 4
Exemple :
chmod 755 fichier
chown : change owner
Permet à l'administrateur système de modifier le propriétaire
et le groupe d'un fichier.
Le nouveau propriétaire doit être connu du système. Il peut
être soit un numéro d'identification ID ou le nom de login d'un
utilisateur défini dans le fichier /etc/passwd.
chown modifie l'utilisateur et/ou le groupe propriétaire de chacun des
fichiers indiqués, en fonction du premier argument rencontré sur
la ligne de commande, et qui ne soit pas une option.
Si l'on indique uniquement un nom d'utilisateur (ou un UID numérique), celui-ci devient le propriétaire des fichiers donnés, mais les groupes de ces fichiers ne sont pas modifiés.
Si le nom d'utilisateur est suivi d'un double-point, et d'un nom de groupe (ou d'un GID numérique), les fichiers changent également de groupe.
Spécificités GNU
La version GNU de chown accepte également un point pour séparer
le nom d'utilisateur de celui du groupe. Posix réclame un double-point
car il autorise l'utilisation du point comme caractère d'un nom d'utilisateur.
Si le nom d'utilisateur est suivi d'un double-point, sans nom de groupe, les fichiers appartiendront au groupe de l'utilisateur mentionné.
Si l'on fournit un nom de groupe, précédé d'un double point, mais sans préciser de nom d'utilisateur, seul l'appartenance au groupe est modifiée. Dans ce cas, chown a les mêmes effets que chgrp.
Syntaxe :
chown [-options] propriétaire [:groupe] Fichier1 Fichier 2 . . .
Option Posix :
-R
Modifier récursivement l'appartenance des répertoires et de leurs
contenus.
Options GNU
-c, --changes
Ne décrire que les fichiers dont l'appartenance est modifiée.
-f, --silent, --quiet
Ne pas afficher de message d'erreur concernant les fichiers dont l'appartenance
n'a pas pu être modifiée.
-h, --no-dereference
Agir sur un lien symbolique lui-même et non pas sur la cible vers laquelle
il pointe. Ceci n'est possible que si l'appel système lchown est disponible
dans le noyau.
-v, --verbose
Décrire les changements de propriétés.
-R, --recursive
Modifier récursivement l'appartenance des répertoires et de leurs
contenus.
--help
Afficher un message d'aide sur la sortie standard, et terminer normalement.
--version
Afficher le numéro de version sur la sortie standard, et terminer normalement.
Conformité :
POSIX 1003.2 n'autorise pas l'utilisation du point comme séparateur de
nom d'utilisateur et de groupe.
cmp
Comparer deux fichiers
Cette fonction permet de comparer deux fichiers. Si les deux fichiers sont identiques,
aucune sortie n'est produite. Si les deux fichiers sont différents, cmp
fournit le numéro de l'octet et le numéro de la ligne où
se trouve les différences.
Syntaxe :
cmp [-l|-s] fichier1 fichier2
Options :
-l => affiche le numéro d'octet (en décimal) et les octets
différents (en octal) sur 3 colonnes
-s => aucun affichage dans le cas d'octets différents, mais affiche
un code de retour :
0 les fichiers sont identiques
1 les fichiers son différents
2 arguments incorrects ou manquants
cmt
Manipulation de cassettes
Cette commande sert à fournir des opérations
à une unité de cassette.
Si aucun nom de cassette n'est spécifié, la variable d'environnement
TAPE est utilisée.
En l'absence de cette variable, cette commande utilise le périphérique
/dev/ct/0n (unité 0, sans rembobinage).
Les opérations peuvent être réalisées un nombre de
fois en spécifiant le paramètre count
Syntaxe :
cmt [-f spécial] action [count]
Actions :
rétention => rétention, retour en début de cassette
rewind => rembobinage au début de la cassette
erase => effacement du contenu de la bande
eof => fin d'archive à la position courante !Attention à cette
action
fsf n => recherche d'une marque explicite de fin d'archive depuis la position
courante et avance de n fichiers.
Exemple :
$cmt -f /dev/rct/0 rewind
comm
Recherche des lignes communes dans deux fichiers triés
(SPIX, ne fait pas partie de POSIX)
Cette commande analyse les lignes des deux fichiers qui doivent être triés
pat ordre lexicographique et elle représente la sortie sous forme de
trois colonnes indiquant :
- les lignes qui se trouvent seulement dans le fichier1
- les lignes qui se trouvent seulement dans le fichier2
- les lignes communes aux deux fichiers
Syntaxe :
comm [ -[ 123 ] ] fichier1 fichier2
Les options - [ 123 ] permettent de supprimer des colonnes à l'affichage.
Exemples :
$comm -23 fic1 fic2 => supprime les colonnes 2 et 3
$comm -12 fic1 fic2 => supprime les colonnes 1 et 2
control-panel
Outil d'administration sous linux
cp
Permet de copier des fichier
Si le fichier destination n'existe pas, il est crée. Sinon son contenu
est écrasé sans avertissement.
Si la destination est un répertoire, alors la source peut être
une liste de fichiers
cp sert à copier des fichiers (et éventuellement des répertoires).
On peut aussi bien copier un fichier donné vers une destination précise
que copier un ensemble de
fichiers dans un répertoire.
Si le dernier argument correspond à un nom de répertoire, cp copie
dans ce répertoire chaque fichier indiqué en conservant le même
nom.
Sinon, s'il n'y a que deux fichiers indiqués, il copie le premier sur
le second.
Une erreur se produit si le dernier argument n'est pas un répertoire,
et si plus de deux fichiers sont indiqués. Par défaut, on n'effectue
pas la copie de répertoires.
Ainsi `cp -r /a /b' copiera /a dans /b/a et /a/x dans /b/a/x au cas où
/b existe déjà, mais il copiera /a sur /b et /a/x dans /b/x si
/b n'existait pas encore.
Les autorisations d'accès des fichiers et des répertoires créés
seront les mêmes que celles des fichiers d'origine masquées avec
un ET binaire avec 0777, et modifiées par le umask de l'utilisateur (sauf
si l'on invoque l'option -p).
Pendant la copie récursive de répertoires, les nouveaux répertoires
verront leur masque temporairement étendu par un OU binaire avec SIRWXU
(0700), afin d'autoriser le processus d'y lire, écrire et vérifier
le contenu.
cp ne fait rien lorsque l'on tente de copier un fichier sur lui-même (sauf
éventuellement afficher un message d'erreur).
Lorsque la copie se fait sur un fichier existant, celui-ci est ouvert en utilisant
`open(chemin, OWRONLY | OTRUNC)'. Lorsque la copie a lieu dans un nouveau
fichier, on invoque `open(chemin, OWRONLY | OCREAT, mode)'. Si l'ouverture d'un
fichier existant échoue, et si l'option -f a été invoquée,
cp essaye de supprimer,
avec unlink(2), le fichier existant, puis de recréer un nouveau fichier.
Syntaxe :
cp -options source destination
Options principales :
-a => demande une confirmation avant chaque copie.
-p => préserve les droits, sinon on devient propriétaire.
-r => récursive, copie aussi les sous répertoires.
Options POSIX :
Posix défini quatre options et demi :
-f
Effacer les fichiers cibles existants (voir ci-dessus).
-i
Interroger l'utilisateur avant d'écraser des fichiers réguliers
existants. La question est affichée sur stderr, et la réponse
lue depuis stdin.
-p
Conserver le propriétaire, le groupe, les permissions d'accès
et les horodatages du fichier original. Si la conservation du propriétaire
ou du groupe est impossible, les bits Set-UID et Set-GID sont effacés.
L'horodatage sera quand même légèrement différent
entre l'original et la copie car l'opération de copie nécessite
un accès en lecture au fichier source.
-R
Copier récursivement les répertoires, et gérer correctement
les copies des fichiers spéciaux ou des FIFOs.
-r
Copier récursivement les répertoires mais la gestion des fichiers
spéciaux n'est pas définie. En fait l'option -r est autorisée,
et même encouragée à se comporter comme l'option -R, toutefois
le comportement (stupide) de la version GNU n'est pas interdit.
Spécificité GNU
En général les fichiers sont écrits immédiatement
après lecture de l'original, sauf si l'on utilise l'option --sparse décrite
plus bas.
Par défaut, cp ne copie pas les répertoires (voir l'option -r).
cp refuse généralement de copier un fichier sur lui-même,
avec l'exception suivante : si les options --force et --backup sont indiquées,
et si les fichiers origine et copie sont identiques et se rapportent à
un fichier régulier, cp effectuera une copie de sauvegarde (voir plus
bas). Ceci peut servir à faire une sauvegarde d'un fichier avant de le
modifier.
Options GNU
-a, --archive
Préserver autant que possible la structure et les attributs du fichier
original lors de la copie. Cette option est équivalente à -dpR.
-b,--backup
Effectuer une copie de sauvegarde des fichiers écrasés ou supprimés.
-d, --no-dereference
Copier les liens symboliques en tant que tels plutôt que de copier les
fichiers vers lesquels ils pointent. Préserver également les liens
matériels entre les fichiers sources durant la copie.
-f, --force
Effacer les fichiers cibles existants.
-i,--interactive
Interroger l'utilisateur avant d'écraser des fichiers réguliers
existants.
-l, --link
Effectuer des liens matériels plutôt que des copies des fichiers
réguliers.
-P, --parents
Construire le nom de chaque fichier destination en ajoutant au répertoire
cible un slash et le nom du fichier source indiqué. Le dernier argument
de cp doit être un répertoire existant. Par exemple, la commande
`cp --parents a/b/c repexistant' copie le
fichier a/b/c en repexistant/a/b/c, tout en créant les sous-répertoires
intermédiaires manquants.
p, --preserve
Conserver le propriétaire, le groupe, les permissions d'accès
et les horodatages du fichier original.
-r
Copier récursivement les répertoires, les sousrépertoires,
et les fichiers réguliers qu'ils contiennent. Les fichiers spéciaux
et les FIFOs sont considérés comme des fichiers normaux, desquels
ont essayera de lire des données pour les écrire dans
le fichier destination. Ainsi `cp' risque de bloquer indéfiniment durant
la lecture d'une FIFO ou d'un fichier spécial /dev/tty. Il faut considérer
ceci comme un bug. Cela signifie qu'il faut éviter l'option -r, et la
remplacer par -R. N'oublions pas que l'ouverture d'un fichier spécial
inconnu, par exemple un scanner peut avoir des effets indésirables sur
le matériel.
-r
Copier récursivement les répertoires, les sous-répertoires,
en préservant tous les types de fichiers rencontrés (voir option
-r ci-dessus).
--sparse=QUAND
[NDT : sparse = clairsemé] Un fichier à trous (sparse file) contient
des séquences d'octets nuls n'occupant pas de place sur le disque. L'appel
système `read' lit ces données comme des zéros. Non seulement
cela permet d'économiser de la place sur
le disque, mais on gagne également de la vitesse de lecture. De nombreux
fichiers binaires (exécutables par exemple) contiennent des séquences
importantes de zéros. Par défaut, ccpp détecte les trous
dans les fichiers en utilisant une heuristique grossière et restituera
les trous dans les fichiers de sortie.
L'argument QUAND peut prendre l'une des valeurs suivantes :
auto
Le comportement par défaut, le fichier de sortie est troué si
des trous sont détectés dans le fichier d'entrée.
Always
Toujours trouer les fichiers de sortie.
Cette option sert lorsque les fichiers d'entrée se trouvent sur un système
de fichiers n'acceptant pas les trous, et que les fichiers de sortie se trouveront
sur un système les acceptant.
Never
Ne jamais essayer de faire de trous dans les fichiers de sortie. Si vous trouvez
une utilité à cette option, faites nous le savoir...
-s, --symbolic-link
Créer des liens symboliques plutôt que des copies des fichiers
réguliers. Tous les noms de fichiers sources doivent être absolus
(commençant par '/') à moins que les fichiers destinations résident
dans le répertoire en cours. Cette option affiche un message d'erreur
pour les systèmes de fichiers ne supportant pas les liens symboliques.
-u,--update
Ne pas effectuer la copie si le fichier destination existant (autre qu'un répertoire)
a une date de modification égale ou plus récente que celle du
fichier source.
-v, --verbose
Afficher le nom de chaque fichier avant de le copier.
-x, --one-file-system
Ignorer les sous-répertoires se trouvant sur un système de fichiers
différent de celui du départ de la copie.
Options de sauvegarde GNU
Les versions GNU des programmes comme cp, mv, ln, install et patch créeront
au besoin une copie de sauvegarde des fichiers à écraser, à
modifier ou à détruire. On demande une copie de sauvegarde à
l'aide de l'option -b, on indique la nomenclature à adopter avec l'option
-V, et si la sauvegarde se fait avec un suffixe, celui-ci est précisé
avec l'option -S.
-b, --backup
Créer une copie de sauvegarde des fichiers à écraser ou
à détruire.
-SUFIX, --suffix=SUFFIXE
Ajouter le SUFFIXE indiqué à chaque fichier de sauvegarde créé.
Si cette option n'est pas indiquée, on utilisera la valeur de la variable
d'environnement SIMPLEBACKUPSUFFIX. Si la variable SIMPLEBACKUPSUFFIX n'existe
pas, la valeur par défaut est `~'.
-V METHODE, --version-control=METHODE
Préciser la nomenclature des fichiers de sauvegarde La METHODE indiquée
peut être `numbered' (`t'), `existing' (`nil'), ou `never' (`simple').
Si cette option n'est pas indiquée, la valeur de la variable d'environnement
VERSIONCONTROL est utilisée, et si la variable VERSIONCONTROL
n'existe pas, la valeur par défaut est `existing'.
Cette option correspond à la variable `version-control' sous Emacs. Les
METHODES valides (les abbréviations non-ambigües sont acceptées)
sont :
t, numbered
Toujours faire une sauvegarde numérotée.
nil, existing
Faire une sauvegarde numérotée des fichiers en ayant déjà
une précédente, et une sauvegarde simple pour les autres.
never, simple
Faire toujours une sauvegarde simple.
Options standards GNU
--help
Afficher un message d'aide sur la sortie standard, et terminer correctement.
--version
Afficher un numéro de version sur la sortie standard, et terminer correctement.
--
Fin de la liste d'options.
cpio
Permet d'effectuer des sauvegardes ou des restaurations.
Gestion de l'arborescence
Permet le rattachement de fichiers sélectionnés à une hiérarchie
d'un système de fichiers existant.
Syntaxe :
cpio -p [options "adlmruvxU"] répertoire_destinataire
Utilisation :
On effectue la sélection des fichiers à déplacer à
l'aide d'une commande comme find, puis cpio lit à partir de l'entrée
standard cette liste de noms de fichiers et effectue le déplacement de
ces fichiers dans un répertoire destinataire spécifié en
paramètre.
find … | cpio -pdv répertoire_destinataire
Exemples :
$cd /users/u1
$find .-print | cpio -pdv /users/u2
Archivage d'une arborescence (sauvegarde)
Archivage de fichiers en continu avec enregistrement de leurs noms absolus ou
relatifs selon la sélection ainsi que des informations d'état
pour la restauration sur un support
cpio, contrairement à cp conserve les droits d'appartenance d'origine
Syntaxe :
cpio -o [achvxABC] > fichier_spécial
Utilisation :
On effectue la sélection des fichiers à archiver à l'aide
d'une commande comme find, ls, cat,… puis cpio lit à partir de
l'entrée standard de cette liste de noms de fichiers et effectue l'archivage
du contenu de ces fichiers sur la sortie spécifiée.
find … | cpio -o […] > fichier_spécial
ls … |
cat … |
…
Utilisation :
positionnement sur l'arborescence contenant les fichiers à sauvegarder
cd /…/…
sélection des fichiers à sauvegarder
find . -print
sauvegarde par cpio sur un support disque, cassette
Exemples :
$cd /users/ul
$find .-print | cpio -ovBdc > /dev/rct/0
cassette avec rétention et rembobinage avant utilisation
$find .-print | cpio -ovBdc > /dev/rct/0n
cassette sans rétention et rembobinage avant utilisation
$find / -depth -print | egrep -v -f exclus | cpio -oBv > /dev/rct/0
le fichier "exclus" contiendra une liste d'entrée du genre
:
.*/.*\.o
.*/a\.out
.*/core
^/dev/.*
^/tmp/.*
…
Restauration de fichiers
Syntaxe :
cpio -i [bcdfmrstuvxBPRSU6] < fichier_spécial
l'utilisation des méta caractères du shell (?*[ ])est possible
les fichier restaurés auront les droits d'accès enregistrés
lors du cpio -o
Utilisations :
positionnement sur l'arborescence où l'on va restaurer les fichiers
sélection des fichiers à sélectionner sur le support d'archivage
restauration par cpio à partir d'un support disque, cassette,…
Exemples :
cpio -itvBdc < /dev/… => it, pour vérifier si bonne sauvegarde
i tous seul, pour restauration
options (vBdc) idem que lors de la sauvegarde le o en moins (-o = sauvegarde)
$cd /users/u1
$cpio -imvBdc /users/u1/* < /dev/rct/0 => restauration sélective
avec cassette avec rétention et rembobinage avant utilisation
$cpio -itvd < /dev/rct/0 => lecture sans restauration et affichage des
noms des fichiers archivés sur le support.
Options :
- a => réinitialise la date d'accès aux fichiers après
copie
- A => ajout de fichier en archive
- b => inverse l'ordre des bits de chaque mot
- B => facteur de blocage égal à 5120 octets
- Cn => facteur de blocage égal à n
- c => information d'en tête sous forme de caractère ASCII pour
assurer une meilleure portabilité
- d => les répertoires sont créés au fur et à
mesure
- Ef => f contient la liste des fichiers à extraire de l'archive
- H hdr => informations d'en tête au format hdr
- Ific => lit l'entrée dans le fichier fic
- k => tente de traiter les fichiers dont l'entête est endommagée
et sur les erreurs d'entrée-sorties
- l => utilise si possible des liens avec l'option -p
- L => parcourt les liens symboliques
- m => conserve l'heure de la précédente modification
- Mme => définit un message à utiliser
- Ofic => dirige la sortie sur le fichier fic
- r => renomme les fichier en interactif
- RID => rend ID propriétaire de chaque fichier
- t => affiche la table des fichier (pas de création)
- u => copie sans condition (recouvrement si nécessaire)
- v => verbeux, affichage des noms de fichiers (avec t notamment)
- V => super verbeux, n'exécute pas la commande
-6 => pour fichier au format system 6
Exemple : (solaris)
- Sauvegarde sur streamer : find / -print | cpio -ocvB > /dev/rct0
- Restauration à partir du streamer : cpio -icvBd < /def/rtc0
cpio -icvB "[a-d]*" < /dev/rtc0
- Consultation des données sauvegardés sur un streamer
cpio -it < /dev/rct0
cron
Cron devrait normalement être lancé par un script /etc/rc ou /etc/rc.local.
Cette commande revient immédiatement, il n'est pas nécessaire
de la lancer avec un '&'.
Le processus /etc/cron est exécuté automatiquement au passage
au runlevel Multi- Utilisateur (2).
Cron recherche dans le répertoire /var/spool/cron, des fichiers de crontab
ayant des noms existants dans /etc/passwd. Les fichiers trouvés sont
chargés en mémoire.
Cron recherche également /etc/crontab, qui a un format différent
(voir crontab(5)).
Ensuite, cron s'éveille toutes les minutes, examine les crontabs mémorisés,
et vérifie chaque commande pour savoir s'il doit la lancer dans la minute
à venir. Lors de l'exécution d'une commande, toute sortie est
envoyée par mail au propriétaire de la crontab (ou à l'utilisateur
dont le nom est mentionné dans la variable d'environnement MAILTO si
elle existe).
De plus, cron vérifie chaque minute si la date de modification de son
répertoire de stockage (ainsi que la date de /etc/crontab) a changé.
Si c'est le cas, cron examinera les dates de modifications de chaque fichier
crontab, et rechargera ceux qui ont été changés. Ainsi,
cron n'a pas besoin d'être redémarré après la modification
d'un fichier crontab. Notez que la commande crontab(1) met à jour la
date de modification du répertoire de stockage si un changement a lieu.
Les données transmises à la commande crontab sont enregistrées
dans un fichier du répertoire /usr/spool/cron/crontabs.
L'accès à ce mécanisme peut être sécurisé
par les fichiers /usr/lib/cron/cron.deny ou /usr/lib/cron/cron.allow .
Pour pouvoir utiliser la commande cron, un utilisateur doit être autorisé
dans le fichier /usr/lib/cron/cron.allow et ne doit pas être présent
dans le fichier /usr/lib/cron/cron.deny
Par default tous le monde est autorisé
=> il n'existe pas de cron.allow ni de cron.deny
crontab
Table permettant de gérer le démon cron
Permet par l'intermédiaire d'un fichier spécifié appartenant
à un utilisateur, de choisir les instants précis, et éventuellement
les périodes, où doivent être déclenchée une
ou plusieurs commandes.
Crontab est le programme utilisé pour installer, désinstaller,
ou afficher le contenu des tables permettant de piloter le fonctionnement du
démon cron(8) de Vixie Cron.
Chaque utilisateur dispose de sa propre table crontab, et bien que celles-ci
se trouvent dans /var, elles ne sont pas conçues pour être éditées
directement.
les commandes contenues dans une table seront exécutées sous l'identifiant
du propriétaire de la table.
Si le fichier allow existe, alors vous devez être mentionnés dans
celui-ci pour pouvoir utiliser cette commande. Si le fichier allow n'existe
pas, mais que le fichier deny existe, alors vous ne devez pas être mentionnés
dans celui-ci, si vous désirez utiliser cette commande. Si aucun de ces
deux fichiers n'existe alors, selon la configuration du site, soit le Super-utilisateur
uniquement à le droit d'utiliser crontab, soit tous les utilisateurs
le peuvent.
Un fichier soumis à crontab est constitué de lignes comportant
chacune 6 champs. Chaque champ est délimité par des espaces ou
des tabulations.
format des lignes du fichier crontab:
minute heure Jour mois jour de la semaine Commandes
(0-59) (0-23) (1-31) (1-12) (jan-dec) (0-6 avec 0=dimanche) (dim-lun) cde1:cde2…cde
n
Chaque champs peut être représenté par :
une valeur => val
un ensemble de valeurs => val1, val2, …
une plage de valeurs => val1-val2
toutes les valeurs => *
toutes les deux (heures, jours..) => */2
Les fichiers crontabs sont référencés sous le nom du propriétaire
dans le répertoire :
/var/spool/cron/crontabs/nom_user
Certain constructeurs offrent en standard des fichiers "crontabs"
de surveillance et de vérification du système (fsck,compta …)
Plusieurs variables d'environnement sont automatiquement configurées
par le démon cron(8). SHELL est rempli avec /bin/sh, LOGNAME et HOME
sont configurées à partir de la ligne de /etc/passwd correspondant
au propriétaire de la crontab. HOME et SHELL peuvent être surchargés
par des affectations explicites dans la crontab, LOGNAME non.
(Note : la variable LOGNAME est parfois nommée USER sur les systèmes
BSD, elle sera alors configurée).
En plus de LOGNAME, HOME, et SHELL, cron(8) prendra en compte la variable MAILTO
s'il doit envoyer le résultat d'une commande exécutée dans
cette crontab. Si MAILTO est définie (et non vide), le résultat
est envoyé à l'utilisateur indiqué. Si MAILTO est défini
et vide (MAILTO=""), aucun courrier ne sera envoyé. Sinon,
le courrier sera émis vers le propriétaire de la crontab.
Cette option est utile si vous utilisez /bin/mail comme agent à la place
de /usr/lib/sendmail lorsque vous installez cron. /bin/mail ne gère pas
d'alias, et UUCP ne lit généralement pas son courrier.
Options :
crontab fichier_crontab => lance un crontab
crontab -l => donne la liste des crontabs
crontab -r => détruit un crontab
crontab -e => permet l'édition d'un crontab
crontab -u => permet de préciser le nom de l'utilisateur dont la crontab
doit être manipulée.
Exemples :
utiliser /bin/sh pour lancer les commandes, quoiqu'en dise /etc/passwd.
SHELL=/bin/sh
Envoyer les résultats à Paul, sans tenir compte du propriétaire.
MAILTO=paul
Chaque jour, 5 minutes après Minuit
5 0 * * * $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
Le premier de chaque mois à 14h15 - Résultat envoyé à
Paul
15 14 1 * * $HOME/bin/monthly
Les jours de la semaine à 22h, énerver Joe
0 22 * * 1-5 mail -s "Il est 22h" joe%Joe,%%Où sont tes enfants
?%
23 0-23/2 * * * echo "Tous les jours, à 23mn après 0h, 2h,
4h..."
5 4 * * sun echo "Tous les dimanches à 4h 05"
Ctrl d ou exit
Termine une session utilisateur.
Ctrl q
Reprise du défilement du l'affichage.
Ctrl s
Arrêt du défilement de l'affichage.
cut
Extraire des colonnes ou des champs sélectionnés du ligne d'un
fichier.
Permet de supprimer ou d'extraire les colonnes d'une table ou bien des champs
de chacune des lignes d'un fichier.
Si aucun fichier n'est spécifié, c'est l'entrée standard
qui est prise par défaut.
Syntaxe :
cut -c colonne [fichier]
cut -f champ [-dcar] [-s] [fichier]
Options :
colonnes et champs sont une liste de nombres entiers séparés par
des virgules (en ordre croissant).
Avec un "-" colonne indiquera des plages.
-ccolonne => quand colonne fait suite à -c, cela signifie des emplacements
de caractère à conserver
-fchamp => conserve le/les champs spécifiés suivant -f
-dcar => car est le caractère délimiteur de champ associé
à l'option -f (les espaces ou caractères spéciaux doivent
être encadrés par des guillemets)
-s => supprime les lignes ne comportant pas de caractère délimiteur
avec l'option -f
Exemples :
$cut -c1-5 fic_in > fic_out => ne conserve que les colonnes 1-5 du fichier
fic_in dans fic_out
$cut -f1 fic_in => ne conserve que le champ 1 de fic_in et affiche le résultat
sur la sortie standard
$cut -f1,3 fic_in => ne conserve que le champ 1 et 3 de fic_in et affiche
le résultat sur la sortie standard
$cut -c1,5,10 fic_in => ne conserve que les colonnes 1,5,10 du fichier fic_in
et affiche le résultat sur stdout
$cut -c5 -fic_in => conserve les colonnes 5 à la fin
$cut -d: -f1,5 fic_in => ne conserve que les champs 1 et 5, le délimiteur
de champ étant ":"
$cut -d: -f1 /etc/passwd => permet de sélectionner les noms d'utilisateurs
dans le fichier /etc/passwd
$whocut -d" " -f1 => récupère uniquement les noms
des utilisateurs connectés
date
Consultation et mise à jour de la date et de l'heure du système.
Syntaxe :
date [-u] [+format ]
date [-a] mmjjhhmm [aa ]
Options :
-u date et heure en temps GMT
-asss.fff ajuste l'heure de sss.fff secondes
Format :
+ sortie contrôlée par l'utilisateur
% chaque descripteur de champ est précédé de ce caractère
et sera remplacé en sortie par sa valeur correspondante
descripteurs de champs :
n insertion du caractère NL (nouvelle ligne)
t insertion d'une tabulation
m mois de l'année - 01 à 12
d jours du mois - 01 à 31
y deux derniers chiffres de l'année - 00 à 99
D date sous la forme mm/jj/aa
H heures - 00 à 23
M minutes - 00 à 59
S secondes - 00 à 59
T heure sous la forme HH:MM:SS
j jour de l'année - 001 à 366
w jour de la semaine - dimanche = 0
a jour de la semaine en abrégé (en anglais) - Sun à Sat
h forme abrégée du mois (en anglais) - Jan à Dec
r heure en notation AM/PM
NOTA : La modification de l'heure du système ne peut se faire que par
le super utilisateur.
Exemples :
$date
Tue Aug 28 15:49:29 EET 1990
$date +%d%m%y
280890
$date '+Nous sommes le : %d/%m/%y'
Nous sommes le : 28/08/90
$date '+Nous sommes le :%n%d/%m/%y'
Nous sommes le :
28/08/90
dc
Machine à calculer de bureau, utilise la notation polonaise
Utilisation des 6 opérations (+ - * / % ^)
La valeur du nombre est stockée dans la pile. Il peut être précédé
d'un trait de soulignement introduisant un nombre négatif. Les nombres
peuvent contenir des virgules décimales.
Les deux valeurs du haut de la pile s'additionnent (+) , se retranchent (-)
, se multiplient (*) , et sont éjectées pour être remplacées
par le résultat.
sx la partie supérieure de la pile est désempilée et stockée
dans le registre x (caractère quelconque)
lx la valeur se trouvant dans le registre x est placée dans la pile
p la valeur supérieure de la pile est affichée
f toutes les valeurs de la pile et dans les registres sont affichées
q sortie du programme
Exemple :
$dc #
25 # on met 25 dans la pile
5 # puis 5
/ # opérateur division
p # affichage
5 # résultat
6 # on met 6 dans la pile
* # opérateur multiplication
p # affichage
30 # résultat
f # qui a t'il dans la pile ?
30 # résultat
<CTRL D>
dd
Permet de convertir et copier physiquement des fichiers (copy and convert)
Copie le fichier d'entrée spécifié sur la sortie spécifiée
avec des conversions éventuelles. Par défaut on utilise l'entrée
et la sortie standard. On peut spécifier la taille des blocs d'entrée
et de sortie afin de bénéficier d'une entrée-sortie physique
brute.
Le paramétrage du l'utilitaire dd est spécifique et différent
des commandes précédentes.
Syntaxe :
dd [option=valeur] …
Options :
if= => spécifie le fichier d'entrée (stdin par défaut)
of=n => spécifie le fichier de sortie (stdout par défaut)
ibs=n => n : dimension des blocs du fichier d'entrée (512 par défaut)
obs=n => n : dimension des blocs du fichier de sortie (512 par défaut)
bs=n => n : taille des blocs de n octets pour ibs et obs
cbs=n => taille de la mémoire tampon de conversion si elle existe
files=n => copie et concatène n fichiers
skip=n => sauter n blocs de n octets pour ibs et obs
seek=n => se positionner à n blocs du débuts du fichier de
sortie avant de copier
iseek=n => sauter n blocs d'entrée avant copie
count=n => copie de n bloc
conv= ascii => conversion EBCDIC en ASCII
ebcdic => conversion ASCII en EBCDIC
ibm => IBM conversion ASCII en EBCDIC
block => transforme les chaînes en longueur fixe
unblock => termine les chaînes par NL
ucase => conversion minuscule en majuscule
lcase => conversion majuscule en minuscule
noerror => ne pas arrêter le traitement sur une erreur
swab => permutation de chaque paire d'octets
sync => remplir bloc en entrée au ibs octets
Exemples :
dd if=/dev/ruser of=/dev/rbackup bs=512 count=23 skip=1 seek=1
voir schéma page 94
dd if=/dev/rusers of=/dev/rbackup bs=24b count=783 skip=1 seek=1
voir schéma page 94
dd if=/dev/fd0 of=/disquette
dd if=/dev/cdrom of=fic.cd => copie bit à bit du cdrom
cdrecord fic.cd /dev/cdrom => gravage du fichier.
debugfs
Permet de corriger les erreurs d'un FS; les erreurs non corrigeable par fsck
deluser
Suppression d'un compte utilisateur
Syntaxe :
deluser login yes|no dir
login : nom de connexion
yes|no : sauver ou non les fichiers de l'utilisateur
dir : répertoire de connexion
Voir aussi : sysadm pour la gestion des comptes utilisateurs.
df
Affiche le nombre des blocs libres
Cette commande affiche le nombre de blocs libres et le nombre d'i-node libres
pour le système de fichier en examinant les valeurs placées dans
le super-bloc. Les système de fichiers peuvent être spécifiés
soit par un nom de périphérique (/dev/dsk/c3d0 par exemple) ou
par un nom de répertoire monté (/usr par exemple).
Syntaxe :
df [-F type] [-options] [sf_nom]
-f => seul le nombre de blocs libre est donné
-F type => type de système de fichiers si celui-ci n'est pas monté
-b => affiche seulement le nombre d'octets
-e => affiche seulement le nombre d'i-nodes libres
-k => affiche tout le contenu de la structure statvfs
-l => affichage en Ko => vérifier %
-n => affiche seulement le type des systèmes de fichiers montés
-t => affiche une liste complète détaillée => minfree
10% minimum
-V => affiche la commande sans l'exécuter
-o options_spéciales => options spécifiques à certains
systèmes de fichiers.
-i => option BSD informations sur les i-nodes
-t type => option BSD indiquant le type de fichier
Attention :
Il faut toujours avoir au moins 10% d'espace libre pour assurer un bon fonctionnement
du système.
diff
Rechercher les différences entre deux fichiers
Cette commande réalise une comparaison de deux fichiers et édite
suivant les cas, les différences, et les modifications à réaliser
pour les rendre identiques.
Le texte produit par cette commande ressemble aux requêtes a, c et d de
l'éditeur ed. Les lignes du premier fichier sont précédées
du caractère "<" et les lignes du second sont précédées
du caractère ">".
Un code de retour peut prendre les valeurs (0,1,2) comme avec cmp.
Certaines versions permettent de parcourir récursivement deux catalogues
et d'exécuter la commande diff pour chaque fichier rencontré (utilisation
de l'option -r)
Il existe en fait quatre commandes :
diff => produit soit des messages, soit un fichier de directives pour ed
permettant de modifier fichier1 en fichier2.
diff3 => compare trois fichiers comme diff
sdiff => affiche sur stdout les fichiers et leurs différences
bdiff => permet de travailler sur les gros fichiers comme diff
Syntaxe :
diff [-options] fichier1 fichier2
sdiff [-w n] [-ls] [-o fic_out] fichier1 fichier2
bdiff fichier1 fichier2 [n] [-s]
Options :
diff
-b => ne prend pas en compte les blancs (espaces et tabulations)
-c => affiche les différences avec 3 lignes de contexte
-Cn => identique à c mais sur n lignes de contexte
-Dchaine => créé des fichiers préprocessés, avec
chaine définie pour fichier2 et non définie pour fichier1
-e => création d'un fichier de directives pour ed qui recréera
le fichier2 comme fichier1
-f => identique à -e commence la reconstruction de fichier1 à
partir de la fin
-h => travail rapide, mais peu minutieux, utilisée lorsque il y a
peu de modifications pour gros fichier avec peu de différences
-i => ignore la casse des caractères
-l => affichage au format long
-n => comme -f mais avec compteur de lignes
-r => récursivité, parcours les répertoires
-s => signale les fichiers identiques
-Snom => parcours le répertoire à partir de nom
-t => préserve l'indentation originale en sortie
-w => ignore les espaces dans les comparaisons
diff3
-e => génère une procédure pour ed (fichier2, fichier3
-> fichier1)
-x => génère une procédure pour ed (fichier1, fichier2
et fichier3 différent)
-3 => génère une procédure pour ed (fichier3 différent)
-E => les lignes de la procédure ed que se recoupent sont insérées
en < > (fichier2 différent de fichier3)
-X => comme -E mais avec fichier1, fichier2 et fichier3 différent
sdiff
-w n => permet de spécifier la longueur de la ligne d'affichage (n=132
par défaut)
-l => édition de la partie gauche des lignes
-s => aucune édition pour les lignes identiques
-o fic_out => affichage d'un 3ème fichier sous le contrôle de
l'utilisateur
bdiff
n => argument qui divise le fichier en n lignes
-s => pas de commentaires, mode "silencieux"
Exemples :
$diff -e fic1 fic2 > diffs => rangera dans le fichier diffs les requêtes
destinées à l'éditeur ed qui permettront de transformer
le fichier fic1 comme fic2
dig
Fournit des informations concernant le service de noms (ressemble à nslookup)
dircmp
Compare deux répertoires
Cette commande examine les deux répertoires spécifiés et
produits diverses informations concernant leur contenu.
Si aucune option n'est spécifiée, on obtient une liste des noms
de fichiers communs aux deux répertoires.
Syntaxe :
dircmp [-d] [-s] [-w n] rep1 rep2
Options :
-d => compare le contenu des fichiers portant le même nom dans les
deux répertoires et produit une liste identique à diff
-s => pas de commentaire, mode "silencieux"
-w n => spécifie la taille de la ligne de sortie (n=72 par défaut)
dirname
Extraire le nom du répertoire parent dans un nom de fichier complet
Syntaxe :
dirname fichier_complet
Exemple :
$dirname /home/users1/fichier
/home/user1
disable
Désactivation des imprimante.
Permet de verrouiller la liaison d'un terminal
Permet de désactiver les imprimantes désignées, en leur
interdisant de prendre en compte des demandes soumises par lp (interdit à
lpsched d'acheminer les requêtes).
Toute requête en cours d'impression lors de l'appel de cette commande
sera reprise intégralement lors du passage de la commande enable.
La suspension de l'impression par disable n'interdit pas l'envoi de requête
par lp, celles-ci sont mises en file d'attente.
Syntaxe :
Disable [-clw] [-rraison] imprimante
disable tty1a
Options :
-c annule toute requête en cours d'impression sur l'une des imprimantes
désignées.
- w attente de la sortie de la requête en cours.
-rraison associe une cause à la désactivation des imprimantes
sous forme d'un message.
(voir enable)
diskform
Permet de formater physiquement et contrôler un disque
Syntaxe :
diskform [-clé [spécial [format [-g] [-l] ] ] ]
clé : détermine le type d'intervention à effectuer sur
le disque
-f => Formate le disque dur. Pour les disques dur , si vous avez spécifié
l'option -l, diskform vous demande une liste de mauvaise pistes à remplacer
(pistes défectueuses fournies par le fabricant). Le contenu du disque
est détruit. Il faut exécuter cette opération avant toute
utilisation d'un nouveau disque.
-i => Uniquement pour les disques durs, initialise le bloc 0 (informations
du contrôleur, 22 premiers octets). La clé -f exécute automatiquement
cette opération.
-e => Uniquement pour les disques durs, édite les caractéristiques
du dernier format (pistes défectueuses, pistes de remplacement).
-c => Contrôle le disque et affiche la liste des pistes défectueuses.
-d => Uniquement pour les disques durs, remplace les pistes défectueuses.
-g => Permet de s'assurer que le disque est bien conforme aux spécifications
du fabricant. Cette option ne s'applique qu'aux -f, -e, -d sur disques durs.
-l => Associée à la clé -f demande une liste des mauvaises
pistes à remplacer, et associée à -c demande la zone à
contrôler. Cette option ne s'applique que sur les disques durs.
format : type de format du disque.
Format type disque secteur (octets) piste (sect.) cylindre (pistes) disque (cyl.)
pistes de remplacement
d140m D140 mobile 256 48 2 391 0
d140f D140 fixe 256 48 2 391 0
dmam DMA mobile 256 32 2 306 24
dmaf DMA fixe 256 32 2 306 24
d570 D570+DMA 256 32 7 976 68
mxt190 MXT190 1024 9 15 1203 300
flbm60 floppy (HD) 512 15 2 80 0
flxopen floppy (DD) 512 9 2 80 0
Exemples de formatage de disquette :
$diskform -f /dev/rpd302
$diskform -f /dev/rpd302 flxopen -g
$diskform -f /dev/rdsk/c3d6 flbm60 -g
Conseil :
Avant le formatage, voir le modèle des disques dans /etc/format ou /etc/disktab
Contraintes :
volumes non montés
fichier spécial mode caractère
mode mono utilisateur
dlist
Affiche les caractéristiques d'un système de fichiers (DPX)
Cette commande affiche :
le nom du système de fichiers
le nom du volume
la dernière date de mise à jour
la taille de l'unité logique
le nombre de blocs
le nombre d'i-nodes en blocs et en k-octets
Syntaxe :
dlist [sf_nom]
Les fs peuvent être spécifiés par un nom de périphérique
(/dev/dsk/C3d0s5) ou par un nom de répertoire monté (/usr).
Les fichiers utilisés par cette commande sont : /dev/dsk/* et /etc/mtab
dmesg
Affiche les messages du démarrage système
domainname
Initialisation du nom de domaine
Syntaxe :
domainname [nom_Machine]
du (disk use)
Récapitulatif de l'utilisation d'un disque
Affiche l'espace utilisé (en blocs de 512 octets) du répertoire
(spécifiés par l'argument sf_nom) courant ainsi que des sous répertoires
Syntaxe :
du [-options] sf_nom
Options :
-s => permet de n'obtenir que le total général pour chacun
des nom spécifiés
-a => engendre une entrée pour chaque fichier
-r => générera des messages si des répertoires ne peuvent
par être lus.
dump
Permet de sauvegarder les données linux (voir restore)
dump2fs
Permet de voir les informations du FS ext2
echo
Affiche un texte sur la console
Quand on veut afficher un caractère spécial (comme $ ou "),
le faire précéder d'un \
Quand on veut afficher le caractère ascii à partir de son code
ascii, on met \0 devant sa valeur.
Syntaxe :
echo chaîne
La chaîne peut contenir des caractères spéciaux.
Caractères spéciaux :
\n : Saut de ligne.
\b : Retour en arrière.
\t : Marque la tabulation.
\c : Fin de la sortie et annulation du saut de ligne.
\\ : Affiche un backslash.
\xxx : Permet d'envoyer un code ascii à la console.
\ : En fin de ligne, précise que la chaîne continue sur la ligne
suivante.
Exemples :
echo "salut \n les \n jeunes"
echo "bonjour les copains"
echo "salut \c"
echo "aujourd'hui nous somme le :" date
echo
echo "\065"
echo "deux commandes sur une ligne sont séparés par un ;\c"
echo $DISPLAY
enable
Activation des imprimante.
Permet de libérer une liaison d'un terminal
Permet d'activer les imprimantes désignées, en les autorisant
à prendre en compte des demandes soumises par Ip (autorise Ipsched à
acheminer les requêtes).
Syntaxe :
enable imprimante
enable tty1a
(voir disable)
env
Permet de connaître l'environnement d'une session, la liste des variables
exportées et éventuellement construire un nouvel environnement.
consulter les variables d'environnement.
syntaxe :
env => affiche la liste des variables exportées
env [variable1=valeur variablen=valeur] [commande args] => passe des arguments
supplémentaires avant l'exécution de la commande.
env - [variable1=valeur variablen=valeur] [commande args] => ignore l'environnement
de base et ne tient compte que des valeurs transmises.
Exemple :
$env LANG=fr date
exit ou <Ctrl d>
Termine une session utilisateur
export
Permet d'exporter des variables pour qu'elles deviennent commune à tous
les processus fils d'un processus.
Sans argument export affiche la liste des variables prédéfinies
exportable.
Syntaxe :
export [liste_de_variables]
exportfs
Commande de maintenance de la liste des systèmes de fichiers NFS exportés
La liste des systèmes de fichiers exportés
pour NFS est placée dans le fichier /var/lib/nfs/xtab.
Cette liste sera utilisée par le démon mountd lorsqu’un
client distant fera une demande de montage d’un système de fichiers.
Syntaxe :
exportfs [options] [clien:/répertoire]
Options :
-a => Exporte tous les répertoires précisés dans /etc/exports.
-v => Mode verbeux.
-i => Ignore le fichier /etc/exports. Les options appliquées sont
alors les options par défaut ou celles précisées sur la
ligne de commandes.
-o options => Permet de préciser une liste d’options de la même
manière que dans le fichier /etc/exports.
-r => Mise à jour des tables d’export.
-u => Arrêt de l’export d’un ou plusieurs répertoires.
expr
fdformat
Formatage bas niveau d'une disquette
fdformat /dev/fd0h1440
fg
Permet de reprendre l'exécution en premier plan.
Syntaxes :
fg n°_de_job
fg %nom_job
fg #PID
field
Sélectionner des champs dans un fichier (SPIX, ne fait pas partie de
POSIX)
Chaque ligne d'entrée donne une ligne en sortie avec seulement les champs
spécifiés par leur numéro
Les champs doivent être séparés par une tabulation ou le
caractère <NL>
Syntaxe :
field [n…] < fichier
file
Détermine le type du ou des fichiers spécifiés.
Syntaxe :
File fichier(s)
find
Recherche de fichier dans l'arborescence.
Syntaxes :
find chemin_d'accés critère options
Critères ::
-name => recherche par nom de fichier.
-inum => recherche par numéro (i-num) de fichier.
-user => recherche par nom de propriétaire.
-group => recherche par group d'appartenance.
-type fdcbpl => recherche de fichier suivant leur type (f=ordinaire, d=répertoire
etc…).
-home => recherche suivant les droits des fichiers.
-size => recherche en fonction de la taille du fichier.
-atime => recherche en fonction du dernier accès.
-mtime n => recherche de fichier modifiés il y a n jours.
-ctime => recherche en
-perm => recherche suivant les permissions.
-links n => recherche des fichiers à n liens.
Options :
-print => écrit en sortie une liste
-exec => exécution du fichier
-ok => demande de confirmation avant exécution
Exemple :
$find / -name fichier -print
$find / -name .rhosts -exe rm{}\; => trouve et détruit tous les fichiers
.rhosts
$find . -type d -print => permet de lister seulement les répertoires
$find . -name "*.c" -print =>affichage de tous les fichiers en
langage c du répertoire courant
$find . -perm 777 -print =>affichage de tous les fichiers ayant la permission
777 du répertoire courant
$find . -type d -exec ll -d {} \; =>liste complète des sous-répertoire
du répertoire courant
$find / -inum 345 -exec rm {} \; =>recherche et destruction des fichiers
ayant le i- number 345 dans tout le système de fichiers
$find . -cpio /dev/rct/0 =>sauvegarde sur la cassette des fichiers du répertoire
courant
fsck (/etc/fsck)
Cette commande permet de réparer un FS endommagé suite , par exemple
à une coupure brutale du système (crash) ou à une panne
électrique ou matérielle).
Il faut précédemment arrêter tous les processus utilisant
le FS (voir fuser) puis démonter le FS (umount).
fsck -q /dev/hd11 => Permet une réparation automatique (-q) des erreurs.
fsck -F ufs /dev/rdsk/c0t0d0s0
fuser (/etc/fuser)
/etc/fuser /dev/hd11 => affiche la liste de tous les process utilisant ce
fichier de périphériques
/etc/fuser -r /dev/hd11 => affiche le numéro de processus et le nom
de l'utilisateur
/etc/fuser -k /dev/hd11 => envoie le signal sigkill à tous les processus
accèdent à cette ressource
ftp
Transfert de données
Syntaxe :
ftp nom_de_la_machine_distante
ftp adresse_ip
commandes ftp
open Machine Mise en place de la liaison avec la machine spécifiée.
quit Fermeture de la liaison et fin de la commande ftp.
ascii Les données à transmettre sont des caractères ASCII.
binary Les données à transmettre sont des données binaires
qui ne doivent pas être interprétées.
glob Permet d'activer ou de désactiver le traitement des caractères
spéciaux utilisés pour la génération des noms de
fichier (par exemple * ou ?).
help Affichage de la liste des instructions possibles
prompt Par défaut, lors de l'emploi des commandes mput ou mget, le système
demande pour chaque fichier à transmettre si le transfert doit effectivement
avoir lieu. Après saisie de l'instruction prompt, cette demande de confirmation
individuelle est désactivée. Un nouvel appel de prompt la réactive.
pwd Lecture du répertoire courant de la station cible.
cd chemin Changement de répertoire sur la machine cible.
ls Affichage des fichiers de la machine cible.
delete fichier Suppression d'un fichier sur la machine cible.
mdelete La commande mdelete est suivie de plusieurs noms de fichiers ou d'un
critère de sélection de fichiers. Tous les fichiers concernés
sont supprimés sur la machine cible.
get fichier Transmission d'un fichier depuis la machine à distance vers
la station locale.
mget fichier Download de plusieurs fichiers à partir de la machine distante.
En guise de paramètres, vous pourrez spécifier plusieurs noms
de fichiers ou un critère de sélection.
put fichier Transmission d'un fichier de la machine locale vers la machine distante.
mput fichier Transmission de plusieurs fichiers de la machine locale vers la
machine distante. Les paramètres possibles sont identiques à ceux
de mdelete ou mget.
gated
Permet d’utiliser une machine Unix comme un routeur. Ce daemon est utilisé
pour activer les routage dynamiques.
grep(1)
Permet de rechercher une chaîne de caractères
NOM
grep, egrep, fgrep - Afficher les lignes correspondant à un motif donné.
Syntaxe :
grep [ -[AB] num ] [ -[CEFGVBchilnsvwx] [ -e] motif | -ffichier ] [ fichiers...
]
Description :
Grep Recherche dans les fichiers d'entrée indiqués les lignes
correspondant à un certain motif.
Si aucun fichier n'est fourni, ou si le nom `-' est mentionné, la lecture
se fait depuis l'entrée standard.
Par défaut, grep affiche les lignes correspondant au motif.
Il existe trois variantes principales de ggrreepp, controlées par les
options suivantes.
-G => Interprète le motif comme une expression régulière
simple (voir plus bas). C'est le comportement par défaut.
-E => Interprète le motif comme une expression régulière
étendue (voir plus bas).
-F => Interprète le motif comme une liste de chaînes figées,
séparées par des Sauts de Lignes (NewLine).
La correspondance est faite avec n'importe laquelle de ces chaînes.
De plus, il existe deux variantes du programme : egrep et fgrep. Egrep est similaire
(sans être identique) à
grep -E, et est compatible avec les versions UNIX historiques de egrep. Fgrep
est identique à grep -F.
Toutes les variantes de grep acceptent les options suivantes :
-num => Les correspondances seront affichées avec num lignes supplémentaires
avant et après. Néanmoins, grep n'affichera jamais une ligne plus
d'une fois.
-A num => Afficher num lignes supplémentaires après la ligne
correspondante.
-B num => Afficher num lignes supplémentaires avant la ligne correspondante.
-C => est équivalent à -2.
-V => Afficher le numéro de version de ggrreepp sur la sortie d'erreur
standard. Ce numéro de version devra être inclus dans tous les
rapports de bugs (voir plus bas).
-b => Avant chaque ligne, afficher son décalage (en octet) au sein
du fichier d'entrée.
-c => Ne pas afficher les résultats normaux. A la place, afficher
un compte des lignes correspondantes pour chaque fichier d'entrée. Avec
l'option -v (voir plus bas), afficher les nombres de lignes ne correspondant
pas au motif.
-e => motif Utiliser le motif indiqué. Ceci permet de protéger
les motifs commençant par -.
-f => fichier Lire le motif dans le fichier indiqué.
-h => Ne pas afficher le nom des fichiers dans les résultats lorsque
plusieurs fichiers sont parcourus.
-i => Ignorer les différences majuscules/minuscules aussi bien dans
le motif que dans les fichiers d'entrée.
([NDT] Comme toujours, ceci ne fonctionne pas avec les caractères accentués...)
-L => Ne pas afficher les résultats normaux. A la place, indiquer
le nom des fichiers pour lesquels aucun résultat n'aurait été
affiché.
-l => Ne pas afficher les résultats normaux. A la place, indiquer
le nom des fichiers pour lesquels des résultats auraient été
affiches.
-n => Ajouter à chaque ligne de sortie un préfixe contenant
son numéro dans le fichier d'entrée.
-q => Silence. Ne pas afficher les résultats normaux.
-s => Ne pas afficher les messages d'erreurs concernant les fichiers inexistants
ou illisibles.
-v => Inverser la mise en correspondance, pour sélectionner les lignes
ne correspondant pas au motif.
-w => Ne sélectionner que les lignes contenant une correspondance
formant un mot complet. La sous-chaîne correspondante doit donc être
soit au début de la ligne, soit précédée d'un caractère
'appartenant pas à un mot. De même elle doit se trouver soit à
la fin de la ligne, soit être suivie par un caractère n'appartenant
pas à un mot. Les caractères composants les mots sont les lettres,
les chiffres et le souligné (`'). ([NDT] Bien entendu les minuscules
accentuées ne sont pas des lettres ! elles servent donc à séparer
les mots...)
-x => Ne sélectionner que les correspondances qui occupent une ligne
entière.
EXPRESSIONS RÉGULIÈRES
Une expression régulière est un motif qui permet de décrire
un ensemble de chaînes. Les expressions régulières sont
construites comme des opérations arithmétiques, en utilisant des
opérateurs divers pour combiner des expressions plus petites.
Grep comprend deux versions différentes pour la syntaxe des expressions
régulières : ``simple'' et ``étendue.''
Dans la version GNU de grep, il n'y a pas de différence dans les fonctionnalités
disponibles en utilisant l'une ou l'autre des syntaxes. Dans d'autres implémentations,
les expressions régulières simples sont moins puissantes. La description
ci-dessous correspond aux expressions étendues, les différences
avec les expressions simples étant résumées ensuite.
Les briques élémentaires sont les expressions régulières
correspondant à un simple caractère. La plupart des caractères,
y compris toutes les lettres et les chiffres, sont des expressions régulières
se correspondant à eux-mêmes. Tout méta-caractère
ayant une signification spéciale doit être protégé
en le faisant précéder d'un BackSlash.
Une liste de caractères, encadrée par [[ et ]] peut être
mise en correspondance avec n'importe quel caractère unique appartenant
à la liste. Si le premier caractère de la liste est l'accent circonflexe
^ alors la mise en correspondance se fait avec n'importe quel caractère
absent de la liste. Par exemple, l'expression régulière [0123456789]
convient pour n'importe quel chifre unique.
Un intervalle de caractères ASCII peut être indiqué en donnant
le premier et le dernier caractère séparés par un tiret.
Finalement il existe certaines classes de caractères prédéfinies.
Leurs noms sont assez explicites :
[:alnum:], [:alpha:], [:cntrl:], [:digit:] (chiffres), [:graph:], [:lower:]
(minuscules), [:print:] (affichables), [:punct:], [:space:], [:upper:] (majuscules),
et [:xdigit:] (chiffres héxadécimaux). par exemple, [[:alnum:]]
correspond à [0-9A-Za-z], à la différence que le dernier
dépend de l'encodage ASCII, alors que le premier est plus portable. Remarquez
que les crochets dans les noms de classes font partie intégrante du nom
symbolique, et qu'ils doivent donc être inclus en plus des crochets encadrant
la liste. La plupart des méta-caractères perdent leurs significations
spéciales au sein des listes.
Pour inclure un ] littéral, mettez-le en premier dans la liste. De même,
pour inclure un ^ littéral, placez-le n'importe ou sauf au début
de la liste. Enfin, pour inclure un -- placez- le en dernier.
Le point . correspond à n'importe quel caractère unique.
Le symbole \w est un synonyme de [[:alnum:]] et \W un synonyme de [^[:alnum]].
L'accent circonflexe ^ et le symbole dollar $ sont des méta-caratères
correspondant respectivement à une chaîne vide au début
et en fin de ligne. Les symboles \< et \> correspondent respectivement
à une chaîne vide en début et en fin de mot. Le symbole
\b correspond à une chaîne vide à l'extrémité
d'un mot, et \B correspond à une chaîne vide ne se trouvant pas
à une extrémité de mot.
Une expression régulière correspondant à un caractère
unique peut être suivie par l'un des opérateurs de répétition
suivants :
? L'élément précédent est facultatif et doit être
mis en correspondance une fois au maximum.
* L'élément précédent doit être mis en correspondance
zéro ou plusieurs fois.
+ L'élément précédent doit être mis en correspondance
au moins une fois.
{n} L'élément précédent doit être mis en correspondance
exactement n fois.
{n,} L'élément précédent doit être mis en
correspondance n fois ou plus.
{,m} L'élément précédent est facultatif et doit
être mis en correspondance m fois au plus.
{n,m} L'élément précédent doit être mis en
correspondance au moins n fois, mais au plus m fois.
Deux expressions régulières peuvent être juxtaposées,
l'expression en résultant correspondra à toute chaîne formée
par la juxtaposition de deux sous-chaînes correspondant respectivement
aux deux sous-expression.
Deux expressions régulières peuvent être reliées
par l'opérateur infixe ||; l'expression résultante correspondra
à toute chaîne correspondant à l'une ou l'autre des deux
sous-expressions.
Les répétitions ont priorité sur les juxtapositions, qui
à leur tour ont priorité sur les alternatives. Une sous-expression
peut être entourée par des parenthèses pour modifier ces
règles de précédence.
La référence inverse \n, ou n est un chiffre, correspond à
la sous-chaîne déjà mise en correspondance avec la nième
sous-expression régulière entre parenthèses.
Dans les expressions régulières simples, les méta-caractères
?, +, {, |, (, et ) perdent leurs significations spéciales, il faut utiliser
à la place leurs versions avec BackSlash \?, \+, \{, \|, \(, et \).
Dans egrep le méta-caractère {{ perd sa signification spéciale,
il faut utiliser \\{{ à la place.
DIAGNOSTIQUE
Normalement, le code de retour est 0 si des correspondances ont été
trouvées, et 1 si aucune correspondance n'a été faite.
L'option -v inverse le sens du code de retour.
Le code de retour correspond à des erreurs de syntaxe dans le motif,
des fichiers d'entrée inaccessibles, ou d'autres erreurs système.
BUGS
Envoyez les rapports de bug ([NDT] en anglais !) à buggnu-utils@prep.ai.mit.edu.
Assurez-vous d'inclure le mot ``grep'' quelque part dans le champ ``Subject:''.
Dans les constructions {m,n} de grandes valeurs de répétition
peuvent pousser grep à utiliser beaucoup de mémoire. De plus,
certaines autres expressions régulières obscures peuvent prendre
un temps exponentiellement long, et mener à un manque de mémoire.
Les références inverses sont très lentes et peuvent nécessiter
un temps exponentiellement Syntaxe :
Exemple :
ex : cd /etc/rc.d puis grep ifconfig *
group
permet de connaître les groupes auxquels on appartient.
groupadd
Création d'un groupe utilisateur
groupadd -g group_id group
head
Afficher les premières lignes d'un fichier
Par défaut affiche les dix dernières lignes du fichier spécifié.
Syntaxe :
head [-nl] [fichier …]
Exemple :
head -5 *.c => Affiche les 5 premières lignes de tous les sources
C
Voir tail
history
Donne les 16 dernières lignes saisie au clavier
Ré exécution d'une commande
$r => de la dernière
$r n => de la nième commande
$r -2 => de l'avant dernière
$r ls => de la dernière commande commençant par ls
hostname
Initialisation du nom de machine
Syntaxe :
Hostname nom_machine
id
Renvoie l'UID, le GID d'un utilisateur
permet de connaître le numéro d'utilisateur et le groupe auquel
il appartient.
Syntaxe :
id (nom_utilisateur)
Renvoie l'UID, le GID de l'utilisateur courant si le login n'est pas précisé.
ifconfig
Configuration et affichage de l’interface spécifié.
Cette commande est utile pour vérifier et mettre à jour les adresse
IP ,masques de sous-réseaux et broadcast ainsi que pour repérer
celles qui sont incorrectes.
Pour que toutes les machines du réseau communiquent correctement, elles
doivent toutes avoir le même masque de sous-réseau.
Elle est lancée explicitement au lancement système dans /etc/rc.d/rc.inet1
(linux)
Syntaxe :
Ifconfig nom_interface [famille] [adresse] [liaison] [up|down] [netmask masque]
[metric distance] [[-] trailers]
Options :
nom de l'interface
lo0 #interface de loopback
eth0 #interface ethernet
ppp0 #interface série PPP
famille
Inet par defaut (nom ou notation décimale), définit les règles
d'interprétation des paramètres et des adresses. La famille ether
définit des adresses au format Ethernet.
adresse
Adresse physique de l'interface, le nom de la machine peut être utilisé
s'il est défini. dans /etc/host;
liaison
Utilisé pour les liaison point à point (SLIP, CSLIP, PPP), adresse
de la machine ou l'on est raccordé.
up ou down
Interface active ou interface inactive.
netmask masque
Masque pour l'interprétation des adresses IP, le masque par défaut
est celui qui correspond à la classe de l'adresse IP.
metric distance
Option interprétée lors du routage, plus la distance est élevée,
moins le chemin d'un paquet risque de passer par ce routeur.
trailers
Réorganisation des datagrammes IP ; les en-têtes de longueur variables
étant placée à la fin du datagramme (encapsulation arrière
ou trailer d'encapsulation), cette option signifie que l'interface accepte cette
technique en réception et émission.
Résultats :
La première ligne décrit l'état de l'interface :
UP Interface activé
BROADCAST Emission dans le mode diffusion
NOTRAILERS Pas d'encapsulation de type "trailers" des trames suites
RUNNING L'interface est prête à être utilisée
La deuxième ligne contient des informations d'adressage
:
Numéro internet de la machine spécifié derrière
le mot inet
Masque déterminant le mode d'adressage sur la branche du réseau
de l'interface spécifié derrière le mot netmask
Adresse utilisée par le système lorsqu'il veut émettre
une trame en diffusion sur cette branche du réseau derrière le
mot broadcast.
Exemple :
ifconfig -a
eth0 Lien encap:Ethernet HWaddr 00:50:BA:BD:A3:72
inet adr:20.62.72.100 Bcast:20.62.95.255 Masque:255.255.224.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Paquets Reçus:224 erreurs:0 jetés:0 débordements:0 trames:0
Paquets transmis:31 erreurs:0 jetés:0 débordements:0 carrier:0
collisions:2 lg file transmission:100
Interruption:11 Adresse de base:0xc000
Lo Lien encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
Paquets Reçus:29 erreurs:0 jetés:0 débordements:0 trames:0
Paquets transmis:29 erreurs:0 jetés:0 débordements:0 carrier:0
collisions:0 lg file transmission:0
ifconfig lo 127.0.0.1 :pour le loopback
ifconfig le0 192.168.127.1 netmask 255.255.255.0 broadcast 192.168.127.255
ifconfig -a :affiche la liste des interfaces réseaux même non configurées
(solaris)
ifconfig le0 down puis ifconfig le 192.168.128.3 up pour modifier l’adresse.
ifconfig hme0 plumb si interface non visible
ifconfig hme0 192.168.6.1
inetd
C’est le daemon internet. Il est lancé explicitement. Pour désactiver
un service, il suffit de mettre la carte de inetd.conf en commentaire et de
lancer un signal SIGHUP sur le serveur inetd (kill -HUP)
Il écoute les ports et va voir dans inetd.conf
Init / telinit
Cette commande permet de changer le runlevel par le biais du fichier /etc/inittab
C'est l'ancêtre de tous les processus.
Si on change de niveau d'exécution, init envoie le signal 15 (SIGTERM),
à tous les processus qui ne sont pas concernés par le nouveau
niveau demandé. Au bout de 5 secondes, les processus qui ne sont pas
terminés reçoivent le signal 9 (SIGKILL).
Syntaxe :
/sbin/init [ -a ] [ -s ] [ -b ] [ -z xxx ] [ 0123456Ss ]
/sbin/telinit [ -t sec ] [ 0123456sSQqabcUu ]
Options :
-a (auto)
-s (single user) démarrage en mono utilisateur
-b (emergency) démarre un shell en mono utilisateur sans lancer les scriptsde
démarrage.
-z xxx
-t sec Permet de fixer un temps différent des 5 secondes pour l'envoi
du signal 9.
a b c Les processus qui résultent de l'exécution
de commandes associées au pseudo- niveau a, b et c ne sont pas détruits
l'ors d'un véritable changement de niveau
Q q Ne modifie pas le niveau d'exécution, demandent à init de
relire le fichier /etc/inittab à utiliser après sa modification.
Actions :
initdefault niveau d'exécution par défaut au lancement d'init;
sysinit a commande est exécutée avant qu'init n'accède
à la console;
boot la commande est exécutée uniquement la première fois
qu'init lit le fichier inittab, c'est à dire au boot;
bootwait idem, mais init attend la terminaison de la commande avant de passer
à la suivante;
powerfail la commande est exécutée lorsque init reçoit
le signal SIGPWR;
powerwait idem, mais init attend la terminaison de la commande avant de passer
à la suivante;
respawn init relancera la commande du champ 4 (getty) dès qu'elle se
terminera;
wait la commande est exécutée lorsque init rentre dans le niveau
considéré, et il doit attendre la terminaison avant de passer
à la suivante;
once si la commande n'a pas été lancée, elle est exécutée
et init passe immédiatement à la suivante;
off la commande de cette ligne est ignorée, mais si le processus associé
est actif, init le tue en lui envoyant les signaux SIGTERM puis SIGKILL.
init 2 => passage en mode Multi-utilisateurs
init q => init relit le fichier /etc/inittab et réactualise ses tables
interne
En mode Multi-utilisateurs, le processus init (PID1) lance notamment le processus
getty sur les lignes affectées au utilisateurs, déclarées
dan le fichier "table" /etc/inittab
Les instruction du fichier /etc/inittab sont exécutée en fonction
du niveau d'exécution du système (run level).
Certaines instructions de ce fichier ne sont traitées qu'au démarrage
du système.
Exemple :
Init 0 => Arrêt de la station.
Init 2 => Passage au niveaux d'exécution n°2.
Init 6 => Arrêt de la station puis redémarrage de celle-ci.
Attention : ne jamais utiliser init S ou s ou telinit S ou s
jobs
Affiche tous les jobs en cours.
[num]+ => indique le dernier job lancé
[num]- => indique l'avant-dernier job lancé
join
Réunir deux fichiers triés sur un champ de valeur identique
Cette commande extrait les lignes communes sur des critères communs entre
deux fichiers, autrement dit elle permet d'afficher les lignes qui comprennent
un champ identique dans deux fichiers. Le séparateur de champ est espace.
Si à la place de fichier1 on utilise "-", l'entrée standard
est utilisée.
Syntaxe :
join [options] fichier1 fichier2
Options :
-e chaine => remplace les champs de sortie vides par la chaine spécifiée
-achiffre => produit en plus une ligne en sortie pour chaque ligne non comparable
du fichier, le chiffre peur valoir 1 ou 2, il défini si =1 c'est fichier1
qui sert de référence, si =2 c'est fichier2 qui sert de référence
j[1|2]n => effectue la liaison sur le nième champ du fichier 1 et
2
-o liste => chaque ligne de sortie comprend les champs spécifiés
dans liste, chacun de ses éléments étant de la forme n.m,
où n est un numéro de fichier et m un numéro de champ.
-tcar => utilise le caractère car en tant que séparateur de
champ
Exemples :
$sort -n -t: +3 -4 /etc/passwd/ tmp/passwd => tri sur le 4ème champ
(GID) de /etc/passwd
$sort -n -t: +2 -3 /etc/group /tmp/group => tri sur le 3ème champ
(GID) de /etc/group
$join /t: -j1 4 -j2 3 -o 1.1 2.1 1.6 /tmp/passwd /tmp/group => affiche le
nom de login, le groupe, le répertoire de connexion en établissant
la concordance sur le GID (attention passwd et group doivent être triés
sur le GID)
kill
kill envoie le signal indiqué aux processus mentionnés. Si on
ne précise pas de signal, TERM est envoyé. Ce dernier tuera les
processus qui ne l'interceptent pas.
Si l'on désire tuer des processus qui interceptent TERM, il peut être
nécessaire d'envoyer le signal KILL (9), qui ne peut pas être intercepté.
La plupart des shells modernes ont une commande kill intégrée.
Syntaxe :
kill [ -s signal | -p ] [ -a ] pid ...
kill -l [ signal ]
Options :
Pid => Indique la liste des PID auxquels kill doit envoyerun signal. Chaque
pid peut être un Id de processus, ou un nom de processus.
-s => Indique le signal à envoyer. Celui-ci peut être spécifié
par son nom ou par son numéro.
-p => Indique que kill doit simplement fournir l'Id du processus dont le
nom est fourni, sans lui envoyer de signal.
-l => Affiche une liste des noms de signaux connus. Ceux-ci sont fournis
dans /usr/include/linux/signal.h
killall
Envoyer un signal à des processus indiqués par leurs noms.
killall envoie un signal à tous les processus en train d'exécuter
les commandes mentionnées. Si aucun signal n'est précisé,
TERM est envoyé.
Les signaux peuvent être indiqués soit par leur nom (par exemple
-HUP) soit par leur numéro (par exemple -1). Le signal 0 (vérifier
que le processus existe) n'a pas de nom
Si le nom de la commande contient un slash (/), les processus exécutant
ce fichier seront sélectionnés, indépendamment de leurs
noms
killall renvoie un code non-nul si aucun processus n'a été trouvé
pour une au moins des commandes précisées. Si un processus au
moins a reçu un signal pour chaque commande mentionnée, killall
renvoie zéro
Un processus killall ne s'envoie jamais de signal à lui-même (mais
il peut en envoyer à d'autres processus killall).
Syntaxe :
killall [-iv][ -s signal nom...
kill -l
kill -V
Options :
-i Demander confirmation interactivement avant l'émission du signal.
-l Afficher la liste de tous les signaux connus.
-v Afficher un compte-rendu de l'émission du signal.
-V Afficher un numéro de version.
labelit
Poser des labels ou contrôle un système de fichiers
Cet utilitaire attribue un nom de système de fichiers et un nom de volume
à un disque démonté ou à une bande magnétique.
- labelit écrit dans le super bloc, et le label est seulement utilisé
par la commande volcopy.
- labelit sans option, suivi uniquement du fichier spécial permet de
connaître le label.
Syntaxe :
labelit spécial [sf_nom vol_nom [n] ]
spécial => indique le nom du fichier spécial mode caractère
sf_nom => indique le nom du système de fichiers
vol_nom => indique le nom de volume
Option :
-n => permet de détruire l'ancien label sur bande
Exemple :
$labelit /dev/rusers users c3d0s5
$labelit /dev/rct300 bande01 ct01 -n
$labelit /dev/rusers
leave
Spécifie une échéance à partir de laquelle un message
sera affiché.
(rappelle de l'heure de partir)
Le message vous rappelant qu'il est l'heure de partir sera envoyé 5 minutes
et 1 minute avant l'heure spécifiée.
leave ignore les interrupts, quit et terminates. Faire un kill -9 PID pour arrêter
ce processus
Syntaxe :
leave [hhmm]
lilo
Installer le chargeur LILO
Celui-ci sera activé au prochain démarrage de la machine.
Syntaxe :
lilo [-option]
Options :
-q obtenir la carte des noyaux gérés
-R positionner les attributs par défaut pour le prochain boot
-I Rechercher le chemin d'accès au noyau en cours d'utilisation.
{-u|-U} Désinstaller Lilo.
-v Augmente la quantité de commentaires. Ajouter un ou plusieurs -v rendra
Lilo de plus en plus volubile.
-q Affiche la carte des noyaux actuellement gérés, et qui sont
proposés lors du démarrage de la machine. lilo gère une
carte, située par défaut dans le fichier /boot/map, contenant
les noms et les positions des divers noyaux à proposer lors du démarrage.
Cette option liste les noms des systèmes proposés lors du boot.
-m map-file Utiliser le fichier map-file pour stocker la carte plutôt
que celui par défaut.
-C config-file lilo lit les instructions à propos des systèmes
à gérer dans un fichier de configuration, par défaut /etc/lilo.conf.
Cette option permet d'indiquer un autre fichier de configuration.
-d délai Si vous avez indiqué plusieurs noyaux, en pressant SHIFT
durant le démarrage de la machine, Lilo vous proposera un choix des divers
systèmes utilisables. Après l'expiration d'un certain délai,
le premier noyau de la liste est lancé. Cette option permet de configurer
le délai désiré (en dixièmes de secondes).
-D étiquette Utilise le noyau associé à étiquette
plutôt que le premier de la liste, en tant que système par défaut.
-r root-directory
Avant toute chose, effectue un chroot vers le répertoire indiqué.
Cette option sert à réparer la configuration après avoir
booté depuis une disquette de secours.
-t Juste un essai. Ne pas modifier vraiment le secteur de boot ou le fichier
carte. A utiliser avec -v pour s'assurer de ce que lilo va faire.
-c Autoriser la compression de la carte. Ceci va permettre de grouper les requêtes
de lecture sur des secteurs adjacents. Cette option accélère le
démarrage (surtout sur disquette).
-f disk-tab Indique un ichier décrivant les paramètres géométriques
du disque. Le fichier par défaut est /etc/disktab.
-i boot-sector
Indique un fichier à installer en tant que nouveau secteur de boot. Le
fichier par défaut est /boot/boot.b.
-l Utilise un adressage linéaire des secteurs, plutôt qu'un adressage
secteur/tête/cylindre.
-P {fix|ignore}
Corrige (fix) ou ignore les tables de partitions endommagées, c'est à
dire les tables dont les adresses linéaires et secteur/tête/cylindre
ne correspondent pas.
-s save-file Quand lilo écrase le secteur de boot, il sauvegarde l'ancien
contenu dans un fichier, par défaut /boot/boot.NNNN ou NNNN dépend
du périphérique. Cette option précise un autre fichier
de sauvegarde du secteur de boot. En l'associant avec l'option -u on indique
depuis quel fichier restaurer le secteur.
-S save-file Normalement lilo n'écrasera pas un fichier de sauvegarde
existant. Cette option autorise l'écrasement.
-u device-name
Désinstallation de lilo, en recopiant le fichier de sauvegarde sur le
secteur de boot. Un horodatage du fichier est vérifié.
-U device-name
Idem, sans vérification de l'horodatage
-R command line
Cette option indique les commandes par défaut lors du prochain redémarrage
du systeme. Ensuite Lilo effacera ces commandes, elles ne sont utilisées
qu'une seule fois. Ceci est typiquement utilisé dans les scripts de redémarrage,
juste avant d'appeler `shutdown -r'.
-I label L'étiquette associée au noyau en cours d'utilisation
est stockée après le démarrage dans la variable d'environnement
BOOT_IMAGE. Cette commande affichera l'étiquette sur stdout.
-V Afficher le numéro de version.
Les lignes de commandes ci-dessus correspondent aux mots
clés du fichier de configuration ainsi :
-b bootdev boot=bootdev
-c compact
-d dsec delay=dsec
-D label default=label
-i bootsector install=bootsector
-f file disktab=file
-l linear
-m mapfile map=mapfile
-P fix fix-table
-P ignore ignore-table
-s file backup=file
-S file force-backup=file
-v verbose=level
Pour supprimer LILO qu'en il est installé dans le MBR, le plus simple
est d'utiliser la commande FDISK de MS-DOS : FDISK /MBR. Cette commande remplace
le code d'amorçage de LILO par le code d'amorçage de MS-DOS.
ll
Identique à ls -l
ln
Crée un lien physique ou symbolique sur un fichier
Un lien fait toujours référence à un fichier. Il peut y
avoir plusieurs liens sur un même fichier. Il y a deux sortes de liens
: les lien physiques et les liens symboliques.
Par défaut, les liens seront de type physiques.
Les liens physique possèdent la taille, les droits du fichier auquel
ils font référence. Il ne peuvent pas faire un lien sur un répertoire.
Toutes modification effectuée sur un des liens d'un fichier modifieront
le contenu du fichier auquel ils font référence.
Le lien symbolique est plus logique que physique. Il fait référence
à un fichier comme le lien physique mais il n'y a pas obligation que
ce fichier physique existe contrairement au lien physique. Le lien symbolique
permet aussi de faire référence à un répertoire
ce que ne permet pas le lien physique. Le lien symbolique a une taille de quelques
octets seulement car il ne contient que le pointeur.
Remarque : un lien physique n'est pas visible par la commande ls. Un lien symbolique
se voit par un ls sous la forme destination -> source. Un lien symbolique
n'est pas contenu dans le nombre de liens d'un fichier (voir commande ls).
Un fichier qui possède plusieurs liens physique ne sera effacé
que lorsque le dernier lien physique aura été supprimé.
On peut dire que, dans un lien physique, la notion de nom disparaît face
à la notion de contenu alors que dans un lien symbolique, le contenu
est bien rattaché à un seul nom même si plusieurs liens
symbolique y font référence; une suppression du fichier contenant
les données et les liens symboliques seront orphelins.
Syntaxe :
ln [-option] source destination
Option :
-f aucune question n'est posée ou l'entrée standard n'est pas
un terminal (création forcée)
-s notion de lien symbolique, création sur plusieurs "file system"
(apport de la version BSD)
-n si le lien est un nom de fichier existant, ne l'écrase pas
Exemple :
ln -s /etc toto => crée un fichier toto sur votre répertoire
qui pointe sur /etc
locate
lock
Verrouiller un terminal par introduction d'un mot de passe utilisateur.
Un message "LOCKED" est affiché sur le terminal
Si l'utilisateur oublie son mot de passe, il faut tuer le processus de verrouillage
sur un autre terminal
login
logname
Afficher le nom de connexion de l'utilisateur.
Syntaxe :
logname [--help] [--version]
Description :
Cette page de manuel décrit la version GNU de logname.
logname affiche le nom de l'utilisateur l'ayant invoqué, comme on le
trouve dans le fichier /etc/utmp, puis se termine avec un code de retour 0.
S'il n'y a pas d'enregistrement /etc/utmp pour le processus appelant, logname
affiche un message d'erreur et se termine avec le code de retour 1.
Options :
--help Afficher un message d'aide sur la sortie standard et terminer normalement.
--version
Afficher un numéro de version sur la sortie standard et terminer normalement.
look
Rechercher les lignes dans une liste triée (SPIX, ne fait pas partie
de POSIX)
Cette commande consulte un fichier trié et affiche toutes les lignes
qui commence par la chaîne spécifiée.
Si fichier n'est pas spécifié, la recherche se fait dans :
/usr/dict/words ou /var/dict/words
Syntaxe :
look [-options] chaine [fichier]
Options :
-d => seuls les lettres, les chiffres, les tabulations et les espaces participent
aux comparaisons
-f => pas de différence entre majuscules et minuscules
Exemples :
$look -d chaine fichier => affiche tous les mots commençant par chaine
dans fichier
$look app => affiche tous les mots commençant par app dans le fichier
/usr/dict/words
lp (syst V)
Envoie un fichier à imprimer au spooler d'imprimante (file d'attente
d'impression).
Les fichiers à imprimer sont stockés provisoirement dans le répertoire
/usr/spool/lp/<nom_ImprImante> ou /var/…Ces fichiers sont en fait
de deux types : données et contrôle d'impression. Le nom de ces
fichiers est composé d'un numéro de requête incrémenté
à chaque impression (prx-yyy ou clx-yyy).
Le daemon lpsched est averti de la demande d'impression émise par la
commande lp par l'envoi d'un message, qui précise le type de requête
(numéro de requête, imprimante destination, utilisateur qui a émis
la requête), dans un pipe nommé : /usr/spool/lp/FIFO ou /var/spool…
lpsched traite cette demande en activant simplement un programme d'interface
/usr/spool/lp/interface/<nom_imprimante> qui assure la traduction des
options de la requête et du fichier à imprimer puis l'envoi de
ce fichier dans un format compréhensible par le périphérique
associé à l'imprimante. Ce programme d'interface est généralement
un shell-script (voir son fonctionnement plus loin), mais ce peut-être
aussi un véritable binaire issu d'un langage quelconque. Quand il s'agit
d'un shell-script il est copié sur un modèle qui provient de /usr/spoo1/lp/model/<type-imprimante>.
Syntaxe :
lp [-options] fichier
Options :
-t => imprime un titre sur l'état de sortie.
-n => spécifie le nombre d'exemplaires.
-ox => supprime l'édition de la page d'en-tête.
-oj => supprime l'édition de la page d'en-pied.
-d => définit l'imprimante de destination.
-c => copie du fichier à imprimer, modification possible du fichier
origine avant l'impression.
lpadmin
Configuration du service LP
Cette commande permet d'ajouter, de décrire les imprimantes, les classes.
Elle sert également à ajouter ou supprimer des destinations, à
changer l'appartenance des classes, à remplacer des imprimantes par des
périphériques, …
lpadmin ne peut être utilisée que lorsque le scheduleur est arrêté.
Syntaxe :
usr/lib/lpadmin -dl-x [destination ]
/usr/lib/lpadmin -pimprimante options
Options :
-xdest supprime une destination (pr1 par exemple)
-ddest définit une destination comme destination par défaut
-pimprimante permet de définir les caractéristiques d'une nouvelle
imprimante ou de changer les caractéristiques d'une imprimante à
partir des options suivantes :
-cclasse => insère l'imprimante dans la classe désignée
-rclasse => enlève l'imprimante de la classe désignée
-vdev => associe un fichier spécial au nom logique
-mmodèle => copie un modèle existant du répertoire /usr/spool/Ip/model
et le prend comme interface dans /usr/spool/interface
-eimprimante =>utiliser l'interface d'une autre imprimante
-ichemin =>copie le fichier désigné par son chernin et le prend
comme interface.
-D commentaire =>associer un commentaire
-F defaut =>définir un mode de reprise en cas d'erreur (continue,
beginning, wait)
-o nobannerlbanner =>impose ou n'impose pas la bannière
-s serveur [! imprimante ] =>accès à une imprimante distante
lpc
Permet de contrôler les imprimantes et impressions
lpc down {all | nom_imprimante}
lpc start {all | nom_imprimante}
lpc status {all | nom_imprimante} => visualiser les status imprimante.
lpc topq nom_imprimante [jobnum] [utilisateur] => modifier la priorité
d'impression.
lpclean
"nettoyage" et configuration du sevice LP
Cette commande est utilisée pour éliminer toutes les demandes
en attente d'impression par des sauvegardes dans des fichiers temporaires ainsi
que pour reconfigurer le système de spooling d'imprimantes à partir
des imprimantes actives décrites dans le fichier /etc/config.lp et soumettre
à nouveau ces demandes sauvegardées.
Les opérations suivantes seront effectuées
dans l'ordre :
arrêt de l'ordonnanceur d'imprimante (lpshut)
sauvegarde de toutes les demandes en attente dans les fichiers temporaires si l'option -s est spécifiée
nettoyage de la zone de travail lp
reconfiguration du service lp
redémarrage de l'ordonnanceur (lpsched)
ressoumission des demandes sauvegardées si l'option
-s est spécifiée et si les fichiers sauvegardés existent
Syntaxe :
/usr/lib/lpclean [-s]
Ipmove
Transfère une requète définie par clx-yyy ou toutes les
requètes vers une autre destination.
Cette commande ne peut-être exécutée que si le scheduleur
est arrêté.
Syntaxes :
/usr/lib/lpmove clx-yyy destination
/usr/lib/Ipmove destination1 destination2
lpq (bsd)
Affiche la file des impressions pour une imprimante
lpq -P nom_imprimante
lpr (bsd)
Envoie un fichier à imprimer au spooler d'imprimante (file d'attente
d'impression).
Syntaxe :
lpr [-option]nom_imprimante fichier
Options :
-d => spécifie l'imprimante à utiliser
Attention, ne pas mettre de blanc entre l'option et le nom de l'imprimante.
-i =>
-m =>
-p =>
lprm (bsd)
Suppression d'une impression en attente d'un spooler
Syntaxe :
lprm -P nom_imprimante jobnum
lpsched
Lancement de l'ordonnanceur (scheduler) du service LP
La commande /usr/lib/lpsched est lancée automatiquement par la procédure
/etc/lnitlp, elle-même activée par /etc/inittab ou par la procédure
/etc/rc.
Un seul gestionnaire lpsched peut être actif à un instant donné,
cette exclusion est souvent assurée par un fichier SCHEDLOCK sous le
répertoire de lpsched qui est /usr/spool/lp ou /var/spool/lp.
Cette commande enregistre son activité dans le fichier /usr/spool/lp/log.
Ce fichier contient le numéro de requête; le nom de l'utilisateur,
le nom de l'imprimante, la date). Ce fichier est copié dans /usr/spool/Ip/oldlog
lors du lancement de lpsched.
(La commande lp accepte les requêtes même si l'ordonnanceur est
inactif)
Syntaxe :
/usr/lib/lpsched
le fichier /usr/spool/lp/SCHEDLOCK sera alors créé.
lpshut
Arrêt de l'ordonnanceur (scheduler) du service LP
Toutes les imprimantes qui impriment seront arrêtées
Les demandes d'impression stoppées seront réimprimées entièrement
lorsque le scheduleur sera relancé
Cette commande est généralement utilisée lors de l'arrêt
du système par shutdown.
Toutes les commandes de lp sont prisent en compte même lorsque l'ordonnanceur
est arrêté.
Syntaxe :
/usr/lib/lpshut
lpstat (syst V)
Permet d'interroger toutes les requêtes d'impression (sco)
lpstat -v => affiche toutes les imprimantes disponibles
lpstat -u nom_utilisateur => affiche toutes les requêtes de l'utilisateur
lpstat -d => affiche le nom de l'imprimante par défaut
Syntaxe :
Lpstat -options
Options :
[liste ] représente une liste d'articles encadrés par des guillemets
et séparés les uns des autres par une virgule et/ou un espace
ou plus. ex : Ipstat -u "user1, user2"
-0 => affiche l'état de toutes les requêtes de sortie
-a [liste] => donne l'état d'acceptation (accepting ou rejecting)
des destinations pour les requêtes (liste représente des noms d'imprimantes
et de classes mélangés)
-c [liste ] => donne les noms de classes et de leurs membres (liste représente
des noms de classes)
- d => affiche la destination implicite du système pour Ip
-0 [liste] => donne l'état des requêtes de sortie (liste représente
des noms d'imprimantes, des noms de classes et d'identifications des requêtes)
-p [liste ] => donne l'état complet des imprimantes (-D résumé,
-I complet)
- r => donne l'état de l'ordonnanceur de requête LP
-R => position de la requête dans la file d'attente
-s => affiche un résumé d'états, y compris l'ordonnanceur,
la destination implicite du système, une liste des noms de classes et
de leurs membres et une liste des imprimantes et de leurs terminaux associés,
-t => affiche toutes les informations d'états
-u [login] => donne l'état des requêtes de sortie pour les utilisateurs
spécifiés
-v [liste] => donne les noms des ports physiques.
ls
Permet de lister le contenu d'un répertoire
Pour repérer le type des fichiers :
la ligne commence par :
- d => fichier répertoire
- - => fichier ordinaire
- b => bloc (system file)
- c => fichier spécial : caractère magnétique (raw +
stream
- p => pipe nommé
- l => fichier lien symbolique
Syntaxe :
ls [-option(s)] répertoire
Options :
-l => affiche en format long (contenu détaillé du répertoire).
-a => affiche le contenu du répertoire, y compris les fichiers commencent
par (.).
-i => affiche le numéro d'inode du fichier
-d => affiche des informations sur un répertoire, mais pas sur ses
fichiers
-F => Positionne à la fin des noms un / pour les répertoires
et un * pour les fichiers exécutables.
-R => affichage récursif
Exemples :
ls -l | grep '^d' => permet de lister seulement les répertoires
lsoft
La commande lsof permet de déterminer quels fichiers ont actuellement
ouvert et
donc en usage
Syntaxe :
# lsof | more
mail
envoie ou réception de courrier (service de messagerie)
- mail permet d'envoyer (ou de recevoir) du courrier aux autres utilisateurs
de la même machine. Les courriers envoyés sont conservés
dans un fichier jusqu'à ce que le destinataire en prenne connaissance
et le détruise.
- A chaque connexion le système vous indique si vous avez reçu
des messages par "you have mail".
- mail sans paramètre affiche un à un les messages reçus.
Les principaux fichiers et variables utilisés par le service de messagerie
sont :
/etc/passwd pour identifier l'émetteur et localiser les utilisateurs
/usr/mail/user ou /var/mail courrier pour user (fichier mailfile par défaut)
$HOME/dead.letter c'est un message "texte non-envoyable"
$HOME/mbox courrier sauvegardé
$MAIL variable contenant le nom d'accès du fichier "mailfile"
/tmp/ma* fichiers temporaires
Syntaxe :
mail [+] [-e] [-hpqr] [-F user] [-f fichier]
Options :
+ => les messages sont traités en mode "fifo", le premier
arrivé en premier
-e => permet de faire un test sur la présence de courrier sans affichage,
le code de retour.
-h => affiche des informations sur le dernier message :
0 présence de courrier
1 absence de courrier
2 erreur
-r => inverse l'ordre d'affichage des messages lus par mail, le premier message
envoyé sera le premier lu
-q => sort sans changement de la boîte à lettre sur un <INTR>
ou <QUIT>
-p => imprime le courrier
-F user => les messages reçus sont réexpédiés
à user
-f fichier => utilise fichier comme boîte aux lettres
Aprés chaque message, mail affiche un caractère d'invite "?",
l'utilisateur doit répondre par une commande suivie de <RC>.
La commande mailalias traduit les alias du mail.
Les principales commandes de mail :
h ou ? aide, liste des commandes
q quitter
x sortir sans modification des messages
p réafficher le message courant
<espace> revient au message antérieur et l'affiche
d efface le message courant
<RC> ou + passe au message suivant
m [utilisateur] redirection vers utilisateur
s[fichier] sauvegarde dans ($HOME/mbox)
!cde exécute une commande du shell
^D permet de quitter la session de mail et enregistre les messages
Exemples :
------ envoi d'un message à l'utilisateur elev4 ---------
$mail elev4
ATTENTION : cours de math reporté mercredi prochain salle 12 à
10h00
^D
------ visualisation des messages reçu ----------
$mail
From elev10 Sun Jan 8 15:39 MET 1989
Received: by A162.LOCAL.uucp; Sun, 8 Jan 89 15:38:59 +0100 (MET)
Date: Sun, 8 Jan 89 15:38:59 +0100
From: elev10 (etn2)
Message-Id: <8901081438.AA00426@A162.LOCAL.uucp>
Apparently-To: profin
pourriez vous me faire parvenir la doc UNIX
pour le cours systeme -merci-
?<RC>
...message suivant...
- Envoyer du courrier à des utilisateurs sur des sites distants :
- Différents mécanismes d'identification des utilisateurs sont
disponibles selon le type de réseau utilisé. Dans le monde UNIX,
l'adressage INTERNET est le plus utilisé. Un utilisateur peut alors être
identifié par : nom_login@domaine
- Un second mode d'adressage peut être utilisé, c'est celui de
uucp : machine!nom_login
mailx
envoi ou réception de courrier (service de messagerie plus récent
que mail)
- Il existe également un autre service de messagerie plus élaboré
que mail c'est mailx certains systèmes ne proposent plus l'ancienne version
mail. A son lancement il lit le fichier d'initialisation de l'utilisateur $HOME/mailrc.
La commande visualise à l'écran l'en- tête des messages
disponibles sauf si l'option N est utilisée. Avec l'option H il y a seulement
affichage des en-têtes et sortie de la commande. Il est possible de paramètrer
mailx par une série de variables que l'on peut initialiser avec la commande
set dans le fichier .mailrc, exemple : set EDITOR=/usr/ucb/ex
Syntaxe :
mail [-e] [-FinUHN] [-f fichier] [-s sujet] [-r réseau ] utilisateur
Les principales commandes de mailx :
? => aide, liste des commandes
quit => quitter
header => affiche seulement les en-têtes de message
next => passe au message suivant
edit n° => édite le message dont le numéro est spécifié
delete n° => supprime le message dont le numéro est spécifié
reply n° => répond à l'auteur du message
copy fichier ou save fichier => les messages sont copiés ou sauvegardés
dans fichier
!cde => exécute une commande du shell
...
man
aide en ligne
- C'est l' aide en ligne, le help, il existe plus de 150 commandes UNIX, on
y trouve la description complète de ces commandes. man permet d'afficher
la partie de la documentation qui concerne la commande donnée en paramètre.
Nota : certaines commandes n'ont pas d'entrée dans le manuel mais elles
sont décrites avec une commande de la même famille (par exemple
: rmdir est décrite avec rm)
Attention : man provoque un "unpack" il est donc conseillé
de faire :
$man num-chapitre commande
Syntaxe :
man [num-chapitre] [commande]
Exemples :
$man 1 ls # lecture du manuel de la commande ls
UTILITIES LS(1)
NAME
ls - list contents of directory
SYNOPSIS
ls [ -RadCxmlnogrtucpFbqisf ] [names]
DESCRIPTION
For each directory argument, ls lists the content of the
directory; for each file argument, ls repeats its name and
any other information requested. The output is sorted
alphabetically by default. When no argument is given, the
current directory is listed. When several arguments are
...
:q
$man 1 passwd #lecture du manuel de la commande passwd
$man 4 passwd #lecture du manuel du fichier /etc/passwd
- voir aussi la commande learn qui est un outils d'apprentissage, il suffit
de répondre aux questions posées.
mesg
Inhibe ou non les message pouvant arriver (ceci évite d'avoir des écran
perturbés).
Syntaxe :
mesg [y] [n]
- Si l'utilisateur refuse les messages (option n) le message suivant est affiché
"permission denied"
Exemple :
$mesg
is y
$mesg n
$mesg
is n
minicom
Terminal permettant d’établir une connexion avec un périphérique
série directement connecté au port série (port console
du routeur) ou via un modem pour accéder à une autre machine distante.
CTRL + a puis o permet de rentrer la configuration du dialogue (utiliser 9600,8,N,1
pour un routeur cisco 2503 )
mkdir
Création de répertoire
Si le chemin n'est pas précisé, le répertoire est crée
dans le répertoire courant "."
Syntaxe :
mkdir [-p] [-m mode] [--parents] [--mode=mode] [--help] [--version] rep...
Description :
Cette page de manuel documente la version GNU mkdir.
mkdir crée un répertoire correspondant à chacun des noms
mentionnés.
Par défaut, les répertoires sont créés avec les
permissions d'accès 0777 moins les bits positionnés dans le umask.
Options :
-m, --mode mode
Créer les répertoires avec le mode d'accès indiqué.
Celui-ci est donné sous forme symbolique, comme dans chmod(1), en utilisant
le mode par défaut comme valeur de départ.
-p, --parents
S'assurer que chaque répertoire indiqué existe.
Créer les répertoires parents manquants. Ces derniers sont créés
avec l'autorisation d'accès umask modifiée par `u+wx'. Ne pas
considérer les répertoires déjà existants comme
des erreurs.
--help
Afficher un message d'aide sur la sortie standard, et terminer normalement.
--version
Afficher un numéro de version sur la sortie standard, et terminer normalement.
mkfs
Créer un système de fichiers
Cette commande crée un système de fichiers en écrivant
sur le fichiers spécial mode caractère, à l'aide des valeurs
trouvées dans les arguments restants de la ligne de commande.
Elle construis un système de fichiers comportant un seul répertoire.
Le bloc d'amorçage (bloc 0), n'est pas initialisé.
Elle donne le nom du fichier sur lequel elle s'applique puis attend 10 secondes
avant de commencer la construction du système de fichiers. Pendant ce
délai on peut interrompre le processus par <DEL>.
Résultat de mkfs :
création du super bloc
création de la i-list
création de la free-list
implante un seul répertoire vide (lost+found)
n'initialise pas le bloc 0 pour le boot
Syntaxe :
mkfs spécial nb_blocs [:nbre-inodes]
mkfs proto [gap blocs/cyl]
Options :
nb_bloc => chiffre qui indique la taille du système de fichiers, c'est
le nombre de blocs physiques (512 octets) que le système de fichiers
occupera. Si le nombre optionnel d'i-nodes n'est pas spécifié,
la valeur par défaut est le nombre de blocs logiques divisé par
4.
proto => il s'agit d'un fichier prototype "proto", mkfs prend ses
instructions dans ce fichier.
Attention à la dépendance machine avec cette commande
Par exemple la taille des blocs logiques sur SPS7 et dpx2000 est de 1024 alors
que
sur dpx5000 elle est de 4096 octets.
Exemple :
mkfs /dev/rdsk/c3d0s1 25200
mknod (/etc/mknod)
Permet de créer un fichier de périphérique
mknod nom major minor type
Syntaxe 1 :
/etc/mknod /dev/nom mode major mineur
/dev/nom => nom du fichier spécial (/dev/tty01, /dev/dsk…)
mode => c pour caractère b pour bloc
majeur => major number
mineur => minor number
Syntaxe 2 :
/etc/mknod nom p
(pour la création de tubes nommés FIFO
: First In Fisrt Out, c'est le seul cas ou cette commande est accessible par
un utilisateur "ordinaire").
Nom : nom du tube nommé
p : le mode "tube nommé"
Exemples (SPIX) :
mknod/dev/dsk/c3d2 b 0 98
mknod /dev/rdsk/c3d2 c 4 98
Le périphérique ainsi déclaré n'est utilisable que si le noyau dispose d'un programme pilote pour le gérer.
La commande makedev (OSF1) permet également sur certains systèmes de créer des entrées relatives aux périphériques standards sous /dev.
exemple :
makedev Async0 permet de créer automatiquement les 16 entrées
tty00 à tty0f sur un système possédant un coupleur gérant
16 voies asynchrones connu sous l'appelation Async0)
/etc/partconf => imprime la conf mat et syst sous SPIX
/etc/dmesg => imprime la conf mat et syst sous HP-UX
Ces commandes permettent d'imprimer la configuration
matérielle du système, y compris les modules mémoire, les
modules de traitement (MT) et les modules d'échange (ME).
more
Visualise le contenu de fichier par page
- more est un filtre qui permet d'examiner un texte en continu, page par page
sur un terminal. Lorsque la page est pleine le message "--More--"
est inscrit en bas de l’écran, l'utilisateur peut demander la page
suivante en tapant sur <barre espace>.
- more examine le fichier /usr/lib/terminfo à partir du contenu de la
variable TERM (SYSTEM V) pour déterminer les caractéristiques
du terminal utilisé. Sur un terminal capable d'afficher 24 lignes, more
ouvre une fenêtre implicite de 22 lignes.
Syntaxe :
more [-cdflsu] [-n] [+numligne ] [+/chaine ] [fichier ...]
Options :
-n nombre entier qui représente la taille en lignes de la fenêtre
de visualisation au lieu de la valeur par défaut.
-c affichage de chaque page en commençant en haut de l'écran (facilite
la lecture) -d affiche le message en anglais (espace pour poursuivre et caractère
'effacement pour abandonner) à la fin de chaque page.
-f compte les lignes logiques de préférence aux lignes d'écran
(à utiliser si la sortie de nroff est transférée par tube,
car ce dernier peut générer des séquences d'échappement).
-l ne pas traiter ^L (changement de page) de façon spéciale.
-s comprime les lignes blanches multiples pour n'en laisser qu'une seule.
-u more sera à même de gérer le soulignement tel qu'il est
produit par nroff d'une manière appropriée au terminal donné.
+[numligne ] permet de commencer depuis le numéro de ligne spécifié.
+/chaîne commence deux lignes avant la ligne contenant l'expression régulière
"chaîne".
Un certains nombre de séquences de caractères peuvent être
tapées quand more s'arrête, en voici quelques une :
i (esp) affiche i lignes supplémentaires (ou une autre page si aucun
argument n'est donné)
d idem à ^D avance d'une page
v lance l'éditeur vi à la ligne courante
h aide
if saute i écran et imprime un écran
is saute i lignes et imprime une page
q sort de more
i /expr recherche la i-ème apparition de l'expression régulière
expr
!cde appelle un shell avec la commande cde
:f affiche le nom et le numéro de ligne du fichier courant
. répète la dernière commande entrée
...etc...
Exemples :
$more fichier
$more -n15 fichier
mount
Permet de monter un système de fichiers
Annonce au système Unix qu'un système de fichiers doit être
connecté à l'arborescence des fichiers dans le répertoire
(répertoire_montage).
Le répertoire de montage doit exister, il deviendra la racine du système
de fichiers.
Syntaxe :
mount [-option] [sf_nom] [répertoire montage]
sf_nom = fichier spécial mode bloc (exemple : /dev/dsk/c3d0s1 ou serv:/dev/dsk…)
Attention :
Si le répertoire de montage n'est pas vide le contenu restera caché
jusqu'au démontage.
Si le système de fichiers (sf_nom) à la forme serveur:chemin il
est supposé de type nfs. Dans ce cas, chemin peut être n'importe
quel répertoire dans un système de fichier exporté par
le serveur.
Si la commande est appelée avec seulement sf_nom ou rep, mount explore
le fichier /etc/fstab ou /etc/checklist selon les versions pour trouver le champ
correspondant à l'argument donné.
Options :
Sans options ni argument mount donne la liste des partitions montées.
-p => liste les volumes montés au formats :
/etc//fstab ou /etc/vfstab ou /etc/checklist
-a => monte tous les systèmes de fichiers déclarés dans
/etc/fstab ou /etc/checklist
-f => le fichier spécial est répertorié dans /etc/mtab,
mais il n'est pas monté
-t ou -F => type du système de fichiers (nfs ou syst V par défaut)
-V => affiche la commande sans l'exécuter
-v => mode verbeux
-r => lecture seule
-o options => (ro, rw, hard, soft, nosuid,…)
…
La liste des fichiers montés est indiquée dans /etc/mtab ou /etc/mnttab
selon les versions d'unix.
La liste des fichiers à monter peut-être enregistrée dans
/etc/fstab ou /etc/checklist selon les versions d'Unix.
Pour créer un fichier fstab lors de montage : mount -p >> /etc/fstab
Exemples :
$mount /dev/dsk/0s3/usr => monte un disque local
$mount -at systV => monte tous les système de fichiers de type syst
V
$mount -t nfs serv:/usr/src /usr/src => monte les systèmes de fichiers
à distance
$mount serv:/usr/src /usr/src => comme ci-dessus
$mount -o hard serv:/usr/src /usr/src => comme ci-dessus mais montage matériel
$mount -p > /etc/fstab => sauvegarde l'état de montage courant
dans /etc/fstab
mount permet aussi de monter des FS nfs de serveurs nfs.
mount serveur_nfs:rep_distant rep_local
mount /dev/hda1/mnt/disk1
Les fichiers à monter de façon automatique au démarrage
du client sont déclarés dans les fichiers clients /etc/fstab pour
les systèmes linux et dans /etc/vfstab pour les systèmes Solaris.
La carte dans /etc/vfstab est du type :
serveur_nfs:rep_distant - rep_local nfs - yes rw,soft
montage cdrom sur solaris avec vold par insertion du cdrom
montage disquette sur solaris par volcheck /dev/diskette
mt
Manipulation des bandes magnétique
Commande utilisée pour effectuer des opérations sur un dérouleur
de bande magnétique. Si le nom de la bande n'est pas spécifié
c'est la variable TAPE qui est utilisée. Si TAPE n'existe pas c'est l'unité
/dev/rmt/0mn (unité 0, 1600 BPI, no rewind) qui est prise par défaut.
Les opérations peuvent être effectuées plusieurs fois en
spécifiant count.
Syntaxe :
mt [-f spécial] action [count]
Actions :
eof n => écriture d'une ou n marques de fin d'archive !Attention
rewind => rembobinage de la bande
fsf n => avance d'un nombre n de fichiers
fsr n => recule d'un nombre n de fichier
bsf n => recule d'un nombre n de fichiers
offline => rembobinage et met l'unité de bande hors ligne
status => affiche le status de la bande
erase => efface le contenu de la bande
On peur également spécifier le module d'échange, le numéro
d'unité et le type avec la syntaxe : $mt module init unité type
=> voir les particularité des constructeur
mv
Permet de déplacer, renommer un fichier.
Si la destination est un répertoire, alors la source peut être
une liste de fichiers.
Syntaxe :
mv [-option] source destination
Option :
-f aucune question n'est posée ou l'entrée standard n'est pas
un terminal (copie forcée)
-i demande confirmation avant d'écraser un fichier
Exemple :
Mv fichier1 fichier2 répertoire
named
daemon du service DNS explicitement lancé. La partie serveur de BIND
est un daemon appelé named.
netstat
Test de l’interface
Affiche les informations concernant chacune des interfaces réseau, les
sockets et la table de routage.
Syntaxe :
netstat -options
Options :
-l => Analyse dynamique de l'interface spécifiée toutes les
n secondes
-s => Statistiques sur les protocoles utilisés
-rs => Etat du routage
-nr => affiche les destinations, les passerelles, ...
-m => affiche la table de routage
-i => Informations essentielles sur l'interface
paquet sortis et nombre de collision (si > 5% => pb sur le rzo)
U=up, H=host, G=gateway, D=dynamique
newgrp
permet à un utilisateur invité dans un groupe de s'y attacher
Syntaxe :
newgrp nom_groupe (sans paramètre retour au groupe du login)
news
utilisé pour informer les utilisateurs des événements du
système
- Par convention, ces événements sont écrits dans le répertoire
/usr/news ou /var/news
- Quand news est appelé sans argument, il affiche le contenu de tous
les fichiers courants de /usr/news ou /var/news, le plus récent étant
affiché le premier.
- Si un ordre <DEL> est tapé durant l'affichage d'un article d'information,
l'affichage s'arrête et l'article suivant est lancé.
- Le fichier $HOME/.news_time permet au système de vérifier si
l'utilisateur a consulté les nouvelles.
Syntaxe :
news [-a] [-n] [-s] [nom_nouvelle]
Options :
-a affiche tous les articles sans se préoccuper de la date
-n affiche les noms des articles en tenant compte de la date courante
-s donne le nombre d'article(s) existant(s).
voir : Cheknews
nfsstat
statistiques sur les performances de NFS et l’utilisation de RPC
nice
Exécuter un programme avec une priorité d'ordonnancement modifiée.
Si aucun argument n'est fourni, nice affiche la priorité d'ordonnance-ment en cours, dont cette commande a hérité au lancement. Sinon, nice exécute la commande désirée en ajustant la priorité d'ordonnancement.
Si aucun ajustement n'est précisé, la valeur de priorité de la commande est augmentée de 10.
'nice' signifie 'gentil', la valeur de priorité considérée est une valeur de gentillesse. Plus celle-ci est élévée, plus le processus est gentil vis à vis des autres, leur laissant un accès plus fréquent à l'ordonnanceur.
Seul le Super-User peut indiquer un ajustement négatif.(--),
ce qui a pour effet d'augmenter la priorité d'un processus
La priorité peut être ajustée avec nice dans l'intervalle
-20 (le plus prioritaire) à 19 (le moins prioritaire).
Syntaxe :
nice - [1-19] commande [arguments]
Il est à noter que la commande ps -l fournit deux informations :
.PRI nombre entier fixé par le système
.NI nombre entier sur lequel l'utilisateur peut agir.
La priorité est une combinaison de ces deux nombres, étant entendu
que plus le nombre PRI est faible, plus la priorité est élevée.
nice a les valeurs standards :
20 pour un processus en foreground
24 pour un processus en background
A la valeur standard sera ajoutée la valeur indiquée par l'utilisateur
dans nice :
10 si omis.
Plus la valeur de nice est faible, plus le process tournera vite.
Le nice n'est pas la priorité du traitement; il entre seulement dans
son calcul.
nslookup
Permet d’obtenir des informations à partir des serveurs de noms.
Permet aussi de tester le serveur de nom. Il est fourni avec le package BIND
Exemple :
nslookup station1.entreprise.fr
Par défaut, nslookup ne gère que les enregistrement de type A.
Pour passer en enregistrement de type MX et rechercher station1.entreprise.fr
faire :
nslookup
set type=MX
station1.entreprise.fr
On peut prendre tous les types : set type=any
On peut changer de domaine : set domain=zoo.deu
On peut changer de serveur : server minerals.big.com
On peut charger le fichier de zone par nslookup :
ls entreprise.fr>fich1
view fich1
od
Vide un fichier en octal (dump)
Syntaxe :
od [-options] [fichier]
Options :
-b => interprète les octets en octal
-c => interprète les octets en ASCII avec :
\0 = NULL
\b = retour-arrière
\f = saut de page
\r = retour chariot
\n = nouvelle ligne
\t = tabulation
-D => interprète les mots longs en décimal non signé
-d => interprète les mots en décimal non signé
-O => interprète les mots longs en octal non signé
-o => interprète les mots en octal (défaut)
-F => interprète les mots doubles en précision étendue
-f => interprète les mots longs en virgule flottante
-S => interprète les mots longs en décimal signé
-s => interprète les mots en décimal signé
-X => interprète les mots longs en hexadécimal
-x => interprète les mots en hexadécimal
ospf_monitor
envoie de requêtes OSPF à une passerelle.
Syntaxe :
ospq_monitor fichier
passwd
Permet à un utilisateur de définir et de contrôler son mot
de passe
paste
Fusionner des mêmes lignes de plusieurs fichiers en colonnes
(DPX, ne fait pas partie de POSIX)
Dans les deux premières syntaxes cette commande concatène les
lignes correspondantes des fichiers (fusion parallèle). C'est l'inverse
de cut (concaténation verticale) car cette commande traite chaque fichier
comme une colonne.
Dans sa troisième syntaxe paste assemble les lignes successives d'un
fichier en lecture (fusion série). Dans les deux cas les lignes sont
assemblées avec le caractère <TAB>.
Syntaxe :
paste fichier1 fichier2
paste -dliste fichier1 fichier2
paste -s [-dliste] fichier1 fichier2
Options :
-dliste => si -d n'est pas spécifiée les caractères
de séparation de ligne sont remplacés par le caractère
tabulation. Cette option permet donc de remplacer tab par un ou plusieurs autres
caractères figurant dans <liste>
liste : caractère(s) entrés immédiatement après
-d remplacent le caractère <TAB>.
Cette option fusionne des lignes successives de chaque fichier en entrée.
Cette option peur remplacer n'importe quel nom de fichier quand on désire
lire une ligne du fichier stdin.
Exemples :
$ls|paste -d"+" toto titi => met chaque ligne des 2 fichiers sur
une colonne séparée par un +
$ls|paste - - - - => liste le contenu du répertoire sur 4 colonnes
$paste -s -d"\t\n" fichier => réunion de paires de lignes
en une seule.
ping
Test de la connexion physique avec un host distant
Ping envoie des paquets aux hotes du réseau pour vérifier une
défaillance de la connexion physique jusqu’au niveau de la couche
3 ainsi que le temps approximatif d’échange des données
entre le host local et le host distant.
On doit en premier lieu lancer cette commande sur le host local, afin de vérifier
que l’interface réseau locale est en service et qu’elle fonctionne.
Ensuite les hosts et les passerelles seront vérifiés.
En raison de la charge que cette commande peut imposer au réseau, il
ne faut pas l’utiliser pendant le fonctionnement normal du réseau.
ping : envoie d'un echo request
retour d'un echo reply
ping –sRv 192.168.127.2
Syntaxe :
ping [-rvn] hostname [-s taille_paquet] [-c paquets]
Options :
-r => Contourne les tables d’acheminement normales et envoie directement
vers un réseau directement attaché
-v => Verbeux
-n => Affiche les adresse IP
-s taille_paquet => 64 octets par défaut, 8 minimale et 2048 maximale
-c paquets => Nombre de paquets que ping va transmettre avant de s’arrêter
Exemple :
ping 192.168.100.100
PING 192.168.10.100 (192.168.100.100): 56 data bytes
64 bytes from 20.62.72.103: icmp_seq=0 ttl=255 time=1.8 ms
64 bytes from 20.62.72.103: icmp_seq=1 ttl=255 time=1.7 ms
64 bytes from 20.62.72.103: icmp_seq=2 ttl=255 time=1.7 ms
--- 192.168.100.100 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 1.7/1.7/1.8 ms
Résultats :
On détaille chaque aller et retour des paquets. Chaque paquet est numéroté
séquentiellement (icmp_seq=0), et le temps de l’aller et retour
est précisé en millisecondes. La partie statistiques donne des
informations récapitulatives, à savoir le nombre de paquets transmis,
reçus, le pourcentage de perte et les temps minimum moyen (avg) et maximum
pour l’ensemble du test.
Si la machine distante ne répond pas, on récupérer le code
de l’erreur qui est dans le deuxième champ du datagramme ICMP :
no answer Interface probablement arrêtée (down) ou machine déconnectée
du réseau
unknown host La machine n’existe pas (voir /etc/hosts) ou problème
DNS
host unreachable Le routeur ne peut pas transmettre le datagramme
network unreachable Il n’y a pas de route active pour accéder au
réseau distant, vérifier les tables de routage avec nestat -r,
si le routage est statique.
pipe
Le pipe crée un fichier intermédiaire temporaire
Le fichier intermédiaire est visible par la commande tee
pg
- pg est est un filtre qui affiche séquentiellement le fichier page par
page sur l'écran. Chaque page est suivie du caractère d'invite
":", si l'utilisateur tape sur <CR>, une autre page s'affichera.
Syntaxe :
pg [-nombre] [-p chaine] [-cefns] [+numligne] [+/motif /] [fichier ...]
Options :
-nombre spécifie le nombre de ligne par page
-p chaîne utilise "chaîne" comme caractère d'invite.
Si "chaîne" contient un "%d", la première occurrence
dans le caractère d'invite est remplacée par le numéro
de page.
-c positionne le curseur en haut de la page et vide l'écran après
chaque affichage.
-f inhibe le découpage de ligne à l'affichage dans le cas d'utilisation
de certaines séquences de caractères indésirables.
-s affiche les messages en reverse vidéo.
+numl commence à numéro de ligne
+/motif / commence dès la première occurrence du motif.
les commandes de pg :
+1 ou <CR> affichage page par page
l affichage ligne à ligne
d simule le défilement d'une demie page en avant
$ affichage de la dernière page du texte
i/motif / recherche du i ème motif après la page courante jusqu'à
la fin du texte
s nom sauvegarde le fichier courant dans nom de fichier
h aide mémoire
q ou Q pour quitter
!cde accès aux commandes shell
Exemples :
$cat fichier|pg -p page:%d #affiche le fichier avec numéro de page
$cat fichier|pg -s #affiche les messages en reverse vidéo
$pg fichier #affiche le fichier page par page
$ls -l|pg -20 # affiche sur 20 lignes la liste des fichiers du répertoire
courant
$pg +20 fichier # commence l'affichage à la ligne 20
pr
affichage de fichier page par page (souvent utilisé avec la commande
lp)
- pr affiche les fichiers spécifiés sur la sortie standard. Si
aucun fichier n'est spécifié, le système prend par défaut
l'entrée standard.
- Par défaut l'affichage est séparé en pages numérotées
portant chacune en haut de la page la date et l'heure ainsi que le nom du fichier.
- Par défaut, les colonnes sont de largeur égale et séparées
d'un espace au moins. Les lignes trop longues sont tronquées.
- Si l'option -s est utilisée, les lignes ne sont pas tronquées
et les colonnes sont séparées par un caractère de séparation.
- Si la sortie standard est associée à un terminal, les messages
d'erreur éventuels sont retardés jusqu’à ce que pr
ai terminé l'affichage.
Syntaxe :
pr [-options] [fichier ...]
Options :
+k commence l'affichage à la page k (1 par défaut)
-k produit un affichage en k colonnes (1 colonne par défaut). Les options
-e et -i provoquent un affichage en plusieurs colonnes.
-lk (en anglais length) produit un affichage en k lignes par pages
-a affiche plusieurs colonnes sur toute la page.
-m fusionne et affiche tous les fichiers à raison d'un par colonne (cette
option se substitue aux options -k et -a).
-d affichage en double interligne.
-eck étend les tabulations d'entrée aux positions de caractère
k+1, 2*k+1, 3*k+1, etc...
Si k n'est pas spécifié, les tabulations sont placées tous
les 8 caractères.
Si c (tout caractère non numérique) est spécifié,
celui-ci est traité comme caractère de tabulation en entrée.
-ick place un numéro de ligne sur les k chiffres (par défaut k=5).
Si c (caractère non numérique) est spécifié, ce
caractère est ajouté au numéro de ligne.
-wk (en anglais width) définit la largeur de la ligne à k caractères
(72 par défaut).
-p spécifie une pause avant l'affichage d'une nouvelle page
-f spécifie L'utilisation du caractère <FF> (FORM FEED)
pour le changement de page au lieu de <NL> (NEW LIGNE).
-r pas de message d'avertissement en cas d'impossibilité d'ouverture
du fichier.
-t on n'affiche ni l'entête (5 lignes), ni le bas de page (5 lignes).
-cc sépare les colonnes avec un seul caractère c au lieu du nombre
approprié d'espaces (par défaut c'est une tabulation).
-htexte (en anglais header) fixe l'en-tête de page en lieu et place du
nom de fichier
-ok k définit le nombre de caractères de retrait par rapport à
la marge de gauche
-n chaque ligne est précédée d'un numéro de ligne
sur cinq chiffres. Ce numéro est séparé du texte par une
marque de tabulation. Ce séparateur peut être modifié.
Exemples :
$pr -3dh fichier1 fichier2 #affiche fichier1 et fichier2 sous forme d'un listage
trois colonnes à double interligne, avec "liste fichiers" en
en-tête de page.
$pr -e9 -t <fichier1 >fichier2 # affichage du fichier1 sur fichier2 en
étendant les tabulations aux colonnes 10, 19, 28, 37, ...
$pr fichier|lp #utilisation du spool pour sortie sur imprimante
$pr -w80 fichier1 fichier1 #affiche fichier 1 et 2 sur 80 colonnes
$pr -n: fichier # affichage avec les numéros de ligne et le caractère
séparateur ":"
ps
Affiche l'état des processus en cours
Cette commande utilise de nombreux fichiers et tables système.
Certains résultats affichés par ps ne sont qu'une approximation,
donc sans intérêt.
Syntaxe :
ps [-option(s)]
Options :
Sans options, affiche des informations relatives au processus lancés
à partir de l'écran ou du terminal de l'utilisateur.
-e => affiche les renseignements sur tous les processus
-a => affiche les renseignements sur tous les processus à l'exception
des processus non associés à un terminal "controlling terminal".
-l => affiche la liste complète des processus
-d => affiche des renseignements sur tous les processus à l'exception
des "process group leader"
-f => affichage complet avec tous les arguments des commandes
-j => affiche PID et GID
-p PIDs => affichage des processus selon les PIDs spécifié
-t term => affiche la liste des processus associés au terminal spécifié
-u user => affiche les processus appartenant à "user"
-g GIDs => affiche les processus selon les GIDs spécifiés
…
Exemple :
ps -eal
ps -ef
ps -edf | grep inetd => inetd = daemon qui analyse des ports
pwconv
permet de déplacer les mots de passe du fichier /etc/passwd vers le fichier
/etc/shadow (ou équivalent)
pwd
Affiche le chemin du répertoire courant. (print working directory)
Exemple :
$pwd
/users1/applic
quot
Sert à visualiser le nombre de blocs créés par un utilisateur
dans un FS
quot /dev/root
quota
Mise en place des quotas utilisateurs sur Solaris
Les quotas sont activés en automatiques sur la machine au démarrage
si ils ont été correctement déclarés.
/etc/vfstab
Il doit contenir dans mount options la valeur rq
quotas
il doit contenir un fichier nommé quotas à la racine du FS
touch quotas
On active et désactive les quotas sur un FS par les commandes :
quotaon /
quotaon –a ß tous
quotaoff /
quotaoff –a ß tous
On visualise si les quotas sont activés par la commande :
cat /etc/mnttab
quota : si les quotas sont actifs sur le FS
noquota : si non actifs sur le FS
Définition des quotas utilisateurs
edquota util1 ß permet de modifier les quotas de util1 (util1 doit exister)
edquota util1 util2 …..
edquota –p util1 util2 util3 .. ß crée les même quotas
que ceux de util1 sur les utilisateurs util2,util3, etc..
Les valeurs indiquées sont en block de 1Ko
Exemple :
Fs / blocks (soft = 10, hard = 20) inodes (soft = 100, hard = 200)
Dans un deuxième temps, il faut définir les temps pour la limite
soft des quotas.
On utilise pour cela la commande
edquota –t util1
exemple :
fs / blocks time limit = 10 [day|hour|month|week|min|sec]
files time limit 20 [day|hour|month|week|min|sec]
Pour valider la configuration , il faut exécuter :
Quotacheck –v / ß le verbose donne une info par utilisateur
Quotacheck –va ß sur tous les FS déclarés
rcmd
Permet de lancer une commande sur une machine distante
rcmd nécessite d'avoir une entrée sur la machine distante dans
/etc/hosts.equiv ou dans .rhost.
Syntaxe :
rcmd nom_machine série_de_commande_a_executer
rcp
'r' commande (connexions distantes)
Copie entre machine, le fichier1 sur le fichier2
rcp nécessite d'avoir une entrée sur la machine distante dans
/etc/hosts.equiv ou dans .rhost.
Syntaxe :
rcp [-pr] système source:fichier1 système destinataire:fichier2
Attention le nom de la machine locale source ou destinataire doit être
omis.
Options :
-p => Conserve les caractéristiques du fichier
-r => Copie de façon récursive le répertoire source
rdist
Mises à jour en réseau
rdist est un outil de distribution de fichiers d’un serveur sur des machines
distantes.
Il permet, par l’intermédiaire d’un fichier de configuration
(distfile) de maintenir une cohérence de fichiers entre plusieurs machines.
Il préserve le propriétaire, le groupe ainsi que le mode des fichiers.
Le fichier distfile permet de définir les postes cibles ainsi que les
fichiers à copier. Il offre également la possibilité de
définir les opérations à réaliser pour effectuer
la mise à jour.
Il est composé de séquences d’instructions selon le format
suivant :
initialisation de variables :
variable = (val1 val2 …)
distribution de fichiers et/ou répertoires vers des machines destination
:
[ label : ] (fic1 fic2 …) -> (host1 host2 …) (action1 action2
…)
évolution par rapport à une date :
[ label : ] (fic1 fic2 …) : : (fichier date) (action1 action2 …)
Les actions peuvent être :
install [-ooption1,option2,…] ; copie les fichiers
et/ou répertoires.
notify (user1 user2 …) ; envoye un courrier électronique aux utilisateurs
désignés.
except (fic1 fic2 …) les fichiers et/ou répertoires cités
ne sont pas copiés
special (fic1 fic2 …) commande permet de spécifier une commande
shell qui sera exécutée lors de la copie des fichiers et/ou répertoires
cités.
Exemple :
#Déclaration des variables
HOSTS = (657-11-X01 657-11-X02 657-11-X03 657-11-X04)
FILES_USERS = (/etc/passwd /etc/group /etc/shadow)
FILES_NETWORK = (/etc/hosts /etc/services /etc/protocols)
# label users : installer les fichiers $FILES_USERS
# prévenir root
users :
$FILES_USERS -> $HOSTS
install ;
notify root@20.62.72.121 ;
# label net : installer les fichiers $FILES_NETWORK
# réinitialiser l’interface réseau
net :
$FILES_NETWORK -> $HOSTS
install ;
special $FILES_NETWORK ’’/etc/rc.d/init.d/network start’’
rdump
C'est une version de dump qui utilise les fichiers spéciaux déclarés
sur la machine distante à travers le réseau.
Syntaxe :
/usr/sbin/dump [option [argument ... ] filesystem]
/usr/sbin/rdump [option [argument ...] filesystem]
Exemple :
/usr/sbin/dump Odf 6250 /dev/rmt/cOtOdOBEST /mnt
reject
Interdit l'accès à la file d'attente spécifiée
Syntaxe :
/usr/lib/reject [-rraison ] destination
(destination = classe ou imprimante)
Options :
-rraison => si absent un message par défaut sera émis suite
à une commande lp
renice
Définir la priorité d'un processus durant son exécution
Les Unix Berkeley possède cette commande, elle est aussi disponible avec
Linux.
Syntaxe :
renice priorité [[-p] pid ...] [[-g] pgrp ...] [[-u] utilisateur ...]
Options :
priorité nouvel ajustement de la priorité à affecter au
processus en cours
-p pid PID sur lequel ou lesquels porteajustement de la priorité
-g pgrp groupe de processus sur lequel porte l'ajustement de la priorité
-u utilisateur l'ajustement de priorité portera les les processus appartenant
à
l'utilisateur spécifié.
reset
Réinitialise un terminal pour le placer dans un état utilisable
(par exemple après un incident)
Cette commande utilise l'entrée Rspeed du fichier /etc/gettydefs.
Un message est émis si le terminal est prêt
restore
Restaure les fichiers sauvegardés avec dump sur linux
rexec
Client d’exécution distante
Syntaxe :
rexec [options] host commandes
Options :
-a => Ne créé pas une autre ligne pour les messages d’erreurs
standard.
-b => Utilise les même signaux que rsh (BSD).
-c => Ne ferme pas la connexion distante lors de la fermeture de la connexion
locale.
-d => Information de debuggage.
-h => Message d’aide.
-n => Demande un nom de connexion et un mot de passe.
-s => Ne transmet pas les signaux au processus distant.
-l username => Positionne le nom de connexion à username sur l’hote
distant.
-p password => Positionne le mot de passe à password sur l’hote
distant.
ripquery
Envoie de requêtes RIP à un hôte distant.
Fournit des informations concernant le contenu des paquets des mises à
jour RIP devant être reçus ou envoyés par votre système
(inclus dans package gated)
Syntaxe :
Ripquery [-n]
rlogin
'r' commande (connexions distantes)
Syntaxe :
rlogin [machine_distante] [-l login]
Si [-l login] n'est pas précisé, vous vous connectez à
la machine_distante avec votre propre login. il faut donc y posséder
un compte à ce nom là.
Si [-l login] est précisé, vous vous connectez à la machine_distante
sur un autre compte pour lequel vous devez connaître le password.
Pour ce déconnecter, utiliser la commande logout.
rm
Destruction d'un fichier ordinaire.
- La commande rm supprime les entrées d'un ou plusieurs fichiers spécifiés
d'un répertoire
- Si une entrée constituait le dernier lien avec un fichier celui-ci
est détruit
- La suppression d'un fichier implique que l'on est la permission d'écriture
dans le répertoire droit w), mais il n'est pas nécessaire d'avoir
la permission de lecture ou d'écriture pour le fichier lui même
si on est le propriétaire du fichier.
- Attention sans option la destruction s'effectue sans question de confirmation
posée.
- Si le fichier désigné est un répertoire, un message d'erreur
est affiché à moins que l'on ait utilisé l'option -r.
Si le sticky bit est actif, seul le propriétaire du fichier ou le super
user peuvent supprimer ce fichier.
Syntaxe :
rm -option fichier
Options :
-i => interactif, une question de validation est posée.
-f => ne tient pas compte des protection des fichiers.
-r => Récursivité; permet d'effacer un répertoire et
son contenu
Attention, on ne peut pas récupérer un fichier qui a été
effacé.
rmdir
Destruction d'un répertoire.
On ne peut supprimer un répertoire que si on a un accès en écriture
sur celui-ci ou que l'on soit l'administrateur.
On ne peut pas supprimer un répertoire qui est un point de montage d'un
système de fichier.
Syntaxe :
rmdir répertoire
Options :
-r => détruit un répertoire non vide
-i => interactive (demande de confirmation de la suppression.
- Pour pouvoir supprimer l'utilisateur doit avoir la permission d'écriture
(droit w).
Exemples :
$rmdir rep1
$rm -ir * #suppression de tous les fichiers du répertoire courant de
manière interactive
rmt
Est utilisée par ftio, fbackup, frecover, rdump et rrestore pour manipuler
un lecteur de bande magnétique via une connexion par les IPC, "interprocess
communication".
Syntaxe :
/usr/sbin/rmt
Exemple
/usr/sbin/newfs -F hfs /dev/rdsk/cOtOdO
/usr/sbin/mount /dev/dsk/cOtOdO /mnt
cd /mnt
restore r
route
Permet de mettre à jour la table de routage (réseau, passerelle,
metric) . Pour un routage statique, il faut ajouter les commandes route dans
les fichiers de démarrage (/etc/init.d/inetinit sur solaris, /etc/rc.d/rc.inet1
sur linux)
route add 207.25.98.0 172.16.12.1 1 (add/delete)
route add default 172.16.12.1 1 le metric est obligatoire pour que le flag passe
à G
Il faut commenter les lignes de routage statique dans le script si celui ci
lance aussi un protocole de routage.
La commande route :
Route add adresse_réseau add_passerelle metric
Avec metric à 1 si la passerelle est un routeur et 0 si l'interface est
locale
Route add adresse_reseau adresse_passerelle –static –netmask mask_vlsm
metric
Route add default add_passerelle metric
On visualise les interfaces actives par la commande ifconfig –a
On vérifie que les interfaces soient UP
On contrôle les routes par netstat –nr
On vérifie que les route soient U pour UP et G pour les routes nécessitent
une passerelle
Les commandes ifconfig et route ne sont pas permanentes; la configuration sera
perdue au redémarrage. Préféré la configuration
par les fichiers de comme précédemment expliqué.
routed
daemon du service RIP explicitement lancé
rpcinfo
Adresse un appel RPC à un serveur RPC et affichage les informations trouvées(séries
300 et 800).
Syntaxe :
rpcinfo -p [hostname]
rpcinfo -u I -t hostname program [version]
Options :
-p => interroge portmapper sur le host (ou par défaut valeur retournée
par la commande hostname) et affiche une liste des programmes RPC enregistrés.
-u => adresse un appel RPC à la procédure 0 sur le host spécifié
en utilisant UDP et affiche des informations si une réponse a été
reçue.
-t => adresse un appel RPC à la procédure 0 sur le host spécifié
en utilisant TCP et affiche des informations si une réponse a été
reçue.
programme => peut être soit un nom, soit une valeur.
version => si spécifié, rpcinfo essaye d'appeler la version
du programme correspondante, sinon 1 est utilisé.
rrestore
C'est une version de restore qui utilise les fichiers spéciaux déclarés
sur la machine distante à travers le réseau.
Syntaxe :
/usr/sbin/restore key [name ... ]
/usr/sbin/rrestore key [name ... ]
Exemples :
/usr/sbin/newfs -F hfs /dev/rdsk/cOtOdO
/usr/sbin/mount /dev/dsk/cOtOdO /mnt
cd /mnt
restore r
rsh
'r' commande (connexions distantes)
Lance un processus shell sur la machine_distante.
La sortie de la commande sera dirigée vers le système local.
Syntaxe :
rsh machine_distante [-l login] commande [arguments]
rup et ruptime
Affiche l'état des machines du réseau local
Le fonctionnement de ces deux commandes est différent, rup fonctionne
par des appels de procédures à distance via le daemon RPC «
rstatd », et ruptime dépend du serveur « rwhod ».
Syntaxe :
rup [-h] [-l] [-t] [hostname]...
ruptime [-a] [-I] [-t] [-u] [-r]
options :
-h => Tri par nom de machine
-l => Tri par taux d'occupation
-t => Tri par temps de fonctionnement
-a => Affiche aussi les machines invisibles depuis plus d'une heure
-u => Tri par nombre d'utilisateurs connectés
-r => Inverse l'ordre de tri
Exemple :
rup
192.168.100.14 up 10 days, 1:16, load average: 0.00 0.00 0.01
192.168.100.16 up 7 days, 6:29, load average: 0.00 0.01 0.02
192.168.100.19 up 6 days, 3:25, load average: 0.05 0.04 0.03
Résultat :
Le premier champ est le nom de la machine, suivi de l'état et du temps
de fonctionnement exprimé en jours, heures et minutes. Les champs suivants
indiquent les taux de charge de la machine et en plus pour ruptime le nombre
d'utilisateurs.
rusers
'r' commande (connexions distantes)
Fournit des informations sur l'ensemble des utilisateurs connectés et
sur les machines du réseau.
Rusers est une commande proche de rwhos
Le fonctionnement de ces deux commandes est différent, rusers fonctionne
par des appels de procédures à distance, et rwho dépend
du serveur "whod".
Syntaxes :
rusers [-a] [-h] [-i] [-l] [-u] [hostname]
Options :
-a => affiche aussi les machines sans utilisateur connecté
-h => tri par nom de machine
-i => tri par temps d'inactivité
-l => affichage long à raison d'une ligne par utilisateur
-u => tri par nombre d'utilisateur
rwho 'r' commande (connexions distantes)
Fournit des informations sur l'ensemble des utilisateurs connectés et
sur les machines du réseau.
Rwho est une commande proche de rusers
Le fonctionnement de ces deux commandes est différent, rusers fonctionne
par des appels de procédures à distance, et rwho dépend
du serveur "whod".
Syntaxes :
rwho [-a] => affiche aussi les machines sans utilisateur connecté
sdb
Debugger utilisé pour une analyse post-mortem (à partir du core
dump).
Le debugger nécessite que l'option -g est été activé
lors du lancement du compilateur.
De même, il est important d'avoir accès au fichier source.
set
Permet de lister toutes les variables (prédéfinies ou non par
l'utilisateur et par le système) initialisées pendant une session.
Si le shell trouve parmi les paramètres de la commande echo la commande
set, on peut récupérer le résultat d'une commande dans
les paramètres de position du shell.
Il est à noter que la commande unset permet la suppression irrémédiable
de variables ou de fonction, seule la commande readonly permet de se protéger
contre la suppression involontaire de variables.
Exemples :
$set
…
$echo `set date`; echo $*
share
Commande Solaris permettant de partager (exporter) un FS NFS.
Pour que le partage soit permanent, il faut intégrer la commande share
dans le fichier /etc/dfs/dfstab
share -F nfs -o rw=machine1:machine2 ro /usr/man
share –F nfs –o rw=iccsta1 –d "rep config" /etc
Faire ensuite un /etc/init.d/nfs.server stop ( puis start)
showmount
Cette commande Solaris présente la liste des FS NFS disponible sur un
serveur NFS.
showmount -e serveur_nfs
showrev
showrev -p <= version de tous les patchs sur solaris
shutdown (/etc/shutdown)
Cette commande permet la coupure du système (envoie d'un SIGTERM sur
l'ensemble des process).
Pour couper un système unix proprement, quelque étapes doivent
être effectuées avant cette commande.
Prévenir tous les utilisateur (commande /etc/wall)
Les empêcher de se connecter (commande disable tty…)
Interrompre les processus en cours
Effectuer les écritures encore en mémoire sur le disque dur (sync)
Option :
shutdown -f => Choix d'un processus plus rapide pour l'arrêt (fast
shutdown).
shutdown -h => Coupure pour installation nouveau disque (arrêt total).
shutdown -q => Les messages ne doivent pas être affichés à
l'écran (quiet).
shutdown -r => L'ordinateur doit être redémarré dès
la procédure d'arrêt terminée.
Exemple :
shutdown -r 13:00 => L'ordinateur est éteint mais n'est redémarré
qu'a 13 heure.
shutdown -r 13+10 => L'ordinateur est éteint est redémarré
10 minutes plus tard.
shutdown -r now => L'ordinateur est éteint est redémarré
tous de suite.
Commandes utilisant shutdown
Ctrl Alt Suppr => défini dans le fichier /etc/inittab
halt =>
poweroff =>
reboot =>
sndconfig
Permet de paramétrer la carte son (linux)
snoop
Analyse un par un les paquets échangés entre les machines d’un
réseau. snoop est un analyseur de protocole TCP/IP qui examine le contenu
des paquets y compris leurs entêtes. Il est particulièrement utile
pour analyser les problèmes de protocoles. tcpdump sur linux est un produit
semblable à snoop. snoop est livré avec le système d’exploitation
solaris.
snoop host machine1 and host machine2 : Permet de voir uniquement les paquets
de machine1 vers machine2 et inversement.
spray
Test de la bande passante entre deux machines via des appels de procédure
à distance.
Syntaxe :
spray hostname [-c compt ] [-d delai ] [-i delai ] [-l long]
Options :
compt => Nombre de RPC à envoyer, 100 000 octets par défaut
delai => Délai d'attente en millisecondes entre les envois, 0 par
défaut
long => Taille dans le paquet Ethernet qui doit être occupée
par le RPC. Cette taille doit être multiple de 4 et la taille maximale
est de 1514, par défaut 86 octets
stty
Définir les différents paramètres de gestion physique d'un
terminal.
Syntaxe :
stty [options]
Options :
stty seul affiche la liste des options positionnées
-a affiche toutes les valeurs des options
-g affiche les valeurs courantes sous forme utilisable comme argument dans une
autre commande
attention : aucun contrôle de validité n'est effectué.
Arguments :
Les arguments précédés de - signifie "annulation de
la fonction"
term type de terminal
speed vitesse de transmission en bauds
parenb autorise (supprime) le contrôle de parité
parodd parité impaire (paire)
cstopb utilise 1 (2) bits stop par caractère
clocal indique qu'il s'agit d'une ligne sans contrôle du modem
swtch utilisé par la fonction de gestion des travaux shl, pour faire
passer la couche courante en couche de contrôle.
kill pour supprimer une ligne entière (^U par défaut)
eof fin de fichier (^D par défaut)
brkint signale les <INTR> sur interruption
istrip compacte sur 7 bits les caractères entrés
inpck validation du contrôle de parité en entrée
icrnl transformation des <CR> en <NL> en entrée
onlcr transformation des <NL> en <CR>-<NL> en sortie
echo écho de chaque caractère entré
echoe écho du caractère <ERASE>
echok écho du caractère <NL> après <KILL>
ixany tout caractère au lieu de ^Q relance le défilement
...
Exemples :
$stty
speed 9600 baud; -parity clocal
swtch = ^`;
brkint -inpck icrnl onlcr
echo echoe echok
$stty -a
speed 9600 baud; line = 0;
intr = DEL; quit = ^|; erase = ^h; kill = ^u; eof = ^d; eol = ^`
swtch = ^`
-parenb -parodd cs8 -cstopb -hupcl cread clocal
-ignbrk brkint ignpar -parmrk -inpck istrip -inlcr
...
$stty erase '^H' # configure le caractère <BACKSPACE>
$stty -echo # enlève l’écho des caractères à
l'affichage
su
Permet de changer d'identité et éventuellement (si l'option -
est spécifiée) d'environnement par validation des fichiers "profile"
comme lors d'une nouvelle connexion.
Sans nom d'utilisateur cette commande essaie une connexion sous root
Comme avec login, on termine la session avec <CTRL D>.
Syntaxe :
su nom_utilisateur => change d'identité
su - nom_utilisateur => change d'identité et d'environnement
su [-] nom_utilisateur -c "commande(s) [argument] => exécute
la commande citée avec l'identité et les droits plus éventuellement
l'environnement de l'utilisateur spécifié
La distinction entre login et su peut se faire par l'analyse du paramètre
$0
(contient - ou -su).
Comme avec login on termine la session avec <CTRL-D>.
Attention : Ne pas utiliser la commande passwd pour changer votre mot de passe
si
utilisation de su, passwd est rattaché à login.
superprobe
Permet de détecter la carte vidéo, son chipset, sa mémoire,
son ramdac (linux)
Sync
vidage du cache mémoire et mise à jour du super bloc.
Permet d'écrire sur le disque les informations qui résident encore
en mémoire.
La primitive sync devra être utilisée notamment à chaque
arrêt système
Le mode "caractère" : on demande au driver d'effectuer la lecture
d'un ensemble de caractères non structuré, il n'y a donc pas la
notion de bloc.
Ce mode concerne principalement les terminaux, les imprimantes,…
Un utilitaire (fsck) permet de "réparer les incohérences
du système de fichiers au prix d'une perte d'informations certaines fois.
syncinit
Permet de créer et configurer l'interface série (solaris)
tail
Afficher les dernières lignes d'un fichier
Par défaut affiche les dix dernières lignes du fichier spécifié.
Syntaxe :
tail [ +/-[ n ] [ lbc [f] ] ] [fichier …]
Options :
+n => l'affichage commence à +n lignes du début du fichier
-n => l'affichage commence à -n ligne de la fin du fichier
l/b/c => représente respectivement des lignes, des blocs ou des caractères.
-f => (poursuivre) ne se termine pas à la fin d'un fichier, mais attend
de nouvelles lignes. Cela permet si le fichier d'entrée n'est ni un tube
ni un fichier spécial d'entrée dans une boucle sans fin dans laquelle
il tente de lire et de copier sur la sortie standard tout ce qui est entré
dans le fichier d'entré. Cette option peur être utilisée
pour surveiller la croissance d'un fichier.
Exemples :
$tail +15 fichier => affiche les 15 premières lignes de fichier
$tail -5c => affiche les 5 derniers caractères de fichier
$tail -f fichier => affiche les 10 dernières lignes de fichier, puis
attend des ligne supplémentaires.
talk
dialoguer avec un utilisateur
- talk permet de communiquer avec une personne connectée sur le système
local ou sur une machine éloignée. L'utilisateur appelé
est prévenu qu'un autre utilisateur veut le joindre. L'écran est
partagé en deux, le texte frappé en local s'affiche dans la partie
supérieure de l'écran alors que le texte reçu s'affiche
dans la partie inférieure de l'écran.
Syntaxe :
talk destinataire [terminal]
Exemple :
talk jjm@disney # l'écran de jjm sur la machine disney se séparera
en
# deux et il recevra une invitation à répondre.
tar
Dispositif de sauvegarde type cpio mais avec description dans la ligne de saisie
des fichiers et répertoires à sauvegarder. Sur SCO, un fichier
/etc/default/tar contient la description du support (nombre de blocs, taille,
nom,…).
Syntaxe :
tar lettre_fonction [argument] [fichiers(s)]
lettre fonction :
c => création initial
r => création en fin d'archive
u => création en ajout inconditionnel
x => restauration
t => affichage des données du support sans restauration
arguments (à vérifier selon les versions d'Unix)
0 à 3 => numéro de dérouleur
A => supprime les références absolues de chemin
b n => facteur de blocage est égal à n
e => arrêt en cas d'erreur
f fic => utilise le fichier d'archive fic
F fic => fic contient la liste des fichiers à inclure
X fic => fic contient la liste des fichiers à exclure
l => basse densité (800 BPI) ou signale si on peur recréer
tous les liens
L => suit les liens symboliques
m => moyenne densité (1600 BPI) ou heure de modification = heure d'extraction
i => intermédiaire densité (3200 BPI) ou ignore les erreurs
de 'checksum'
h => haute densité (6250 BPI)
ktaille => taille du support en octets
o => les fichiers appartiennent à l'utilisateur courant
P => extrait avec les permissions présentes sur le support
n => le support n'est pas une bande magnétique
v => verbeux, echo de l'archivage
w => archivage avec dialogue (interactif)
f/dev/… => spécification de l'unité de stockage des fichiers
archives (mode caractère).
Exemples :
$tar cvf /dev/rflop * => archivage sur disquette
$tar cv 'find /home -mtime -1 ! -name "*.o" ! -type f -print'
=> sauvegarde incrémentale
$tar xvf /dev/rflop fichier => restauration de fichier à partir de
disquette
$tar tv /dev/rflop => listage du contenu de la disquette
$tar cf - . | (cd rep ; tar xf -) => déplacement de hiérarchie
$tar xpbf /dev/rmt1 1024 => les différents Unix acceptent en général
$tar -x -p -f /dev/rmt1 -b 1024 ces deux formes
Attention :
Lors de la restauration l'utilitaire tar se comporte différemment suivant
que l'on est UID=0 ou un autre utilisateur.
Avec les versions BSD 4.[23]? si c'est l'administrateur système qui effectue
la restauration, les permissions propriétaire et groupe sont intégralement
conservées. On peut donc avoir des utilisateurs et des groupes inconnus
si par exemple la bande provient d'un autre système. Si c'est un autre
utilisateurs qui effectue la restauration, tous les fichiers restaurés
ont pour propriétaire et groupe propriétaire ceux correspondant
à l'utilisateur qui fait l'extraction.!
En System V, pour tous, les permissions, le propriétaire et le groupe
propriétaire des fichiers sont intégralement conservés.
On peut donc avoir des propriétaires et des groupes inconnus si par exemple
la bande provient d'un autre système. Dans le cas ou on utilise l'option
-o les fichiers restaurés auront pour propriétaire et groupe propriétaire
ceux correspondant à l'utilisateur qui fait l'extraction.
tar -cv /home => Sauvegarde des fichiers et répertoires en dessous
de /home
tar -tvf /dev/rtc0 => Consultation du support
tar -xvf /dev/rtc0 => Restauration
tee
Commande utilisée pour traiter le fichier intermédiaire du pipe
Cette commande lit les données par le canal d'entrée standard
et les restitue dans le fichier spécifié.
Syntaxe :
tee [-option] fichier
Option :
-a => Permet d'ajouter les données au fichier sans effacer son contenu.
Entrée ========> Sortie
===> Fichier
Exemple :
ls -l * |tee fichier_ls |uniq >/dev/tty
telnet
Terminal virtuel
Exemple :
telnet 192.168.127.2 25 => 25 = n° port
test
la commande test effectue des comparaisons . Dans le Bourne shell, elle retourne
dans la variable $? le résultat 0 si vrai, 1 si faux. On peut remplacer
la commande test par des [] qui encadrent la condition.
Syntaxe :
test –option fichier
ou test –option "$variable"
Options sur les fichiers :
-f => fichier normal
-d => répertoire
-c => périphérique mode caractère
-b => périphérique mode bloc
-p => named-pipe
-r => lecture autorisée à l'utilisateur de ce script
-w => écriture " " " " "
-x => exécution " " " " "
-s => taille fichier supérieure à 0
Options sur les chaînes de caractères :
-z => zéro string (chaîne vide)
-n => non zéro string (chaîne non vide)
Options sur les chaînes numériques :
-eq => égal
-ne => non égal
-lt => plus petit que
-gt => plus grand que
-le => inférieur ou égal
-ge => supérieur ou égal
Il est possible de définir des combinaisons logiques par :
! non
-a ET
-o OU
On peur chaîner une commande test avec une autre commande ; par exemple
echo. Pour cela, on utilise le ET du shell && ou le OU du shell || .
&& et || appartiennent au shell et ne doivent pas être confondus
avec –a et –o de la commande test.
Exemples :
test –r /etc/passwd; echo $?;
test –z "$var"
test "$dim" –gt 200 && echo "dimension supérieur
à 200 mètres"
[-r toto –a ! –w toto] && echo "accès en lecture
et sans écriture"
test \(-d "$var" –a –x "$var" \) –o \(
-f "$var" –a –x "$var" \)
attention! Mettre \ devant ( pour indiquer au shell qu'il ne doit pas l'interpréter.
tput
Cette commande utilise la base de donnée /usr/lib/terminfo pour la mise
à disposition du shell des caractéristiques du terminal
Syntaxe :
tput [-options] arguments
Options :
-Tterm => type de terminal (valeur par défaut de la variable TERM)
Arguments
smso ou rev => reverse vidéo
blink => clignotement
dim => sous brillance
invis => plus d'écho
smu1 => souligné
rmso => annulation des choix précédents
clear => effacement de l'écran
(idem clear mais tput clear et la version normalisée
cols => affiche le nombre de colonnes
hc => définit le code de sortie pour déterminer si le terminal
est ou non un terminal d'impression (hardcopy)
traceroute
Affiche les informations sur chaque relais que traversent les paquets d’un
système à un système distant
traceroute reseau.etis.net
trap
Définir un traitement spécifique à réaliser lorsque
survient un signal
Cette commande permet :
Qu'un signal soit complètement ignoré par le script;
Que le script, a l'apparition d'un signal, exécute une commande prédéfinie;
Qu'il se mette à nouveau en état de réception pour un éventuel
signal à venir.
Syntaxe :
trap [arg1;arg2;…;argn] [n]
Exemples :
$trap => sans paramètre, donne la liste des signaux enregistrés
$trap 'continue' 2 => positionnement d'un traitement associé a <DEL>
$trap echo 'fin de session ; sleep 2' 0
$trap "2 => inhibition de la touche <DEL>
$trap 2 => mise des valeurs par défaut
tree
Montre de façon semi graphique l'arborescence à partir de répertoire
Syntaxe :
tree répertoire
tset
Rétablir les attributs spécifiques du type de terminal.
Si la variable d'environnement TERM est établie, tset initialise le terminal
en transmettant certaines séquences d'initialisation "terminfo"
et en exécutant les commandes tabs et stty
La commande tset est souvent dans le fichier /etc/profile, elle intervient donc
au moment de la connexion.
Syntaxe :
tset [-options] [terminal]
Options :
-e[c ] le caractère <ERASE> sera c
-E[c ] idem à e pour les terminaux utilisant le <BACKSPACE>
-k[c ] le caractère <KILL> sera c
- affiche le type de terminal
-s affiche les commandes d'environnement
-h cherche dans le fichier /etc/ttytype
-S affiche seulement les chaînes à placer dans les variables d'environnement.
Exemple :
$eval `tset -s -Q -m ' : ?hp' `
tune2fs
Permet de définir pour un FS en ext2 :
Le nombre maximum de mount avant fsck
Le temps maximum avant fsck
Le nombre de blocks réservés à root
tty
Quel est le nom de mon terminal?
ufsdump
Sauvegarde des fichiers (solaris) voir ufsrestore
ufsdump 0f /dev0rmt/0 => Sauvegarde complète
ufsdump p0f/dev/rmt/0/file_syst => sauvegarde DAT
ufsrestore
Restaure des fichiers sauvegardés avec ufsdump (solaris)
ufsrestore rv <= Restauration totale à partir du répertoire
courant
ufsrestore iv <= Restauration interactive à partir du répertoire
courant (annexe)
La fonction solaris ufsrestore iv permet de restaurer une partie du FS en interactif.
cd permet de se déplacer sur la bande
ls permet de voir ce quelle contient
add permet de rajouter un fichier ou un répertoire (convention *)
delete permet de supprimer de la liste un ensemble de fichiers ou de répertoire
extract permet de lancer la restauration à partir des fichiers précédemment
décrits
pwd permet de connaître sa position sur la bande
quit permet de quitter sans restaurer
ulimit
Sert à limiter la taille maximale que peut prendre un fichier
umask
Défini les permissions par défaut. (base 8)
Les droits maximum fixés par umask sont 777 pour les répertoires
et 666 pour les fichiers.
Attention, le masque est exprimé sous la forme du complément à
666/777 des droits désirés pour le fichier/répertoire.
umax sans argument renvoie la valeur du masque pris par défaut.
Exemple :
umask 022 répertoire => droit désiré de 755 pour le
répertoire.
=> indique que l'écriture ne sera pas validée pour le groupe
et les autres.
Nota : La commande umask peut-être rentrée dans le fichier .profile
(recommandé)
umount
Permet de démonter des FS
Avant démontage, utiliser la commande sync.
Aucun utilisateur ne doit être positionné sur le répertoire
de montage.
umount émet un avertissement si le système de fichiers à
monter est couramment monté sous un autre nom.
umount émet un avertissement si le fichier spécial n'est pas monté
ou s'il est occupé.
Syntaxe :
umount [-options] [sf_nom|repertoire_montage]
Options :
-a => démonte tous les systèmes de fichiers déclarés
dans :
/etc/fstab ou /etc/checklist
-v => verbeux
-V => affiche la commande sans l'exécuter
Exemples :
$umount /dev/dsk/c3d1s1
$umount /dev/pd302
$umount -v /mnt
Sur solaris, on démonte un support amovible en effectuant eject cdrom
ou eject diskette.
unalias
Commande inverse d'alias
Syntaxe :
unalias nom_alias
uname
Permet d’avoir des informations sur le système
Syntaxe :
Uname -options
Options :
-n => affiche le nom de nœud télécoms
-m => affiche le nom de la machine
-s => affiche le nom du système
-r => affiche l'état de la version du système
-v => affiche la version du système
-a => affiche toutes les informations
utilisation courante : uname -sr
uniq
Recherche des lignes adjacentes identiques dans un fichier trié
Les lignes adjacentes identiques sont supprimées pour n'en laisser qu'une
seule. Attention les fichiers d'entrée et de sortie doivent être
différentes.
Syntaxe :
uniq [ -option] [+n] [-n] ] [fic_in] [fic_out]
Options :
-u => seules les lignes non répétées sont écrites
en sortie
-d => spécifie qu'une seule copie des lignes répétée
doit être écrite
-c => annule et remplace -u et -d et génère un état
en faisant précéder chaque ligne de son nombre d'occurrences
-n => les n premiers champs ainsi que tout blanc en début de chaque
ligne sont ignorés
+n => les n premiers caractères sont ignorés (après
-n s'il y en a).
update
update est une commande qui fait des sync automatiquement toutes les 30 secondes.
bdflush fait un peu la même chose que sync mais de façon plus fréquente.
C’est aussi update qui le lance.
users
retourne la liste des utilisateurs connectés
uucp
Utilitaires permettant de relier plusieurs machines par l’interface série
avec un modem (mot clé ACU) ou sans un modem (mot clé DIR pour
direct).
Ces utilitaires permettent :
- de copier des fichiers sur une autre machine uucp
- lancer des programmes sur un autre poste uux
- émulation de terminal cu
- envoyer des messages
Les répertoires de uucp:
- les fichiers de gestion : /usr/lib/uucp
- les données transférées dans le répertoire temporaire:
/usr/spool/uucppublic
- les données de gestion pour les communications : /usr/spool/uucp
C’est le daemon /usr/spool/uucico qui est chargé d’établir
le dialogue avec l’autre machine.
Le fichier /usr/spool/Permissions est utilisé.
Le processus cron lance toutes les heures la commande uudemon.hour, qui remet
en activité la commande uusched.
Configuration d’un réseau par les ports séries :
- /usr/lib/uucp/Systems : vitesse de transmission
- /usr/lib/uucp/Devices : structure de la liaison physique
- /usr/lib/uucp/Dialcodes : numéro de téléphone à
composer
- /usr/lib/uucp/Permissions
Une entrée dans Systems fait référence aux fichiers Devices
et Dialcodes.
Le fichier /usr/lib/uucp/Permissions décrit les autorisations sur la
machine locale. Pour chaque utilisateur, il devra y avoir une entrée
dans /etc/passwd au format :
Nom::UID:GID::/usr/spool/uucppublic:/usr/lib/uucp/uucico
Les commande de l’administrateur pour uucp :
- /usr/lib/uucp/uuclean
- /usr/bin/uustat : affiche l’état des requêtes uucp
- /usr/bin/uulog : ensemble des transactions uucp et uux
- /usr/lib/uucp/uucheck : vérifie la cohérence de uucp
- /usr/lib/uucp/uutry : pour tester la liaison avec une autre machine
- /etc/uuinstall : commande centrale de gestion de tous les fichiers relevant
de uucp
useradd
Création d'un utilisateur
Useradd –g group_id username
wall (/etc/wall)
Envoie un messages à tous les utilisateurs.
wc (word count)
Affiche le nombre de lignes, mots caractères d'un fichier
Syntaxe :
wc [-options] fichier
Options :
sans option, on obtient l'équivalent de lwc
-l => nombre de lignes
-w => nombre de mots
-c => nombre de caractères
-lwc => options par défaut
Exemples :
wc /etc/passwd => donne le nombre de lignes, mots et caractère du
fichier passwd
wc -l /etc/passwd => donne le nombre de lignes du fichier passwd
whence
Indique si la commande est interne ou externe
Syntaxe :
whence [-option(s)] nom_fichier
Options :
-p => recherche du chemin d'accès
-v => rapport plus détaillé
whereis
Permet de connaître le répertoire où se trouve référencée
une commande
- Cette commande va effectuer sa recherche dans les répertoires :
/usr/src/*, /usr/sbin, /sbin, /bin, /usr/lbin, /usr/ccs/bin, /usr/share/man/*,
/usr/local/man/*, games, include, ....(voir man).
Exemple :
$whereis ls
ls: /sbin/ls /usr/bin/ls /usr/share/man/man1.Z/ls.1
which
Localise les programmes file inclus dans $PATH ou alias
who
Identifie les utilisateurs actifs sur le système
Syntaxe :
who [-option][fichier]
Fichier : /etc/utmp (par défaut)
/etc/utmp : historique de toutes les connexions depuis la génération
du système.
Options :
-u => ne liste que les utilisateurs connectés
.nom de la ligne retrouvée dans /dev
.heure de connexion
.temps écoulé depuis la dernière activité
"." terminal actif au cours de la dernière minute et en cours
"old" ligne pas utilisée depuis l'amorçage du système
ou depuis 24 heures
.Pid identification du processus
.zone commentaires (/etc/inittab)
-T => indique l'état de la ligne du terminal
"+" autorisation de messagerie sur ce terminal
"-" indique le cas contraire
-q => affiche le nom et le nombre des utilisateurs connectés
-r => niveau d'exécution actuel du processus init (run level)
-t => affiche la dernière modification de l'horloge système
-s => affiche seulement les noms, lignes et heures
-d => affiche tous les processus qui se sont terminés et qui n'ont
pas été relancé par init
-l => affiche les lignes sur lesquelles le système attend un login
-p => affiche les processus créés par init
-d => affiche les processus mort sans réaction d'init
-b => affiche la date du dernier reboot
-a => active toutes les options
whoami ou who am i délivre l'identité de l'utilisateur de la session
en cours
write
envoie de message à un utilisateur connecté, en interactif
- write dialogue en interactif entre les utilisateurs connectés.
- Les messages sont envoyés ligne par ligne et se terminent par ^D.
Attention : l'utilisation de cette commande provoque un affichage sur le terminal
de
l'utilisateur destinataire quelle que soit son activité.
Syntaxe :
write destinataire [terminal]
- Destinataire est le nom d'utilisateur à qui est destiné le message.
- L'utilisateur recevra les lignes au fur et à mesure qu'elles seront
écrites, il y a donc possibilité d'effectuer un dialogue
- Si l'utilisateur n'est pas connecté le message suivant est affiché
"... is not logged"
Exemples :
--- envoi d'un message à l'utilisateur elev1 -----
$write elev1
ATTENTION le cours TDS est reporté à une date ultérieure
^D
--- l'utilisateur elev1 recevra sur son écran ---
message from direction (tty12) [Sun Jan 8 16:12:34] ...
ATTENTION le cours TDS est repporté à une date ultérieure
xargs
Construire dynamiquement des arguments d'une commande ou groupe d'arguments
cités et exécuter la commande.
Syntaxe :
xargs [-options] commande [arguments "fixes"]
Options :
-l[n] arguments constitués par n lignes du stdin
-ichaîne toute ligne de stdin sera insérée à la place
de chaque occurrence de la chaîne citée en argument fixe.
-nn exécute la commande jusqu'à n arguments
-p demande la confirmation avant chaque exécution
-t invalide l'exécution de la commande générée par
dialogue avec xargs -p et trace les commandes générées
…
Exemples :
$ls $1 | xargs -i -t mv $1/{} $2/{}
#Place tous les fichiers du répertoire $1 dans le répertoire $2
et renvoie en écho chaque commande générée avant
d'exécuter celle-ci
$(logname; date; echo $0 $*) | xargs >>log
#Combine la sortie des commandes entre () et envoie le résultat dans
le fichier log
$find . -name "*.o" -print | xargs chown users
#Change le propriétaire de tous les programmes objets
$cat fichier | xargs tar cvf /dev/rmt/0m
#Permet de faire une archive avec tous les noms de fichiers contenus dans fichier
xd
Vider un fichier en hexadécimal et/ou en ASCII (dump)
Syntaxe :
xd [fichier…]
Si un fichier n'est pas spécifié, c'est l'entrée standard
qui est utilisée
Cette commande vide le fichier en trois zones :
- adresse relative dans le fichier
- vidage hexadécimal de 16 octets en 16 octets
- vidage ASCII (les caractères non affichables sont signalés par
un point).
x25tool
Permet de configurer la liaison série au format X25 (solaris)