No Windows, a maioria dos aplicativos e dados de aplicativos são armazenados em um diretório especial conhecido como C:\Program Files
(e ocasionalmente C:\Program Files (x86)
). Qual é o Ubuntu / Linux equivalente a esse caminho? Existe um?
No Windows, a maioria dos aplicativos e dados de aplicativos são armazenados em um diretório especial conhecido como C:\Program Files
(e ocasionalmente C:\Program Files (x86)
). Qual é o Ubuntu / Linux equivalente a esse caminho? Existe um?
Respostas:
/bin
e /usr/bin
é onde estão os scripts que iniciam os programas. O equivalente direto a "Arquivos de Programas" é provavelmente /usr/share
( consulte Padrão de Hierarquia do Sistema de Arquivos ). Esse diretório contém os vários arquivos de suporte para a maioria dos programas.
Provavelmente, no entanto, não há um equivalente direto, pois, por exemplo, os arquivos da biblioteca são compartilhados pelo sistema (in /lib
) e as opções são especificadas pelo usuário (no diretório inicial do usuário) ou localizadas universalmente /etc
.
Portanto, a instalação de um programa por meio de um arquivo deb, repositório ou compilação provavelmente colocará arquivos em todos esses locais.
[EDIT] E como outros observam, há também /sbin
e /usr/sbin
. Além disso /usr/local/bin
, /opt/bin
e até /usr/games/
. Então definitivamente não é uma comparação direta com c:\program files
!
/opt
? Já vi muitos programas (geralmente de código fechado ou baseados em aplicativos) antes, de maneira semelhante a Program Files
.
/usr/local/bin
é um local semi-comum para software que pode não ser comumente usado por um usuário / empresa.
Resposta tardia - criei um roteiro para os iniciantes seguirem. Se eles estiverem procurando por um arquivo, mas não souberem onde procurar, poderão usar o mapa para navegar mais ou menos. Você pode baixar um PNG de alta resolução aqui . Você pode encontrar o post relacionado aqui . Continuarei atualizando o arquivo e a publicação quando o tempo permitir, incorporando comentários úteis.
Leia minha resposta abaixo para obter mais informações sobre o que é a PATH
variável de ambiente, quais .desktop
arquivos são e como encontrar um programa específico usando vários comandos linux.
Resposta original:
/bin
,, /usr/bin
e/usr/share
Conforme mencionado nas outras respostas, você pode encontrar a maioria dos executáveis em /bin
ou /usr/bin
, e os arquivos de suporte estão instalados no /usr/share
.
/usr/local
e /opt
No entanto, existem mais diretórios nos quais o Ubuntu instala aplicativos. A PATH
variável, que determina onde procurar um comando digitado, pode fornecer uma pista, a minha se parece ( echo $PATH
em um terminal):
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Como você pode ver, alguns softwares estão instalados /usr/local
e têm seu próprio diretório e bin
. Outro lugar onde muitos programas estão instalados é /opt
. As propriedades desses locais são explicadas pelo Padrão de Hierarquia do Sistema de Arquivos , que é uma leitura muito boa. Infelizmente, a diferença entre /opt
e /usr/local
não está muito bem explicada, alguém no unix stackexchange teve uma explicação mais elaborada:
/usr/local
é um local para instalar arquivos criados pelo administrador, geralmente usando o comando make. A idéia é evitar conflitos com arquivos que fazem parte dos sistemas operacionais que seriam substituídos ou sobrescritos pelos locais de outra forma. por exemplo. /usr/bin/foo
faz parte do sistema operacional e /usr/local/bin/foo
é uma alternativa local,/opt
é um diretório para instalar pacotes desmembrados, cada um em seu próprio subdiretório. Eles já são pacotes completos construídos, fornecidos por um distribuidor independente de software de terceiros. Por exemplo, someapp
seria instalado em /opt/someapp
, um de seus comandos estaria em /opt/someapp/bin/foo
[e, geralmente, um link simbólico é feito em um dos bin
diretórios do diretório PATH
, ou o programa é chamado a partir de um arquivo da área de trabalho (veja abaixo)]..desktop
arquivosPara descobrir onde um programa específico está instalado, você pode executar várias etapas. Primeiro você precisa localizar o .desktop
arquivo. Os arquivos da área de trabalho são semelhantes aos atalhos do Windows e para os aplicativos do sistema em que estão localizados /usr/share/applications
. Os arquivos da área de trabalho para aplicativos disponíveis apenas para o usuário atual estão ~/.local/share/applications
. Tomemos, por exemplo, o Google Chrome, que possui o arquivo da área de trabalho /usr/share/applications/google-chrome.desktop
e procure a linha que começa com Exec=
, isso determina como iniciar o Google Chrome. Diz:
Exec=/opt/google/chrome/google-chrome
Então você sabe Google Chrome está em /opt
.
Agora para o Mozilla Firefox, que está localizado em /usr/share/applications/firefox.desktop
. Simplesmente diz
Exec=firefox %u
No começo, isso não parece ajudar muito, mas você percebe que firefox
deve estar em um diretório que esteja na PATH
variável (provavelmente a bin
), e podemos procurá-lo (veja abaixo).
Para procurar comandos que você pode usar um ou mais dos seguintes: type
, which
e whereis
(eu incluí um link para suas páginas de manual on-line).
tipo : descreve um comando e indica como seria interpretado se usado como um nome de comando. Os tipos possíveis para um comando são:
(o próprio tipo é um shell embutido, tente com type type
: P)
Executar type firefox
nos dá
firefox is /usr/bin/firefox
que é o que queríamos saber
Se um comando for um arquivo (que você verificou type
), também poderá usar:
qual : mostra o caminho completo do comando,
Executar which firefox
nos dá
/usr/bin/firefox
whereis : localize os arquivos de página binário, de origem e manual de um comando.
Executar whereis firefox
nos dá
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
Bônus
Você pode inspecionar /usr/bin/firefox
mais de perto ls -l /usr/bin/firefox
e isso fornece:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
Parece que /usr/bin/firefox
é 'apenas' um link simbólico para o script /usr/lib/firefox/firefox.sh
. Se você inspecionar o script, descobrirá que o script chama /usr/lib/firefox/firefox
.
Você pode descansar em paz agora :)
Não existe um diretório único equivalente exatamente à pasta Arquivos de Programas . A maneira como o Linux organiza as coisas é muito diferente do Windows.
No Windows, todo programa que instalamos recebe seu próprio diretório dentro do diretório Arquivos de Programas. Nesse diretório, outros subdiretórios são criados para diferentes tipos de arquivos. Não há estrutura fixa para subdiretórios. Os programas decidem por si mesmos como querem chamar cada diretório e onde querem colocar o quê.
Mas no Linux, quando um programa é instalado, diferentes tipos de arquivos são copiados para diferentes locais. Os executáveis são copiados para / usr / bin , arquivos de biblioteca para / usr / lib , documentação para um ou mais de / usr / man , / usr / info e / usr / doc . Se houver arquivos de configuração, eles são geralmente no diretório home do usuário ou em / etc .
A C:\Program Files
pasta estaria /usr/bin
no Ubuntu. /bin
parece mais C:\windows
.
Na página de manual da hierarquia do sistema de arquivos :
/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.
/usr/bin
This is the primary directory for executable programs. Most
programs executed by normal users which are not needed for
booting or for repairing the system and which are not installed
locally should be placed in this directory.
O Ubuntu tem uma estrutura diferente do Windows. O Ubuntu coloca quase todos os aplicativos em um diretório, digamos /usr/bin
. O Windows criaria uma nova pasta, por exemplo Mozilla Firefox
, e acrescentaria nela configurações, executáveis, DLLs, imagens etc. O Ubuntu os divide, os executáveis entram /usr/bin
, a configuração em todo o sistema /etc
, os objetos compartilhados /usr/lib
, as imagens /usr/share
, ...
Os 'Arquivos de Programas' do Linux estão em toda a hierarquia. Poderia ser em /usr/bin
, /bin
, /opt/...
, ou em outros diretórios.
Acho que você encontrará algum arquivo relacionado ao seu aplicativo. Então, eu tenho uma idéia de como procurar arquivos que estão instalados na instalação do programa.
synaptic
emitindo sudo apt-get install synaptic
no terminal.Properties
.Installed File
guia. O resultado é o mesmo que dpkg -L package_name
.Isso ocorre porque o linux move o arquivo instalado para os diretórios separadamente, com base em seu tipo.
/usr/bin
ou /bin
./usr/share/icons
ou desativado ~/.local/share/icons
para local./opt
./usr/share/applications
ou desativado~/.local/share/applications
/usr/share/doc
/usr/lib
E muitos outros diretórios. (CMIIW, aceitando correção)
Nesta resposta, quando digo Unix, quero dizer Unix, assim como sistemas operacionais Unix-like.
O Ubuntu realmente não tem uma pasta de programas contendo todos os dados para cada programa. Nos sistemas operacionais Unix e Unix-like, TUDO é um arquivo, mesmo os comandos do terminal. Eles são arquivos também. A maneira como o Unix lida com programas pode ser bastante caótica e organizada ao mesmo tempo.
Os ícones dos programas são armazenados em / usr / share / icons / *, os executáveis do programa geralmente são armazenados em / usr / bin, / bin e outros locais com diretórios bin (bin é obv, abreviação de binário). As bibliotecas das quais os programas dependem estão em / lib.
Portanto, você acaba não com um diretório que contém todos os dados de um programa, mas os dados do programa se espalham. Embora a princípio isso pareça muito desorganizado, ele permite o compartilhamento de itens padrão, como bibliotecas e ícones.
Graças às permissões para cada arquivo, a idéia de tudo ser um arquivo é muito brilhante para ser honesto. Isso torna o Unix MUITO mais seguro que outros sistemas operacionais.
A maneira como os programas Linux e Windows são instalados é bem diferente.
O padrão comum no Windows é para um programa; ou vários programas, de um fornecedor, entre em seu próprio subdiretório em C: \ programs \ vendor ou algo semelhante.
No Linux, seus arquivos são divididos entre subdiretórios específicos, dependendo de sua função. Existem diretórios para bibliotecas, ícones, páginas de manual, arquivos de log, configuração e assim por diante. Você pode usar alguns deles, mas o sistema irá gerenciar todos eles. Eles não são acoplados, mas existem junto com arquivos semelhantes de outros programas.
Portanto, não há um equivalente real à estrutura de diretórios do Windows em uma implementação regular do Linux.