Os principais conceitos (cachimbos, arquivos, dispositivos, redes) permanecem os mesmos. A sintaxe do shell também se aplica ao Linux - quase todos os sistemas operacionais baseados em Unix usam o mesmo shell Bourne ( sh ) e / ou seus derivados ( bash são especialmente comuns, zsh é provavelmente o segundo).
Os comandos básicos ( ls
, mv
, rm
) permanecem os mesmos, mas suas opções podem ser diferentes. Em particular, a maioria das distribuições Linux vem com ferramentas GNU coreutils , que têm uma gama muito maior de opções do que suas contrapartes BSD e Unix.
Alguns outros comandos foram totalmente substituídos no Linux também (exemplo: embora ferramentas de configuração de rede como ifconfig
e route
ainda existam no Linux, elas são consideradas obsoletas em favor de ip
).
É quando você vai fundo na configuração do sistema que você começa a ver grandes diferenças. Por exemplo, autenticação (PAM, Autenticação BSD, /etc/shadow
) e bancos de dados do usuário (NIS, nsswitch ); processo de inicialização (SysV init vs BSD init vs systemd vs Upstart ); nomeação de dispositivo ( eth0
vs tlp0
vs en0
, MAKEDEV vs udev ).
Um tópico importante é a instalação de software: geralmente, as distribuições Linux fornecem uma série de pacotes pré-compilados, juntamente com uma ferramenta de "gerenciador de pacotes" que os baixa e instala. Baixar e compilar manualmente a partir do código-fonte ( ./configure && make
) é relativamente incomum.