Racine / Répertoire de base vs ~ (tilde)

J'ai créé une image virtuelle pour Scientific Linux et suis tombé dessus après avoir fini de l'installer:

[root@ftpserver home]# pwd /home [root]@ftpserver home]# ls 

Quand je cd dans ~ j'obtiens ceci:

 [root@ftpserver ~]# pwd /root 

Quelle est la différence globale entre /home et /root ?

Selon la norme de hiérarchie de système de files (FHS) :

 /home : User home directories (optional) /root : Home directory for the root user (optional) 

Le directory personnel d'un user non root typique serait /home/$USER . /root est aussi spécial (dans de nombreuses dissortingbutions) /root ne peut être lu qu'à la racine ( 700 ), mais le directory de base d'un user normal a également access en lecture à d'autres ( 755 ).

/home est l'endroit où tous les users obtiennent habituellement leurs directorys personnels créés sous.

Exemples:

 /home/marcelo /home/joe 

Le /home peut parfois résider dans un autre système de files que le / (système de files du système principal), c'est-à-dire un disque dur séparé, une autre partition sur le même disque dur ou même monté sur le réseau.

Pour cette raison (et probablement d'autres raisons également), le directory de base de l'user racine se trouve normalement dans un directory distinct qui se trouve dans le système de files du système principal, sans risquer de ne pas être monté en raison de la connectivité réseau ou d'autres problèmes.

Tout ceci est configurable et, théoriquement, la racine de votre système peut se find sous /home , par exemple /home/root , mais ceci n'est pas recommandé.

Le symbole ~ est juste quelque chose que le shell remplace par le directory de base de l'user actuel. Ce n'est pas, en soi, un path valide.

En cas de problème lors du démarrage (entraînant l'absence de assembly des autres volumes), le directory root (utilisé pour les connections de réparation) est disponible. /home est souvent sur un volume différent.