Caixa Original do Unix Número de Comandos

11

Ao olhar para o Unix, eu sempre acho o número de comandos do terminal um pouco avassalador. TinyCoreLinux, por exemplo minha distribuição favorita, tem mais de 300 comandos. Eu não sei dizer quantos comandos são necessários. Quantos comandos a caixa original do Unix tem?

Estou essencialmente esperando que, indo para a caixa original, possamos diminuir o número de comandos para os recém-chegados. Sim, eu entendo que você não precisa aprender todos os comandos, mas eu sei que definitivamente sinto uma sensação de conclusão quando eu aprendi todos os comandos para uma distribuição (o que não aconteceu exatamente ainda).

    
por William 06.02.2018 / 05:59

2 respostas

24

A primeira edição do Unix teve 60 comandos diferentes, conforme documentado no manual (também disponível como um 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

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

É fácil ler todo o manual do Unix V1; Não tenho certeza se vale a pena fazer algo assim para uma distribuição moderna. A especificação POSIX em si tem agora 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 internos do shell ; 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ê quiser experimentar o V1 Unix, confira o repositório V1 de Jim Huang : você encontrará o código-fonte, a documentação e instruções para construir e executar um híbrido V1-2 usando a simulação PDP-11 do SIMH . (Obrigado ao Guy pela sugestão.) O repositório Unix PDP-7 de Warren Toomey também é interessante.

(Obrigado como sempre a Stéphane por suas sugestões múltiplas.)

    
por 06.02.2018 / 06:38
13

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

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

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

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

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

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

    
por 06.02.2018 / 09:03