Vindo do mundo Windows, achei a maioria dos nomes de diretório de pastas bastante intuitivos:
\Program Filescontém arquivos usados por programas (surpresa!)\Program Files (x86)contém arquivos usados por programas de 32 bits em sistemas operacionais de 64 bits\Users(anteriormenteDocuments and Settings) contém os arquivos dos usuários, como documentos e configurações\Users\USER\Application Datacontém dados específicos do aplicativo\Users\USER\Documentscontém documentos pertencentes ao usuário
\Windowscontém arquivos que pertencem à operação do próprio Windows\Windows\Fontsarmazena arquivos de fonte (surpresa!)\Windows\Tempé um diretório temporário global
et cetera. Mesmo se eu não tivesse idéia do que essas pastas faziam, eu poderia adivinhar com boa precisão seus nomes.
Agora, estou dando uma boa olhada no Linux e ficando bastante confuso sobre como encontrar o meu caminho no sistema de arquivos.
Por exemplo:
/bincontém binários. Mas assim como/sbin,/usr/bin,/usr/sbin, e provavelmente mais que eu não sei sobre. Qual e qual?? Qual a diferença entre eles? Se eu quiser criar um binário e colocá-lo em algum lugar do sistema, onde eu o coloco?/mediacontém sistemas de arquivos de mídia externos. Mas o mesmo acontece/mnt. E nenhum deles contém nada no meu sistema no momento; tudo parece estar em/dev. Qual é a diferença? Onde estão as outras partições no meu disco rígido, como oC:eD:que estavam no Windows?/homecontém os arquivos e configurações do usuário. Isso é intuitivo, mas, então, o que é suposto entrar/usr? E por que/rootainda está separado, mesmo que seja um usuário com arquivos e configurações?/libcontém bibliotecas compartilhadas, como DLLs. Mas o mesmo acontece/usr/lib. Qual é a diferença?O que é
/etc? Realmente significa "et cetera", ou algo mais? Que tipos de arquivos devem aparecer lá - global ou local? É uma coisa fácil para as coisas que ninguém sabia onde colocar, ou existe um caso de uso específico para isso?Quais são
/opt,/proce/var? O que eles representam e para que são usados? Não vi nada parecido no Windows * e simplesmente não consigo descobrir para que servem.
Se alguém puder pensar em outros lugares padrão que possam ser bons para conhecer, fique à vontade para adicioná-lo à pergunta; espero que isso possa ser uma boa referência para pessoas como eu, que estão começando a se familiarizar com os sistemas * nix.
* OK, isso é mentira. Eu já vi coisas semelhantes no WinObj, mas obviamente não regularmente. Ainda não sei o que eles fazem no Linux.
C:\Program Files, C:\ProgramData, %HOME%\AppData\Local, %HOME%\AppData\LocalLow, C:\Windows\SystemApps... Todos os exemplos onde se pode encontrar executáveis no Windows. E nem vou falar sobre arquivos de configuração e registro, não quero ficar ainda mais deprimido. PS: Eu trabalho principalmente no Windows.