Na verdade, ele tende a ser consistente. O padrão é a especificação FHS e, embora seja reconhecidamente nem sempre seguido, a maioria é:
-
/bin
: binários de comando do usuário essenciais (para uso por todos os usuários) -
/boot
: arquivos estáticos do gerenciador de inicialização -
/dev
: arquivos do dispositivo -
/etc
: configuração do sistema específica do host -
/home
: diretórios iniciais do usuário (opcional) -
/lib
: bibliotecas compartilhadas e módulos de kernel essenciais -
/media
: ponto de montagem para mídia removível -
/mnt
: ponto de montagem para um sistema de arquivos montado temporariamente -
/opt
: Pacotes de software de aplicativos adicionais -
/root
: diretório inicial para o usuário root (opcional) -
/sbin
: binários do sistema -
/srv
: Dados para serviços fornecidos por este sistema -
/tmp
: arquivos temporários
Então, você também tem
/usr/local
: The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr.
A abordagem é apenas diferente é tudo. Enquanto o Windows armazena arquivos por fonte (todos os arquivos instalados por um programa são colocados na mesma pasta), os sistemas * nix são instalados por tipo . Assim, a página de manual estará em /usr/man
ou /usr/local/man
, os executáveis ( .exe
no Windows) em /usr/bin
ou /usr/local/bin
, as bibliotecas ( .dll
em WIndows) em /usr/lib
ou /usr/local/lib
etc.
O bom é que você não se importa, tudo isso é controlado pelo gerenciador de pacotes ( dpkg
em sistemas baseados no Debian como o Ubuntu). Então, para ver onde um determinado pacote instalou seus arquivos, você pode usar este comando (usando o pacote xterm
como exemplo):
$ dpkg-query -L xterm
/usr
/usr/share
/usr/share/menu
/usr/share/menu/xterm
/usr/share/doc-base
/usr/share/doc-base/xterm-faq
/usr/share/doc-base/xterm-ctlseqs
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/scalable
/usr/share/icons/hicolor/scalable/apps
/usr/share/icons/hicolor/scalable/apps/xterm-color.svg
/usr/share/icons/hicolor/48x48
/usr/share/icons/hicolor/48x48/apps
/usr/share/icons/hicolor/48x48/apps/xterm-color.png
/usr/share/applications
/usr/share/applications/debian-xterm.desktop
/usr/share/applications/debian-uxterm.desktop
/usr/share/pixmaps
/usr/share/pixmaps/filled-xterm_32x32.xpm
/usr/share/pixmaps/mini.xterm_32x32.xpm
/usr/share/pixmaps/xterm-color_32x32.xpm
/usr/share/pixmaps/xterm_32x32.xpm
/usr/share/pixmaps/filled-xterm_48x48.xpm
/usr/share/pixmaps/mini.xterm_48x48.xpm
/usr/share/pixmaps/xterm-color_48x48.xpm
/usr/share/pixmaps/xterm_48x48.xpm
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/xterm.1.gz
/usr/share/man/man1/uxterm.1.gz
/usr/share/man/man1/resize.1.gz
/usr/share/man/man1/lxterm.1.gz
/usr/share/man/man1/koi8rxterm.1.gz
/usr/share/doc
/usr/share/doc/xterm
/usr/share/doc/xterm/xterm.terminfo.gz
/usr/share/doc/xterm/xterm.termcap.gz
/usr/share/doc/xterm/README.i18n.gz
/usr/share/doc/xterm/ctlseqs.ms.gz
/usr/share/doc/xterm/ctlseqs.txt.gz
/usr/share/doc/xterm/xterm.faq.gz
/usr/share/doc/xterm/changelog.Debian.gz
/usr/share/doc/xterm/NEWS.Debian.gz
/usr/share/doc/xterm/copyright
/usr/share/doc/xterm/README.Debian
/usr/share/doc/xterm/xterm.faq.html
/usr/share/doc/xterm/xterm.log.html
/usr/bin
/usr/bin/resize
/usr/bin/xterm
/usr/bin/uxterm
/usr/bin/lxterm
/usr/bin/koi8rxterm
/etc
/etc/X11
/etc/X11/app-defaults
/etc/X11/app-defaults/XTerm-color
/etc/X11/app-defaults/XTerm
/etc/X11/app-defaults/UXTerm-color
/etc/X11/app-defaults/UXTerm
/etc/X11/app-defaults/KOI8RXTerm-color
/etc/X11/app-defaults/KOI8RXTerm
Assim, embora seja fácil ver onde tudo está instalado, você raramente precisa fazê-lo. Para remover um pacote, basta usar o apt:
sudo apt-get remove xterm
Você pode seguramente deixar o sistema se preocupar com onde tudo está instalado, ao contrário do Windows, você não precisa ter um deinstaller específico para remover cada programa, tudo é gerenciado centralmente pelo gerenciador de pacotes e é na verdade muito mais transparente para o usuário.