Respostas:
Você pode usar:
which fluidpoint
para ver de onde está sendo executado (se estiver no seu $ PATH). Ou:
find / -name fluidpoint 2> /dev/null
para procurar um arquivo chamado fluipoint e redirecionar erros em sistemas de arquivos virtuais.
Normalmente eles estão em /sbin
, /usr/sbin
, /usr/local/bin
ou ~
como um diretório oculto.
Do manual:
NAME
which - shows the full path of (shell) commands.
SYNOPSIS
which [options] [--] programname [...]
Manual completo: https://linux.die.net/man/1/which
alias fluidpoint
,
which
(por exemplo, a que foi incorporada ao ZSH) farão isso por você
/opt/*
ou /usr/local/bin
. ~
é o seu diretório pessoal, estou confuso por que você o chama de "oculto".
~/.dir
. O diretório oculto está abaixo do diretório inicial. E eu esqueci completamente do /usr/local/bin
dop.
Se você usar uma distribuição baseada em RPM (CentOS, RHEL, SUSE, openSUSE), poderá usar rpm -ql
Exemplo:
rpm -ql findutils
/bin/find
/usr/bin/find
/usr/bin/xargs
/usr/share/doc/packages/findutils
/usr/share/doc/packages/findutils/AUTHORS
/usr/share/doc/packages/findutils/COPYING
/usr/share/doc/packages/findutils/NEWS
/usr/share/doc/packages/findutils/README
/usr/share/doc/packages/findutils/THANKS
/usr/share/doc/packages/findutils/TODO
/usr/share/info/find.info.gz
/usr/share/man/man1/find.1.gz
As coisas não são instaladas em locais no mundo Linux / UNIX como no mundo Windows (e até um pouco no Mac). Eles são mais distribuídos. Binários estão em /bin
ou /sbin
, bibliotecas estão em /lib
, ícones / gráficos / docs estão em / share, a configuração é em /etc
e dados do programa está em /var
.
A /bin
, /lib
, /sbin
contêm as aplicações principais necessários para a inicialização e o /usr
contém todas as outras aplicações do utilizador e do sistema.
O whereis
comando localiza os arquivos de página binário, de origem e manual de um comando, e type
diz o que exatamente o shell executa quando você executa um determinado comando.
Tente whereis -l fluidplot
no seu caso.
Se ele retornar apenas "fluidplot:", mas nenhum caminho, isso significa que o software não está instalado.
Observe que isso não inclui arquivos que podem estar ocultos na pasta inicial em ~/.local/share/
(no meu caso).
Encontrado no Linux Screw
Apenas para adicionar algum ponto à resposta de @ djsumdog, se você estiver usando dist baseado em DPKG, como o Ubuntu, poderá usar
dpkg --status some_package
para verificar do que se trata e
dpkg --listfiles some_package
para verificar quais arquivos estão incluídos / são relevantes para este pacote. É para pacotes que não têm um binário para executar, como libnss3
. E
dpkg --search some_file
para descobrir qual pacote inclui esse arquivo.
Por exemplo, dpkg --listfiles libnss3
me dá:
/.
/usr
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/libssl3.so
/usr/lib/i386-linux-gnu/nss
/usr/lib/i386-linux-gnu/nss/libsoftokn3.chk
/usr/lib/i386-linux-gnu/nss/libnssckbi.so
/usr/lib/i386-linux-gnu/nss/libnsssysinit.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.chk
/usr/lib/i386-linux-gnu/nss/libnssdbm3.so
/usr/lib/i386-linux-gnu/nss/libsoftokn3.so
/usr/lib/i386-linux-gnu/nss/libfreebl3.so
/usr/lib/i386-linux-gnu/libnssutil3.so
/usr/lib/i386-linux-gnu/libsmime3.so
/usr/lib/i386-linux-gnu/libnss3.so
/usr/share
/usr/share/doc
/usr/share/doc/libnss3
/usr/share/doc/libnss3/copyright
/usr/share/doc/libnss3/changelog.Debian.gz
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/libnss3
Observe que as pastas não pertencem apenas a esses pacotes, mas a outros também. Basta verificar os arquivos.
E, inversamente, dpkg --search libnss3.so
me dá:
firefox: /usr/lib/firefox/libnss3.so
thunderbird: /usr/lib/thunderbird/libnss3.so
libnss3:i386: /usr/lib/i386-linux-gnu/libnss3.so
libnss3-1d:i386: /usr/lib/i386-linux-gnu/libnss3.so.1d
Em vez de usar which
(o que provavelmente não é a escolha certa, a menos que você esteja usando o csh ), você pode command -v fluidplot
fazer com que o shell bote como o shell para lhe dizer o que faria se você pedisse para executar o comando ( fluidplot
neste exemplo) .
Alguns exemplos para mim:
$ command -v ls
alias ls='ls --color=auto'
$ command -v cat
/bin/cat
$ test_func() {
> :
> }
$ command -v test_func
test_func
$ which test_func
/usr/bin/which: no test_func in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)
$ if command -v noSuchFile; then echo "It exists"; else echo "does not exist"; fi
does not exist
então você também pode usá-lo para testar se um comando seria encontrado e tentado executar. Como a maioria de nós usa conchas tipo Bourne (por exemplo, bash ou zsh), isso geralmente é preferível awhich