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