Obtenir l'aide mémoire Unix au format pdf
Les SHELLS UNIX : Le C Shell
proc1
proc2
proc3
proc1 ; proc2 ; proc3
proc
&
| < |
l'entrée standard est lu à 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) |
| >& |
La sortie standard et les erreurs sont redirigées dans un fichier(RAZ
du fichier) |
| >>& |
La sortie standard et les erreurs sont redirigées dans un fichier(concaténation
du fichier) |
proc1 | proc2
équivaut à
proc1 > fich
proc2< fich
proc1
||& proc2 : proc2 reçoit en entrée les sorties standards et les
erreurs de proc1
| * |
n'importe quelle chaîne de caractères |
| ? |
n'importe quel caractère |
| [ ... ] |
l'intervalle décrit entre les crochets |
| { ... } |
un des caractère décrit entre les accolades |
| ~ |
le home directory |
| ~user |
le home directory du compte user |
exécution du fichier .login et .cshrc pour initialiser l'environnement
.login est exécuté une seule fois lors du login
.cshrc est exécuté à chaque ouverture d'une session C Shell (ex: ouverture
d'une fenêtre)
.logout est exécuté lors du logout
variables locales au shell courant (en général en minuscule)
définie par la commande
set
| argv |
les arguments de la ligne de commande (numérotées à partir de 1) |
| autologout |
temps de déconnexion automatique d'un shell (en minutes) |
| cwd |
le chemin du répertoire courant |
| home |
le home directory |
| ignoreeof |
si elle n'est pas initialisée, on ne peut pas se déconnecter par ^D |
| cdpath |
chemin de recherche pour les commandes cd, pushd, chdir |
| notify |
si elle est positionnée, l'utilisateur est immédiatement avertie à la
terminaison d'un processus en tache de fond. Sinon il est avertie lors d'un
shell prompt |
| path |
chemin de recherche pour l'exécution des commandes |
| prompt |
positionne la valeur du prompt |
| shell |
indique le shell courant |
| status |
retourne le status de la dernière commande exécutée (0 si elle s'est
bien exécutée) |
variables globales exportées aux sous shells (en général en majuscule)
définie par la commande
setenv
trois variables sont automatiquement importées et exportées
| PATH |
path |
| TERM |
term |
| USER |
user |
| set history = 20 |
créer un buffer pour enregistrer les 20 derniers commandes
|
| set savehist = 15 |
sauvegarde les 15 derniers commandes lors du logout et les
restaure au login |
| set prompt = "[\!]%" |
affiche le numéro de la commande dans le prompt |
| !! |
commande précédente |
| !n |
nieme commande |
| !-n |
emplacement relatif (n commandes ont été exécutées depuis) |
| !car |
la dernière commande commençant par car |
| !n:i |
le iieme argument de la commande n (la commande est numérotée 0) |
| !n:$ |
le dernier argument de la commande n |
| !n:^ |
le deuxième argument de la commande n (le premier paramètre de la commande)
|
| !n:i-$ |
référence les arguments du iieme au dernier de la commande n |
| !n:* |
tous les arguments de la commandes n |
| commande |
paramètres à modifier : modification |
| s/old/new |
remplace la première occurrence de old par new |
| g |
substitution globale (à combiner avec une autre commande) |
| h |
garde uniquement la partie répertoire du nom de fichier |
| p |
imprime la commande sans l'exécuter |
| q |
empêche une modification future |
| r |
enlève l'extension du nom du fichier |
| t |
garde le dernier élément du nom du fichier |
| & |
recommence la dernière substitution |
Pour personnaliser les commandes
| alias |
pour obtenir la liste des alias |
| alias ch cmd |
positionne l'alias ex alias rm rm -i alias cd 'cd \!* ; ls' !* correspond
à une commande d'history |
| unalias ch |
détruit l'alias |
csh nom_fichier
ou rendre le fichier exécutable (chmod u+x nom_fichier) puis taper le nom du fichier
Pour forcer l'exécution du fichier en C Shell, le fichier doit commencer par
#!/bin/csh
| csh -n nom_fichier |
interprète les commandes sans les exécuter |
| csh -v nom_fichier |
imprime les lignes comme elles sont lues |
| csh -x nom_fichier |
imprime les lignes comme elles sont interprétées |
| set variable valeur |
affectation |
| $variable |
valeur de la variable |
| ${variable} |
valeur de la variable |
| $?variable |
renvoie 0 si la variable n'est pas initialisée, 1 sinon |
| $# |
indique le nombre de composants (séparés par des blancs)
dont est composés la variable |
| $n |
équivaut à $argv[n] mais ne sortira jamais d'erreur out of
range |
| $* |
liste des paramètres (équivaut à $argv) |
| $$ |
le numéro de processus de la dernière commande |
| $< |
remplacé par la prochaine entrée courante (pour les scripts
interactifs)
var=$< équivaut à read var en Bourne Shell |
| \ |
banalise le caractère suivant |
| "..." |
banalise les caractères sauf \ , $ et ` |
| '...' |
banalise tous les caractères |
| `...` |
substitution de commande |
| % num |
préfixe pour les numéro de job (le numéro de job est indiqué
lors du lancement d'une commande en background) Pour visualiser la liste
des jobs : jobs |
Syntaxe
if (exp) then
liste_commandes
[else if ( exp ) then
liste_commandes] ...
[else
liste_commandes]
endif
if (exp) commande
if (exp) \
commande
Syntaxe
while (exp)
liste_commandes
end
Syntaxe
foreach index_var (liste)
liste_commandes
end
break : arrête la boucle
continue: arrête l'itération courante de la boucle et commence la prochaine
itération
Exemple
foreach i ($argv)
if ($i != *.c) then
echo " $i n'est pas un programme C"
continue
else
echo " $i est un programme C"
endif
cc $i
end
Syntaxe
switch ( para )
case choix1 :
liste_commandes
breaksw
default :
liste_commandes
breaksw
endsw
Syntaxe
boucle :
liste_commandes
goto boucle
| -e fichier |
vrai si le fichier existe |
| -r fichier |
vrai si le fichier existe et est accessible en lecture (R) |
| -w fichier |
vrai si le fichier existe et est accessible en écriture (W) |
| -x fichier |
vrai si le fichier existe et est exécutable (X) |
| -f fichier |
vrai si le fichier existe et est un fichier régulier |
| -d fichier |
vrai si le fichier existe et est un répertoire |
| -z fichier |
vrai si le fichier existe et a une taille non nulle |
| -o fichier |
vrai si le fichier existe et nous appartient |
| # |
commentaire |
| (cmde) |
exécute la commande dans un sous-shell |
| {cmde} |
permet de savoir si une commande s'est bien passée (1) ou non (0) |
| cmd1 && cmd2 |
séparateur conditionnel (cmd2 sera exécuté si cmd1 s'est exécuté correctement)
|
| cmd1 || cmd2 |
séparateur conditionnel (cmd2 sera exécuté si cmd1 ne s'est pas exécuté
correctement) |
| source script |
exécution du script dans le shell courant |
| rehash |
reconstruit la hash table de localisation des commandes |
| repeat n cmd |
répète la commande n fois |
| setenv/unsetenv |
positionne une variable d'environnement |
| time cmde |
détermine le temps d'exécution de la commande |
| @var = exp |
assigne une valeur à une variable numérique |
| () , + , - , * , / |
opérations arithmétiques classiques |
| % |
reste |
| ^ |
ou exclusif bit à bit |
| ~ |
complément unaire |
| == |
comparaison |
| != |
diffèrent de |
| ! |
négation |
| > ,< ,>= ,<= |
comparaison |
| >> |
décalage à droite |
| << |
décalage à gauche |
| & |
Et bit à bit |
| | |
Ou bit à bit |
| && |
Et logique |
| || |
Ou logique |
| = |
affectation |
| += |
x+=y équivaut à x = x + y |
| -= |
x-=y équivaut à x = x - y |
| *= |
x*=y équivaut à x = x * y |
| /= |
x/=y équivaut à x = x / y |
| %= |
x%=y équivaut à x = x % y |
| ^= |
x^=y équivaut à x = x ^ y |
| ++ |
x++ équivaut à x = x + 1 |
| -- |
x-- équivaut à x = x - 1 |
Attention, les opération suivantes ne marchent pas : &=, |=,<<=,>>=
Obtenir l'aide mémoire Unix au format pdf