Questão Diferença entre os comandos unix e linux [closed]


Acabei de comprar o livro UNIX in a Nutshell por muito barato, embora eu passe a maior parte do meu tempo em alguma forma de Linux. A primeira metade do livro é a sintaxe de comandos e shell. Sobre quanto disso é traduzível ou utilizável no Linux?


4


origem


Quase tudo isso. - AndrejaKo
Fire up bash e ver se funciona :) - Not Available


Respostas:


Os principais conceitos (cachimbos, arquivos, dispositivos, redes) permanecem os mesmos. A sintaxe do shell também se aplica ao Linux - quase todos os SOs do tipo Unix usam o mesmo shell Bourne (sh) e / ou seus derivados (festança é especialmente comum, zsh é provavelmente o segundo).

Os comandos básicos (ls, mv, rm) permanece o mesmo, mas suas opções podem ser diferentes. Em particular, a maioria das distribuições Linux vem com o GNU coreutils ferramentas, que têm uma gama muito mais ampla de opções do que suas contrapartes BSD e Unix.

Alguns outros comandos foram totalmente substituídos no Linux também (exemplo: enquanto ferramentas de configuração de ifconfig e route ainda existem no Linux, eles são considerados obsoletos em favor de ip).

É quando você vai fundo na configuração do sistema que você começa a ver grandes diferenças. Por exemplo, autenticação (PAM, BSD Auth, /etc/shadow) e bancos de dados de usuários (NIS, nsswitch); processo de inicialização (SysV nisso vs BSD nisso vs systemd vs Upstart); nomeação de dispositivos (eth0 vs tlp0 vs en0, MAKEDEV vs udev).

Um tópico importante é a instalação de software: geralmente, as distribuições Linux fornecem uma gama de pacotes pré-construídos juntamente com uma ferramenta de "gerenciador de pacotes" que os transfere e instala. Transferir e compilar manualmente a partir do código fonte (./configure && make) é relativamente incomum.


8



Os comandos básicos são bem diferentes (exceto por alguns parâmetros comuns) entre o OS X (BSD Unix) e o Linux, não é nem engraçado. Por exemplo, enquanto não estiver coreutils, as diferenças entre implementações de top leva a soluções totalmente diferentes para questões específicas. Além disso, para adicionar aos seus exemplos, o Mac OS X possui o serviço de diretório para gerenciamento de usuários, networksetup para muitas tarefas relacionadas à rede, e launchd como substituto para init/rc/(x)inetd/crond. - Daniel Beck♦
@ Daniel: ps é ainda pior do que top, Eu acho que. - grawity
Mesmo que o livro especifique como sendo escrito para solaris e svr4, eles se aplicariam a novas versões de netbsd e pcbsd da mesma forma? - a sandwhich
@grawity Pelo menos GNU ps suporta a sintaxe BSD, ou seja, ps aux funciona bem, é tudo que preciso ;-) Mas você está certo. Muito poucas ferramentas comumente usadas são uma dor ao alternar entre sistemas. - Daniel Beck♦
@a sandwhich: SysV (Solaris, SVR4) e BSD tiveram grandes diferenças mesmo em suas velho lançamentos. (Eu acho que o Linux é um pouco mais próximo do seu livro do que os BSDs.) No entanto, ambos são Unix, então minha resposta ainda se aplica. - grawity


A maioria, geralmente, mesmo que nem todos os comandos sejam exatamente iguais, é importante que você entenda os princípios e como ele funciona, então será relativamente fácil para você usar novos ou diferentes. A sintaxe e um entendimento de como a linha de comando funciona é a coisa mais importante. Enquanto eu diria que 90% do que eu uso para UNIX (no meu Mac) eu uso exatamente o mesmo no Ubuntu (incluindo ls, cd, o like), existem alguns comandos específicos do Linux, no entanto, se você souber como usar Na linha de comando, você pode pegá-los bem. Mas sim, praticamente tudo é o mesmo e deve estar bem.


2