Preciso de uma distribuição Linux para aprender a linha de comando ou o OS X seria suficiente?

12

Eu vou aprender como usar a linha de comando. Especificamente, usarei o livro: "A linha de comando do Linux: uma introdução completa" . Agora, eu tenho que usar uma distro Linux para percorrer o livro, ou o OS X seria suficiente?

Se eu precisar de uma distribuição Linux, então usá-la por meio de uma VM seria suficiente ou eu precisaria instalá-la nativamente?

    
por Utku 02.10.2015 / 19:29

5 respostas

33

Eu recomendo executar o Linux em uma VM. Todo o software está disponível gratuitamente para download e não há diferença prática entre rodar em uma VM e rodar nativamente com o propósito de aprender a linha de comando.

Além disso, a linha de comando do Linux consiste principalmente em bash + GNU coreutils , que é muito diferente do BSD Unix (e o OS X é um sucessor do BSD Unix). Existe uma grande diferença de preferências na escrita de argumentos no BSD Unix e no GNU Linux. Você pode morder a si mesmo, mesmo que não seja novato, com opções diferentes para utilitários padrão, como ps e tar , se você trabalhar em ambos os sistemas.

Usar o OS X quando seu livro for específico do Linux gerará regularmente inconsistências e diferenças que parecerão superficiais quando você estiver mais experiente, mas será simplesmente confuso quando estiver aprendendo. Mantenha as coisas fáceis para você.

Isso também permitirá que você experimente sem a preocupação de interromper sua máquina, excluindo ou alterando arquivos importantes.

E por último, embora certamente não menos importante, ele permitirá que você configure uma conexão SSH com sua VM a partir do seu Terminal OS X, para que você possa se acostumar a usar chaves SSH e à ideia de que não faz diferença se seu servidor Linux é uma máquina nativa, uma VM local ou está se esgotando na AWS ou na Digital Ocean: tudo funciona da mesma maneira!

    
por 02.10.2015 / 20:33
18

O OS X é suficiente para aprender a linha de comando, pois é um UNIX certificado e está em conformidade com o POSIX. Se você está olhando para o livro de linha de comando específico do Linux, você deve ter em mente que as ferramentas userland no OS X são derivadas do BSD enquanto as ferramentas no Linux são GNU e existem algumas diferenças sutis (e não tão sutis) entre elas.

Se você quer aprender com as ferramentas GNU, você pode instalar uma área de usuário GNU através de macports ou homebrew, ou pode fazer uma instalação completa do Linux em uma VM.

    
por 02.10.2015 / 19:37
9

Algumas boas respostas até agora, mas mais uma razão para ficar longe das ferramentas de linha de comando padrão do OS X, são versões muito antigas. Por exemplo, grep do OS X é de 2004 e bash é de 2007! A razão é que a Apple se recusa a ferramentas de navio licenciadas sob a GPL3.

Se você não quisesse instalar o Linux propriamente dito, você poderia instalar manualmente as versões mais recentes (talvez através de algum sistema de portas como o MacPorts, Fink ou Homebrew).

    
por 03.10.2015 / 02:42
3

Primeira diferença:

ls * -lah

Funciona no linux, falha no mac (os parâmetros devem vir primeiro). Use uma VM ou pegue um livro para o Mac OS. Você deve aprender o que você usará mais tarde e depois as diferenças.

    
por 02.10.2015 / 23:39
3

A melhor maneira de aprender unix é ter um trabalho real a ver com isso. Eu diria que vale a pena encontrar as diferenças entre os exemplos específicos do Linux em seu livro e as versões Mac das ferramentas padrão, apenas para poder trabalhar com seus próprios arquivos e dados em seu ambiente de trabalho normal (OS X). / p>

Encontrar as diferenças também será uma valiosa experiência de aprendizado, mesmo que seja frustrante às vezes.

Também é útil ter uma VM Linux para praticar (especialmente para comandos potencialmente perigosos), mas nada supera o uso do mundo real para o aprendizado.

    
por 03.10.2015 / 02:32