O Bash é bash, então o shell e seus built-ins são os mesmos. Mas esteja ciente de que o comportamento de algumas ferramentas, como "ps" ou "head", pode diferir nos detalhes, portanto, seus scripts podem falhar.
Eu adoro o Ubuntu Linux - especialmente a linha de comando. Mas tenho que admitir que, pelo menos por enquanto, o Windows é mais fácil de usar - há mais softwares para ele, mais drivers e mais coisas simplesmente funcionam.
Sabendo que o Mac é baseado no Unix, me pergunto se é o ponto ideal entre eles. Mas eu me pergunto: quão similar é a linha de comando do Mac para o bash do Linux ? Posso usar o vim e o bash scripting e git, etc? Comandos comuns como alterar diretórios seriam diferentes? Alguém conhece um recurso on-line de "comparação e contraste"?
O Mac OS X é um sistema operacional Unix e sua linha de comando é 99,9% igual a qualquer distribuição Linux. bash
é seu shell padrão e você pode compilar todos os mesmos programas e utilitários. Não há diferença notável. Você também pode encontrar vários projetos como o MacPorts, que fornecem gerenciamento de pacotes para Mac.
É muito semelhante, mas se você souber de qualquer diferença do BSD versus Linux, espere que o Mac tenha o comportamento BSD.
Algumas coisas - isso realmente depende do que você quer dizer com linha de comando.
Você provavelmente executará o bash, que será o mesmo que o bash em qualquer outro UNIX. A linguagem de programação bash também será a mesma - desde que seja a mesma versão. As versões do Bash têm pequenas diferenças na linguagem, mas isso não tem nada a ver com o MacOSX vs. o Linux em si.
bash por si só é um pequeno subconjunto de 'linha de comando'. Para ser útil, você normalmente usa alguns outros utilitários comuns do UNIX, como o awk, o ls ou o cut. Por causa de sua história (descende do BSD, não do Linux ou SystemV), as versões de utilitários do Mac serão diferentes daquelas com as quais você está acostumado no Linux (também nas versões GNU). Eles terão pelo menos algumas diferenças de sinalização e algumas diferenças de saída e funcionalidade que o Linux. Scripts que usam estes terão que ser alterados para compensar. O BSD awk vs o GNU gawk é bem diferente. OU, você pode obter essas versões GNU de macports e definir seu PATH para que esses sejam os padrões (sobre as versões internas).
O MacOS X também tem algumas novas ferramentas interessantes. open
é legal, ele irá abrir o objeto como se você tivesse clicado nele duas vezes. defaults
permite que você defina algumas preferências, algumas nem mesmo nos painéis de preferências da GUI. textutil
pode ser útil e say
pode ser divertido.
A funcionalidade de linha de comando no Mac e no Linux é de fato semelhante, pois o OS X tem um sabor do UNIX (chamado Darwin) sob a GUI que você vê.
O shell padrão no OS X é bash, então se você estiver familiarizado com isso, você se ajustará bem.
Em um Mac, o aplicativo de linha de comando padrão é o Terminal. Há também vários outros emuladores por aí, mas o Terminal fornece uma aparência muito semelhante ao shell que você está acostumado no Linux.
A principal fonte de diferenças são:
du
). Os comandos primários, como cd
ou ls
etc., são semelhantes. Dito isto, há também muitos hacks legais disponíveis na linha de comando do OS X (por exemplo, open
commnand). Há muitos tópicos e postagens de blogs anteriores com mais informações.
Você também pode obter um monte de pacotes opensource (por exemplo, git
, hg
, etc.) via MacPorts, Fink ou alguns outros sistemas de gerenciamento de pacotes para o OS X. Você também pode criar outros pacotes fonte destinado a sistemas semelhantes a UNIX / Linux, conforme necessário.
Aqui está uma diferença. Experimente este comando no shell bash do Mac e do Linux
find /etc -name "*.conf"
O Mac não exibe nada, mesmo que haja muito arquivo .conf dentro de / etc.
Tags command-line bash mac linux macos