Syntaxe des commandesCelle-ci est généralement la suivante :
nom_commande [options] [arguments]
. le caractère séparateur entre les différents éléments de la commande est le blanc (ESPACE) ;
. les options commencent habituellement par le caractère - (signe moins) suivi d'une ou plusieurs lettres-clés. Ces options vont modifier le comportement de la commande ;
. les arguments spécifient les objets (fichiers ou variables) sur lesquels la commande va s'appliquer.
Note : les crochets autour des arguments et des options signifient que ceux-ci sont optionnels.
Ex : liste de fichiers avec les commandes suivantes :
ls
ls -l (l comme long, donne tous les attributs des fichiers)
ls -la (a comme all, liste aussi les fichiers commençant par le caractère .)
ls -l rep1
Ex : visualisation d'un ou plusieurs fichiers :
cat fic1
cat fic1 fic2
À noter que tous les shells font la distinction entre les lettres minuscules et majuscules pour les commandes et les noms de fichiers contrairement au MS-DOS.
3.3- Manuel des commandesSi on veut de l'aide sur les règles d'utilisation ou encore sur les fonctionnalités d'une commande, on peut utiliser l'aide en ligne grâce à la commande man (comme MANual pages) de la façon
suivante : man nom_commande
Ex :
man ls
man man
Note : l'affichage des "manual pages" se fait à l'aide de la commande more, afficheur page par page dont on verra l'utilisation plus loin. Pour faire avancer l'affichage, il suffit de taper la barre d'espace.
Si on ne connaît pas la syntaxe de la commande, il est possible de faire une recherche par mot-clé dans le système de "manual pages") à l'aide de la commande suivante :
man -k mot-clé
Ex : man -k list ; man -k directories
3.4- Caractères génériquesCertaines commandes acceptent plusieurs noms de fichiers en arguments aussi, il était intéressant d'avoir des notations permettant de raccourcir l'écriture d'une telle liste. Ainsi, il existe plusieurs caractères génériques qui, incorporés dans les noms de fichiers, ont la signification suivante :
- le caractère ? qui peut remplacer n'importe quel caractère ;
- le caractère * (astérix) qui peut remplacer n'importe quelle chaîne de caractères, y compris la chaîne vide.
Ex :
perrot@von-neumann>ls
fic fic1 fic2 fic3 fic33 mbox rep1 rep2 rep3
perrot@von-neumann>ls fic?
fic1 fic2 fic3
perrot@von-neumann>ls fic*
fic fic2 fic33 fic1 fic3
perrot@von-neumann>ls fic??
fic33
Attention aux erreurs de frappe ou d'appréciation : rm *.o et rm * .o ont des résultats bien différents !
3.5- Redirection des entrées/sortiesGénéralement, les commandes lisent l'entrée standard et/ou écrivent sur la sortie standard. Normalement, l'entrée standard est le clavier et la sortie standard est l'écran. Il est possible de rediriger ces entrée et sortie standards vers des fichiers.
Pour que le résultat d'une commande soit rangé dans un fichier au lieu d'apparaître à l'écran, il faut utiliser la syntaxe :
nom_commande [options] [arguments] > fichier_sortie
Ex : ls -l > poub et date > poub
On voit que si le fichier de redirection existe déjà, son contenu est écrasé avec la redirection >. Si on veut que ce contenu soit préservé et y ajouter des résultats d'une commande, il faut utiliser la redirection >>.
Ex : ls -l > poub et date >> poub
Au lieu de fournir des données en les entrant au clavier, ces données peuvent être lues dans un fichier avec la syntaxe :
nom_commande [options] [arguments] < fichier_entrée
Ex :
wc (imprime le nombre de lignes, de mots et de caractères fournis à l'entrée standard)
ls -l fic? > poub ; wc < poub
3.6- Tube (<<pipe>>)Dans le même ordre d'idées, on peut utiliser le mécanisme de <<pipe>> qui permet de prendre la sortie standard d'une première commande et de la rediriger sur l'entrée standard d'une 2ème commande. La syntaxe est :
nom_commande1 [options] [arguments] | nom_commande2 [options] [arguments]
Ex :
ls -l fic? | wc (raccourci de la série de redirections vu précédemment)
ls /etc | more
4- Organisation des fichiers4.1- Arborescence d'UNIXL'unité d'information gérée par le système est le fichier et celui-ci peut contenir n'importe quoi et être éventuellement vide. Selon leur utilisation, les fichiers sont appelés répertoires (<<directories>>) ou fichiers tout court (<<files>>). Un répertoire est un catalogue de fichiers contenant leurs caractéristiques comme les droits d'accès, la taille, la date de création, etc.
L'ossature du système est une structure arborescente de fichiers et de répertoires. Chaque utilisateur peut ajouter dans son coin de nouvelles branches.
/ est le nom du répertoire racine (<<root>>) de l'arbre.
4.1.1- Nom absolu d'un fichierLe nom absolu d'un fichier est formé de tous les noms de répertoires traversés depuis la racine pour l'atteindre, noms séparés par des obliques avant / (contrairement au MS-DOS qui utilisent des obliques arrière \). Chaque fichier a un nom absolu unique dans le système.
Ex : 2 fichiers de même nom, fic1, peuvent coexister s'ils sont dans 2 répertoires différents et ont donc un nom absolu différent : /home/vision/users/perrot/fic1 et /home/vision/users/perrot/rep1/fic1.
admin