Cela m'ennuie d'avoir utilisé Unix à l'université et de travailler maintenant du côté de Windows. Quelle est l'histoire derrière cette décision ? Quelqu'un sait-il pourquoi il en a été ainsi ?
Réponses
Trop de publicités?Unix introduit /
comme séparateur de répertoires vers 1970. Je ne sais pas pourquoi exactement ce caractère a été choisi ; l'ancêtre du système Multics utilisait >
mais les concepteurs d'Unix avaient déjà utilisé >
en même temps que <
pour la redirection dans le Shell (cf. Pourquoi le répertoire racine est-il désigné par un /
signe ? ).
MS-DOS 2.0 introduit \
comme séparateur de répertoire au début des années 1980. La raison /
n'était pas utilisé est que MS-DOS 1.0 (qui ne supportait pas du tout les répertoires) utilisait déjà /
pour introduire des options de ligne de commande. Il a pris cette utilisation de /
de CP/M qui l'a fait passer de VMS . Vous pouvez lire une explication plus approfondie de la raison pour laquelle ce choix a été fait. sur le blog de Larry Osterman (MS-DOS a même brièvement eu une option pour changer le caractère d'option en -
et le séparateur de répertoire à /
mais ça n'a pas collé).
/
il est reconnu par la plupart des API de niveau programmeur (dans toutes les versions de DOS et de Windows). Ainsi, vous pouvez souvent, mais pas toujours, vous en sortir en utilisant la commande /
comme séparateur de répertoires sous Windows. Une exception notable est que vous ne pouvez pas utiliser /
comme séparateur après le \\?
préfixe qui (même sous Windows 7) est le seul moyen de spécifier un chemin d'accès utilisant Unicode ou contenant plus de 260 caractères.
Certains éléments de l'interface utilisateur prennent en charge /
comme séparateur de répertoire sous Windows, mais pas tous. Certains programmes ne font que passer les noms de fichiers à l'API sous-jacente, et supportent donc /
y \
indifféremment. Dans l'interpréteur de commandes (dans command.com
o cmd
), vous pouvez utiliser /
dans de nombreux cas, mais pas toujours ; cela dépend en partie de la version de Windows (par exemple, cd /windows
fonctionne sous XP et 7 mais pas sous Windows 9x). La zone de saisie du chemin de l'explorateur accepte /
(du moins à partir de XP ; probablement parce qu'il accepte aussi les URL). D'autre part, la boîte de dialogue standard d'ouverture de fichier rejette les barres obliques .
El API Windows sous-jacente peut accepter soit la barre oblique inversée, soit la barre oblique pour séparer les composants répertoire et fichier d'un chemin, mais la convention Microsoft est d'utiliser la barre oblique inversée, et les API qui renvoient les chemins mettent la barre oblique inversée.
MS-DOS 2.0 a copié le système de fichiers hiérarchique d'Unix et a donc utilisé le slash avant, mais (peut-être sur l'insistance de IBM ) a ajouté la barre oblique inverse pour permettre aux chemins d'accès d'être saisis dans la commande Shell tout en conservant la compatibilité avec la commande MS-DOS 1.0 y CP/M où la barre oblique est l'indicateur d'option de la ligne de commande.
- Comparez
dir/w
qui affiche le répertoire actuel en format large, contredir\w
qui exécute le fichierw
au sein de ladir
répertoire.
Références :