Número original de comandos da caixa Unix

10

Ao olhar para o Unix, sempre considero o número de comandos do terminal um pouco esmagador. O TinyCoreLinux, por exemplo, minha distribuição favorita, possui mais de 300 comandos. Não sei dizer se são necessários muitos desses comandos. Quantos comandos tinha a caixa Unix original?

Espero, essencialmente, que, indo para a caixa original, possamos diminuir o número de comandos para os novatos. Sim, entendo que você não precisa aprender todos os comandos, mas sei que definitivamente sinto uma conclusão quando aprendi todos os comandos para uma distribuição (o que ainda não aconteceu exatamente).

William
fonte
relevante, mas não tenho certeza de quão precisa é en.wikipedia.org/wiki/List_of_Unix_commands
William

Respostas:

23

A primeira edição do Unix possuía 60 comandos ímpares, conforme documentado no manual (também disponível como site ):

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

Havia mais alguns comandos, como /etc/glob, que foram documentados na página de manual de outro comando ( shno /etc/globcaso); mas a lista acima fornece uma boa ideia. Muitos destes sobreviveram e ainda são relevantes; outros seguiram o caminho do dodô (felizmente, no dswcaso!).

É fácil o suficiente ler todo o manual do Unix V1; Não sei se vale a pena fazer algo assim para uma distribuição moderna. A própria especificação POSIX agora tem mais de 3.000 páginas, e isso “apenas” documenta um núcleo comum, com 160 comandos (muitos dos quais são opcionais) e alguns recursos internos do shell ; as distribuições modernas contêm milhares de comandos, que nenhuma pessoa pode aprender exaustivamente. O último manual completo do sistema que li de capa a capa foi o manual Coherent ...

Se você deseja experimentar o V1 Unix, consulte o repositório V1 de Jim Huang : você encontrará o código-fonte, a documentação e as instruções para criar e executar um híbrido V1-2 usando a simulação PDP-11 do SIMH . (Obrigado a Guy pela sugestão.) O repositório PDP-7 Unix de Warren Toomey também é interessante.

(Obrigado como sempre a Stéphane por suas várias sugestões.)

Stephen Kitt
fonte
13

Tendo trabalhado em grandes projetos com grandes APIs e com colegas que enfrentaram o mesmo problema ao tentar obter uma visão geral das APIs e bancos de dados etc., recomendo que você

  1. Não tente entender tudo, e
  2. Aprenda o que você precisa aprender a fazer o que você precisa fazer.

Pode ser interessante tentar obter uma visão geral do que é possível fazer em um ambiente shell Unix, mas a maneira mais fácil de aprender como fazer as coisas é ter tarefas a resolver e descobrir quais ferramentas estão disponíveis para resolver essas tarefas específicas .

Fazer perguntas (e / ou ler respostas) aqui no site Unix e Linux pode ser uma boa maneira de estudar. Responder a perguntas é ainda melhor, o que inclui ser corrigido e mostrar melhores maneiras de fazer as coisas.

A leitura de listas de utilitários, padrão, antigos ou de terceiros, provavelmente não será útil, pois não informará nada sobre como usar esses utilitários em conjunto para resolver problemas reais.

Tentar aprender tudo (ou mesmo um pequeno subconjunto) sem usar ativamente as ferramentas provavelmente causará confusão.

Kusalananda
fonte