Pourquoi la plupart des commandes *NIX (mon expérience est principalement Linux et de rares rencontres avec FreeBDS) ont des comportements par défaut si "fous" (non intuitifs), c'est-à-dire TRES différents de ce que l'action GUI "équivalente" ferait.
L'exemple le plus évident est la commande de copie de fichier, cp
qui, par défaut sous Linux, (1) ne copie pas les répertoires de manière récursive (ce qui est évidemment contre-intuitif pour quiconque vient au Shell après avoir utilisé une interface graphique où un copier/coller copie un répertoire et tout ce qu'il contient) et (2) suit les simlinks ( !!) au lieu de simplement les copier tels quels (à nouveau, comme tout utilisateur d'interface graphique s'y attendrait). Donc la version "saine" de cp
qui, j'imagine, devrait être par défaut est quelque chose comme : cp -r
.
(Et encore une fois, il ne s'agit pas d'une perspective "biaisée" propre à quelqu'un qui n'a utilisé qu'une interface graphique auparavant. La commande DOS copy
par exemple, fait ce que vous attendez, comme un équivalent de cp -r
o cp -ra
...)
Un autre exemple évident est le rm
quand rm -ri
est ce que tout non-Shell-geek s'attendrait à ce que ce soit la valeur par défaut.
Et cela continue avec 90% de toutes les commandes *NIX où ce que vous attendez intuitivement comme étant la valeur par défaut est quelque chose que vous obtenez en ajoutant quelques options supplémentaires. Et ce n'est pas comme si ce qu'un utilisateur avancé attend d'être par défaut n'est pas ce qu'un utilisateur novice fait, pour des choses comme cp
y rm
il est évident que 99% du temps cp -r
y rm -r
est ce dont vous avez besoin. Et ce n'est pas comme si les choses avaient juste besoin de rester de cette façon pour la rétrocompatibilité, car vous pouvez simplement créer un nouveau Shell et garder #/usr/bin/oldshell
ou quelque chose pour l'ancien.
Donc, encore une fois, la question serait de savoir pourquoi les options/interrupteurs par défaut des commandes *NIX Shell sont si éloignés de ce que vous attendez intuitivement ? Où puis-je trouver des arguments historiques pour justifier l'état actuel des choses (même à des fins anecdotiques) et quelles sont les raisons autres que l'odieuse rétrocompatibilité pour l'état actuel des choses ?
Trouvé este sur unix.stackexchange qui répond en fait à BEAUCOUP de mes questions...