O Windows cmd.exenão suporta ls, mountetc., 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, mkdiretc. , 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, zshTodo o uso que a linguagem, com melhorias. cshestá em um mundo próprio (pesadelo) e tcshmelhora 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.)