O que é POSIX? É de comer?
Um termo que ouvi e ainda ouço no mundo Linux é o “POSIX”. Muitas vezes, acabava pesquisando e depois não fazia mais tanto sentido. Para que você entenda como o POSIX pode ser útil, é interessante saber o mínimo da história do Linux (ou melhor, do Unix).
Como o Linux surgiu?
Não vou falar da história real, porque não é o objetivo do post. O que você precisa saber é que houve um sistema base que deu a luz a vários outros. Este sistema era o Unix.
Do Unix, nasceram:
- Linux
- FreeBSD
- Solaris
- MacOS
- HP-UX
E diversos outros. Se você usar qualquer um desses sistemas, vai notar uma grande similaridade na linha de comando, na estrutura de diretórios, nos utilitários disponíveis e diversas outras características. Isso porque todos são baseados no Unix.
O que significa POSIX?
A palavra POSIX significa** Portable Operating System Interface**, que basicamente é um padrão (standard) desenvolvido para manter a compatibilidade entre esses sistemas baseados no Unix. Entretanto, outros sistemas que não são baseados em Unix também podem aderir o POSIX, pois ele é independente do sistema operacional.
Esse padrão define por exemplo:
- Variáveis que devem existir ($PATH, $SHELL…)
- Dispositivos no /dev (/dev/null…)
- Diretórios padrão (FHS)
- Utilitários (cat, find…)
E diversos outros. Isto quer dizer que o comando cat vai funcionar no MacOS e também vai funcionar no FreeBSD, se ele está usando o POSIX como um padrão a ser seguido.
Como o POSIX pode ser útil?
Imagine que você quer desenvolver uma ferramenta para sistemas baseados em Unix, isto é, você não quer que ele funcione somente no Linux, mas sim em todos os sistemas. Logo, você não pode usar ferramentas que não estão descritas no POSIX, pois corre o risco de outro sistema não conter essa ferramenta. Isso faz seu programa ser portável.
Onde encontro mais informações?
- IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008) – Parte central.
- Especificação para Shell Script – Subseção da parte central.
Conclusão
Não veja o POSIX como uma “lei”. Ela é basicamente um consentimento entre diversos programadores do mundo todo, que está disponível e visa a melhor integração das ferramentas em sistemas mistos.
Bom, espero que tenha gostado dessa dica. Se gostou, não esqueça de compartilhar com os colegas em grupos de Linux. Este artigo pode ajudar muitas outras pessoas.
Me siga no Instagram onde eu faço conteúdos da minha rotina diária.
Participe dos nossos grupos no Telegram e Facebook! 🙂
Se tiver alguma dúvida ou sugestão de conteúdo, por favor, comente!