O Windows cmd.exe
não suporta ls
, mount
etc., a menos que você os tenha instalado e os tenha adicionado ao %PATH%
(via Cygwin, MinGW, Subsistema para aplicativos baseados em Unix (SUA) ou algo mais). Powershell faz. E isso ocorre porque o Powershell os tem como alias dos comandos padrão do Powershell, para que os usuários do Unix possam se sentir mais confortáveis. Veja a lista de aliases de compatibilidade no Powershell . O Windows tem rmdir
, mkdir
etc. , mas esses, é claro, não suportam a mesma sintaxe de opção que você encontraria no Ubuntu.
No Ubuntu, isso não tem nada a ver com o Bash. Todos são comandos externos. Existem padrões para esses utilitários. O POSIX é o mais notável (veja a lista de utilitários obrigatórios pelo POSIX ) e o Linux Standard Base (LSB) é outro importante para os sistemas Linux (que é principalmente baseado no POSIX, mas tem algumas adições ). Os do Ubuntu são fornecidos principalmente pelo GNU , e os utilitários do GNU geralmente têm mais recursos do que a base exigida pelo POSIX.
O POSIX também define a linguagem do shell que você mencionou (que é substancialmente diferente da linguagemcmd.exe
). É derivado da sintaxe do shell Bourne . O Bash (agora você sabe a que o Bourne se refere novamente ), também do GNU, também adiciona recursos no topo, mas pode se comportar de maneira compatível com POSIX, quando necessário. A linguagem POSIX é o que você esperaria obter sh
. bash
, ksh
, ash
, dash
, zsh
Todo o uso que a linguagem, com melhorias. csh
está em um mundo próprio (pesadelo) e tcsh
melhora csh
.
Para entender um pouco mais, veja a história dos sistemas Unix e similares . O Unix pré-data o Windows em mais de uma década, e esses utilitários apareceram pela primeira vez no Unix.
O Windows era, ao mesmo tempo, compatível com POSIX, já que o governo dos EUA exigia isso para sistemas operacionais usados por agências governamentais (foi quando eles adicionaram os Serviços para Unix (SFU) , dos quais veio o SUA mencionado no primeiro parágrafo). Mas esse requisito foi descartado e, posteriormente, o SUA foi descartado.
Palavras-chave:
(Observe a parte comum desses posts - todos eles estão no Unix e Linux e histórico de tags - você pode achar que navegar nessa tag é muito informativo.)