Eu amo 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 software para isso, mais drivers e mais coisas simplesmente funcionam.
Saber que o Mac é baseado no Unix me faz pensar se é o ponto ideal entre eles. Mas eu me pergunto: qual a similaridade da linha de comando do Mac com a festança do Linux ? Eu poderia começar usando vim e 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"?
Respostas:
Bash é bash, portanto, o shell e seus built-ins são os mesmos. Mas esteja ciente de que o comportamento de algumas ferramentas como
ps
ouhead
pode diferir nos detalhes, portanto, seus scripts podem falhar.fonte
file
:file -i
no linux enquanto estiverfile -I
no osx Anthony️O Mac OS X é um sistema operacional Unix e sua linha de comando é 99,9% igual a qualquer distribuição Linux.
bash
é o 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 o Mac.fonte
É muito semelhante, mas se você souber de alguma diferença entre o BSD e o Linux, espere que o Mac tenha o comportamento do BSD.
fonte
Algumas coisas - realmente depende do que você quer dizer com linha de comando.
Você pode realmente se deparar com isso - / bin / bash em um Mac está fixado em 3.x por motivos de licenciamento. Você pode encontrar pequenos problemas de compatibilidade se estiver acostumado a 4 ou até 5.
o bash por si só é um pequeno subconjunto de 'linha de comando'. Para ser útil, você normalmente usa outros utilitários UNIX comuns, como awk, ls ou cut. Devido à sua história (descendente do BSD, não do Linux ou SystemV), as versões dos utilitários para Mac serão diferentes daquelas com as quais você está acostumado no Linux (também conhecido como versões GNU). Eles terão pelo menos algumas diferenças de sinalizador e algumas diferenças de saída e funcionalidade que o Linux. Os scripts que os usam terão que ser alterados para compensar. BSD awk vs GNU gawk é bem diferente. OU, você pode obter essas versões GNU de macports ou home brew e definir seu PATH para que esses sejam os padrões (acima das versões incorporadas).
O MacOS X também possui algumas novas ferramentas interessantes.
open
é bom, ele abrirá o objeto como se você tivesse clicado duas vezes nele.defaults
permite definir algumas preferências, outras nem nos painéis de preferências da GUI.textutil
pode ser útil esay
divertido.fonte
A funcionalidade da linha de comando no Mac e Linux é de fato semelhante, já que o OS X possui uma espécie de UNIX (chamado Darwin) sob a GUI que você vê.
O shell padrão no OS X é o bash, portanto, se você estiver familiarizado com isso, irá ajustar-se perfeitamente.
Em um Mac, o aplicativo de linha de comando padrão é Terminal. Também existem vários outros emuladores por aí, mas, em geral, o Terminal oferece uma aparência muito semelhante ao shell com o qual você está acostumado no Linux.
A principal fonte de diferenças, porém, são:
du
por exemplo, veja, por exemplo). Os comandos principais comocd
ouls
etc. são semelhantes.Dito isto, também existem muitos hacks interessantes disponíveis na linha de comando no OS X (por exemplo,
open
commnand). Existem muitos tópicos anteriores e posts no blog com mais informações.Você também pode chegar em suas mãos um monte de pacotes de código aberto (ou seja
git
,hg
, etc.) via MacPorts, alguns outros sistemas de gerenciamento de pacotes para OS X. Você Fink ou também pode construir outros pacotes fonte destinado para UNIX / Linux como sistemas como necessário .fonte
Aqui está uma diferença. Experimente este comando no shell bash para Mac e Linux
O Mac não exibe nada, mesmo que haja muitos arquivos .conf dentro do / etc.
fonte
find /etc/* -name "*.conf"
. No entanto, isso foi fornecido como exemplo para contrastar a linha de comando MAC com a linha de comando LINUX. Não é possível justificar um voto negativo.find /etc/ -name "*.conf"
, indica / etc é um diretório em vez de um arquivo. Porfind
padrão, no Linux, os links simbólicos para os diretórios são tratados como diretórios?