Si vous avez envisagé d'examiner Linux de plus près, mais que les barres obliques, les points, les racines, les montages et l'étrangeté du terminal vous rebutent, cette introduction à la structure du système de fichiers Linux explique tout cela du point de vue DOS/Windows. Les seules hypothèses que j'ai faites sont que vous êtes quelque peu familier avec la disposition du système de fichiers Windows, ainsi que certains DOS ou Command (CMD
) Navigation dans la fenêtre. Vous constaterez que Linux n'est pas si différent de Windows à bien des égards. Nous n'aborderons même pas qui a volé quoi à qui, car il est évident que l'inspiration vient de nombreux endroits.
Juste pour que nous soyons clairs, je sais que Windows n'est plus basé sur DOS. Mais Linux et Windows ont tous deux une interface de ligne de commande (CLI), et plutôt que de l'appeler CMD
, Fenêtre de commande ou autre chose, il est plus facile d'utiliser le terme hérité, DOS pour la CLI Windows. J'utilise également les termes système de fichiers et structure de système de fichiers de manière interchangeable. Je fais référence à la disposition des fichiers, des répertoires, des configurations, de la pagination, etc., et non au formatage au niveau du bit du système de fichiers tel que NTFS ou XFS, par exemple.
Premièrement, Linux et Windows (et Mac) ont tous deux une structure de système de fichiers hiérarchique, ce qui signifie qu'il existe un seul répertoire "racine", et que tous les autres répertoires en dérivent. Sous Windows, vos répertoires racine sont désignés par des lettres, telles que C:
ou D:
. Windows peut avoir plusieurs répertoires racine Sous Linux, le répertoire racine est désigné comme /
et il n'y a qu'un seul répertoire racine par ordinateur Linux. Certaines références appellent cette mise en page une structure "arborescente" :lorsque tous les répertoires et sous-répertoires sont développés, la référence visuelle est une arborescence inversée.
Comparez les deux dispositions ci-dessous. Red Hat Enterprise Linux 8 est sur la gauche et Microsoft Windows Server 2012 R2 est sur la droite. Notez les similitudes et les différences entre les deux :
[Vous voulez essayer Red Hat Enterprise Linux ? Téléchargez-le maintenant gratuitement.]
Linux a plusieurs répertoires sous racine (/
), alors que Windows en a relativement peu. En effet, Windows conserve tout sauf les applications sous C:\Windows
annuaire. Les applications résident soit dans les Program Files
ou les Program Files (x86)
répertoires. Linux conserve ses applications sous le /usr
annuaire. Le Linux /home
correspond au répertoire Windows C:\Users
répertoire.
Le tableau suivant présente les répertoires Linux importants et leurs fonctions (le -> est un lien symbolique ou un raccourci, dans la terminologie Windows) :
Répertoire | Objectif |
---|---|
bin -> /usr/bin | Répertoire contenant les binaires utilisateur. |
boot | Répertoire contenant les fichiers du chargeur de démarrage. |
dev | Répertoire contenant les fichiers de l'appareil. |
etc | Répertoire contenant les fichiers de configuration. |
home | Répertoire contenant les répertoires personnels des utilisateurs. |
lib -> /usr/lib | Répertoire contenant les bibliothèques système. |
lib64 -> /usr/lib64 | Répertoire contenant les bibliothèques système 64 bits. |
media | Où les DVD et les périphériques amovibles sont montés automatiquement. |
mnt | Répertoire utilisé pour monter temporairement des systèmes de fichiers distants et d'autres supports. |
opt | Répertoire dans lequel certains logiciels tiers sont installés. |
proc | Répertoire contenant les informations sur les processus système. |
root | Le répertoire personnel de l'utilisateur root. |
run | Un répertoire de travail d'exécution (basé sur la RAM). |
sbin -> /usr/sbin | Répertoire contenant les binaires système. |
srv | Répertoire contenant les données de service. |
sys | Répertoire contenant les périphériques, les modules du noyau, les systèmes de fichiers et d'autres informations sur les composants du noyau. |
tmp | Répertoire contenant les fichiers temporaires. |
usr | Répertoire contenant les programmes utilisateur. |
var | Répertoire contenant des fichiers variables, tels que des journaux et des fichiers temporaires. |
Notez que lorsque vous écrivez des noms de répertoire sous Linux, vous incluez toujours le répertoire racine (/
) et de même, vous avez inclus (C:\
) sous Windows. Il est important d'inclure les références du répertoire racine sur les deux systèmes d'exploitation. Par exemple, sous Linux, il existe des répertoires tels que /usr/bin
, /usr/sbin
, et /tmp
. Windows peut avoir plusieurs racines, vous pouvez donc avoir C:\Temp
, D:\Temp
, et E:\Temp
sur le même système. Vous pouvez voir qu'il suffit de faire référence à tmp
sous Linux ou Temp
dans Windows est déroutant et pas assez spécifique pour faire clairement référence à un répertoire spécifique.
Vous remarquerez également d'après mes écrits que les barres obliques pour Linux sont des barres obliques inverses et Windows sont des barres obliques ou des "coups". Vous êtes-vous déjà demandé pourquoi la barre oblique inverse correspond à un mot alors que la barre oblique en correspond à deux ? Sous Linux, la barre oblique inverse est un opérateur qui signifie ignorer le caractère suivant, ce qui gâcherait vraiment votre chemin de fichier. Il existe donc des différences dans la façon dont vous interagissez avec les deux systèmes d'exploitation, la façon dont vous naviguez, où se trouvent les éléments et PATH
désignations, mais vous voyez également plusieurs similitudes.
Alors que Windows stocke les fichiers de configuration dans de nombreux emplacements différents, la plupart d'entre eux résident quelque part sous le C:\Windows
répertoire et ses dizaines de sous-répertoires. Linux utilise presque exclusivement le /etc
répertoire pour les configurations. Les applications sous Linux stockent souvent leurs fichiers de configuration dans leur propre etc
sous-répertoire (vous prononcez etc
comme et-voir ). Dans les discussions, si vous vous référez au /etc
répertoire, /tmp
, /home
, ou tout autre répertoire de premier niveau, vous n'avez pas à dire "barre oblique". Dites simplement le répertoire "etc", "home" ou "tmp". Si vous faites référence à un sous-répertoire, vous pouvez dire "usr bin"(/usr/bin
) ou "usr local bin"(/usr/local/bin
). Et usr
se prononce "utilisateur". C'est similaire à la façon dont vous vous référez au C:\Windows
répertoire en disant "le répertoire Windows" (C:\Windows
) ou à C:\Windows\System32
en disant "le répertoire Windows System32".
Au fait, Windows a aussi un etc
répertoire, mais il est bien caché dans C:\Windows\System32\drivers\etc
. Dans ce etc
répertoire, vous trouverez des fichiers communs aux deux systèmes d'exploitation, tels que hosts
, lmhosts
, protocol
, networks
, et services
.
En ligne de commande, vous naviguez dans les deux systèmes en utilisant le cd
commande. La seule chose dont vous devez vous souvenir, c'est dans quel sens vont les barres obliques. Au fur et à mesure que vous passez à Linux, vous constaterez que la navigation vient naturellement et que le /
la clé est beaucoup plus commodément située que le \
la clé est. Bien que la direction des barres obliques ne soit pas le plus gros problème que vous ayez. Attendez juste de taper ls
à un C:\>
invitez et réalisez ce que vous avez fait lorsque vous voyez 'ls' is not recognized as an internal or external command, operable program, or batch file
Erreur. Taper dir
à une invite de commande Linux est beaucoup moins traumatisant. Indice :dir
est un alias pour ls
sous Linux.
Je pense que vous trouverez le système de fichiers Linux organisé, facile à naviguer et agréable à gérer. Dans les prochains articles, nous couvrirons les autorisations Linux et vous montrerons à quel point Linux est vraiment puissant et sécurisé. Pour l'instant, concentrez-vous sur la présentation et l'emplacement des fichiers et répertoires importants.