Nombre de commandes de la boîte Unix d'origine

10

Lorsque je regarde Unix, je trouve toujours le nombre de commandes de terminal un peu écrasant. TinyCoreLinux, par exemple ma distribution préférée, a plus de 300 commandes. Je ne peux pas dire à quel point un grand nombre de ces commandes sont nécessaires. Combien de commandes possédait la boîte Unix d'origine?

J'espère essentiellement qu'en allant dans la boîte d'origine, nous pourrons réduire le nombre de commandes aux nouveaux arrivants. Oui, je comprends que vous n'avez pas à apprendre toutes les commandes, mais je sais que je ressens définitivement un sentiment d'achèvement lorsque j'ai appris toutes les commandes d'une distribution (ce qui n'est pas encore exactement arrivé).

William
la source
pertinent mais pas sûr de la précision en.wikipedia.org/wiki/List_of_Unix_commands
William

Réponses:

23

La première édition d'Unix avait 60 commandes impaires, comme indiqué dans le manuel (également disponible en tant que site Web ):

ar                                  ed                                  rkl
as                                  find                                rm
/usr/b/rc (the B compiler)          for                                 rmdir
bas                                 form                                roff
bcd                                 hup                                 sdate
boot                                lbppt                               sh
cat                                 ld                                  stat
chdir                               ln                                  strip
check                               ls                                  su
chmod                               mail                                sum
chown                               mesg                                tap
cmp                                 mkdir                               tm
cp                                  mkfs                                tty
date                                mount                               type
db                                  mv                                  umount
dbppt                               nm                                  un
dc                                  od                                  wc
df                                  pr                                  who
dsw                                 rew                                 write
dtf                                 rkd
du                                  rkf

Il y avait quelques commandes supplémentaires, telles que /etc/glob, qui étaient documentées dans la page de manuel d'une autre commande ( shdans /etc/globle cas de); mais la liste ci-dessus donne une bonne idée. Beaucoup d'entre eux ont survécu et sont toujours d'actualité; d'autres ont suivi le chemin du dodo (heureusement, dans dswle cas!).

Il est assez facile de lire tout le manuel Unix V1; Je ne suis pas sûr que cela vaille la peine de faire quelque chose comme ça pour une distribution moderne. La spécification POSIX elle-même compte désormais plus de 3 000 pages, et ne documente «que» un noyau commun, avec 160 commandes (dont beaucoup sont facultatives) et quelques commandes intégrées au shell ; les distributions modernes contiennent des milliers de commandes, qu'aucune personne ne peut apprendre de manière exhaustive. Le dernier manuel complet du système que j'ai lu de couverture en couverture était le manuel cohérent ...

Si vous souhaitez découvrir V1 Unix, consultez le référentiel V1 de Jim Huang : vous trouverez le code source, la documentation et les instructions pour créer et exécuter un hybride V1-2 à l'aide de la simulation PDP-11 de SIMH . (Merci à Guy pour la suggestion.) Le référentiel Unix PDP-7 de Warren Toomey est également intéressant.

(Merci comme toujours à Stéphane pour ses multiples suggestions.)

Stephen Kitt
la source
13

Ayant travaillé dans de grands projets avec d'énormes API et avec des collègues qui ont rencontré le même problème en essayant d'obtenir un aperçu des API et des bases de données, etc., je vous recommande

  1. N'essayez pas de tout comprendre, et
  2. Apprenez ce que vous devez apprendre à faire ce que vous devez faire.

Il peut être intéressant d’essayer d’obtenir un aperçu de possible de faire dans un environnement shell Unix, mais le moyen le plus simple d'apprendre comment faire les choses est d'avoir des tâches à résoudre et de déterminer quels outils sont disponibles pour résoudre ces tâches particulières .

Poser des questions (et / ou lire des réponses) ici sur le site Unix et Linux peut être un bon moyen d'étudier. Répondre aux questions est encore mieux, ce qui comprend la correction et la présentation de meilleures façons de faire les choses.

La lecture de listes d'utilitaires, qu'elles soient standard, anciennes ou tierces, ne sera probablement pas utile car elle ne vous dira rien sur la façon de utiliser ces utilitaires en combinaison les uns avec les autres pour résoudre des problèmes réels.

Essayer d'apprendre tout (ou même un petit sous-ensemble) sans utiliser activement les outils entraînera très probablement de la confusion.

Kusalananda
la source