Unix tem um complexo histórico . Com o tempo, as muitas variantes acumularam muitos comandos e opções diferentes.
Existe um padrão que a maioria dos sistemas do tipo Unix, ou melhor, uma hierarquia de padrões: POSIX , e POSIX + XSI (anteriormente conhecido como Single Unix - Unix único é agora POSIX com as partes XSI marcadas como opcionais). Você pode contar com qualquer coisa do tipo Unix e não antiga ou incorporada implementando o POSIX-2004, conhecido como Single Unix v3, também conhecido como Open Group Base Specification, Edição 6 ; A versão mais recente (POSIX-2008 = SUSv4 = Problema 7) não é totalmente suportada em qualquer lugar até hoje.
Se você estiver interessado apenas no OSX (e no FreeBSD, que é de onde a maioria dos utilitários OSX são) e no Linux não embarcado, você pode contar com mais comandos e opções: ambos têm mais recursos que a média. Você precisa verificar o manual para ver o que ambos os sistemas operacionais suportam.
Sistemas Linux não embarcados (e alguns sistemas Linux embarcados de ponta), assim como o Cygwin, vêm com GNU utilitários. Os utilitários GNU geralmente têm muitos recursos mais convenientes do que o restante da concorrência.
O comando stat
é um exemplo onde o POSIX não diz nada, o OSX tem uma certa sintaxe e o GNU tem funcionalidade semelhante, mas com uma sintaxe diferente.
Você pode instalar utilitários GNU na maioria das variantes Unix. Para o OSX, consulte link .
Se manter o núcleo comum ou instalar as mesmas versões em todos os lugares é uma decisão pessoal. Se você tiver controle sobre todas as máquinas que você usa, apenas certifique-se de que todas elas tenham todos os utilitários desejados. Se você escreve um código que roda em máquinas onde nem sempre consegue instalar tudo o que deseja, então você precisa se ater ao material portátil.