Les informations sont rangées sur le disque dans des fichiers. Les fichiers sont eux-mêmes rangés dans des répertoires (ou directory en anglais). En fait les répertoires sont des fichiers particuliers contenant une liste de fichiers, ils sont donc eux aussi rangés dans des répertoires. Le seul répertoire qui ne soit pas dans un autre répertoire est appelé racine et noté /. Cette organisation est représentable par une structure d'« arbre » renversé esquissé sur la figure 1.
~
».De plus chaque utilisateur appartient à un ou plusieurs groupe(s). Pour voir les droits d'un fichier il suffit d'utiliser l'option -l de ls, c'est-à-dire taper ls -l argument. On obtient alors, pour chaque fichier, une ligne de la forme :
-rw-r--r-- 1
user 6876 Sep 10 11:04
fichier-rw-r--r--
). Ce champ
est représenté par une suite de dix caractères. Le plus à gauche
donne le type du fichier : - si c'est un fichier « normal » et
d si c'est un répertoire (d comme directory).
Ensuite viennent 9 caractères donnant les droits proprement dits.
Les 3 premiers donnent les droits pour le propriétaire du fichier,
les 3 suivants pour les gens appartenant au même groupe que le
propriétaire du fichier, et les 3 derniers pour les autres
utilisateurs. Ces trois caractères sont :
drwx------
, ce qui signifie que c'est un répertoire
où seul le propriétaire peut aller. Il s'agit typiquement de
répertoires confidentiels tel que celui où vous sauverez les
courriers électroniques que vous souhaiterez conserver.-rw-r--r--
.-rw-r--r--
et si on veut retirer les droits de lecture de ce
fichier aux membres du groupe et aux autres, on écrit chmod
go-r fichier.$ ls$ touch f1 f2 f3 f4 f5$ chmod +x f3 f5$ mkdir D1 D2$ mkdir D1/D11 D1/D12$ ln -s f1 f6$ lsD1 D2 f1 f2 f3 f4 f5 f6 $ ls -FD1/ D2/ f1 f2 f3* f4 f5* f6@ $ ls -l -Ftotal 2 drwxrwxr-x 2 user group 1024 Oct 3 20:24 D1/ drwxrwxr-x 2 user group 1024 Oct 3 20:24 D2/ -rw-rw-r-- 1 user group 0 Oct 3 20:24 f1 -rw-rw-r-- 1 user group 0 Oct 3 20:24 f2 -rwxrwxr-x 1 user group 0 Oct 3 20:24 f3* -rw-rw-r-- 1 user group 0 Oct 3 20:24 f4 -rwxrwxr-x 1 user group 0 Oct 3 20:24 f5* lrwxrwxrwx 1 user group 2 Oct 3 20:24 f6 -> f1 $ ls -a . .. D1 D2 f1 f2 f3 f4 f5 f6 $ ls -tf6 D1 D2 f1 f2 f3 f4 f5 $ ls -r -tf1 f2 f3 f4 f5 D1 D2 f6 $ ls -R -FD1/ D2/ f1 f2 f3* f4 f5* f6@ D1: D11/ D12/ D1/D11: D1/D12: D2:
rm () { /bin/rm -i "$@"; }
*~/.bashrc
*personnel, ce qui fait que le
système vous demandera confirmation chaque fois que vous
utiliserez la commande rm, ce qui pourra vous évitez de
faire des bêtises et aussi de supprimer tous les fichiers d'un
répertoire sauf certains.
$ cat f1 Ceci est du texte. $ file f1 f1: ASCII text $ cat f3 #! /bin/sh echo $SHELL $ ls -F f3 f3* $ file f3 f3: Bourne shell script text $ ls -lF f6 lrwxrwxrwx 1 user group 2 Oct 3 20:24 f6 -> f1 $ file f6 f6: symbolic link to f1 $ file /bin/arch /bin/arch: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked, stripped $ file /dev/null /dev/null: character special (1/3) $ file /dev/fd0 /dev/fd0: block special (2/0) $ file /dev/ttyp0 /dev/ttyp0: character special (3/0) $ tar -cf f1.tar f1 $ file f1.tar f1.tar: GNU tar archive $ gzip f1.tar $ file f1.tar.gz f1.tar.gz: gzip compressed data, deflated, original filename, last modified: Sun Oct 4 13:16:00 1998, os: Unix
$ cat etdts Victor Hugo Andre Gide Gustave Eiffel $ sort etdts Andre Gide Gustave Eiffel Victor Hugo $ sort -k2 etdts Gustave Eiffel Andre Gide Victor Hugo $ cat tutu 1 3 10 5 3 $ sort tutu 1 10 3 3 5 $ sort -u tutu 1 10 3 5 $ sort -n tutu 1 3 3 5 10 $ sort -n -u tutu 1 3 5 10