Os comandos do Linux são intercambiáveis com os comandos do Unix?

21

Acho que alguns comandos, por exemplo, ls e pwd , podem ser usados em sistemas Linux e Unix.

  • Todos os comandos do Linux podem ser usados nos sistemas Unix e todos os comandos do Unix podem ser usados no Linux?
  • Ou apenas que todos os comandos do Linux podem ser executados no Unix, mas nem todos os comandos do Unix podem ser executados no Linux.
  • Ou que todos os comandos do Unix podem ser executados no Linux, mas nem todos os comandos do Linux podem ser executados no Unix?
  • Ou existe uma referência para mostrar quais comandos podem ser executados no Linux e no Unix e onde ambos têm seu próprio comando exclusivo?
por Ted Wong 15.02.2012 / 09:39

5 respostas

37

O comentário de Daniel Andersson sobre o POSIX é a verdadeira resposta aqui: existe um padrão chamado POSIX que define o núcleo de um sistema semelhante ao UNIX, tanto em termos de comandos shell quanto de sistema. Em teoria, se você escreve software para a especificação POSIX, deve ser possível compilá-lo e executá-lo em qualquer sistema UNIX, Linux, BSD etc.

O

link lhe dará uma resposta definitiva sobre o que constitui o POSIX , mas isso não é uma resposta útil para fins práticos. Alguém pode ter boas referências de comando para diferenças comuns entre sistemas Linux e outros sistemas semelhantes ao UNIX.

Um exemplo específico: "killall" no Linux elimina todos os processos com um nome específico. No Solaris, ele desliga o sistema. Importante não usar o errado.

    
por 15.02.2012 / 11:55
18

A maioria das distribuições Linux atualmente vem com muitos softwares GNU essenciais e o GNU Toolchain. O GNU era um projeto para reescrever uma cópia livre do Unix que depois foi emparelhada com o kernel do Linux. Quando você usa ls em uma máquina Unix, você está usando o original / o que é o original ls . Quando você usa ls no GNU / Linux, você está usando o GNU ls que foi escrito do zero para ser o mesmo que ls . No entanto, nem todos os softwares GNU são exatamente iguais aos seus equivalentes Unix. Agora que o Unix essencialmente se transformou em BSD, as distribuições GNU / Linux também podem conter a versão BSD dessa ferramenta. Por exemplo, bsdtar e tar vêm à mente.

tl: dr: Eles não são exatamente o mesmo código, mas eles são feitos para a maior parte ser exatamente o mesmo.

    
por 15.02.2012 / 10:01
5

Você não especificou de qual UNIX você está falando (BSD, System V ...). Não há uma resposta universal (UNIX). Cada variante do UNIX possui seus próprios comandos personalizados (por exemplo, o Mac OS X), portanto, mesmo entre os UNIXs, há comandos diferentes. Geralmente, os comandos antigos (como ls, pwd, cd, cp, mv, rm ...) tendem a ser os mesmos em todos os tipos de UNIX (incluindo o Linux).

    
por 15.02.2012 / 09:50
4

O que você precisa considerar primeiro é que os comandos são na verdade pequenos programas, nesse sentido não necessariamente uma parte do sistema operacional se você dividir os pêlos. Os antigos e clássicos existem há muito tempo e estão incluídos na maioria dos sistemas * nix. O quão "completo" é o sistema operacional depende do que vem com o pacote.

Como exemplo, a maioria dos CDs de recuperação / emergência que você pode inicializar contém uma pequena distribuição Linux, você descobriria que alguns comandos típicos podem não aparecer nesses sistemas, simplesmente porque eles não seriam necessários na maioria dos casos.

    
por 15.02.2012 / 10:00
3

Em solaris, você só precisa adicionar /usr/gnu/bin ao seu caminho ou trocá-lo com /usr/bin e seus conjuntos de comandos serão muito semelhantes

    
por 15.02.2012 / 16:08

Tags