Как получить местоположение программы в Ubuntu? Например, я имею Oracle
, как получить папку Расин (местоположение) Oracle
?
Можно также использовать whereis
. Это покажет путь к двоичному файлу, но также и некоторым связанным файлам как документация:
whereis program
Bash и Тире имеют command
встроенная команда, которая может показать Вам местоположение команды с эти -v
переключатель, если команда относится к исполняемому файлу. Для встроенных команд и псевдонимов результат отличается. Примеры:
$ command -v java
/usr/bin/java
$ echo $?
0
$ command -v echo
echo
$ command -v ls
alias ls='ls -h --color=auto'
$ command -v non-existing_command; echo $?
1
Кроме того, все оболочки, полученные из Sh, знайте эти type
команда, которая говорит Вам о природе любой команды.
$ type java
java is /usr/bin/java
$ type ls
ls is aliased to `ls -h --color=auto'
$ type echo
echo is a shell builtin
$ type non-existing_command
bash: type: non-existing_command: not found
, Если Ваша оболочка (например, Bash) поддерживает его, type -a
списки все, к чему может относиться команда:
$ type -a ls
ls is aliased to `ls -h --color=auto'
ls is /bin/ls
$ type -a echo
echo is a shell builtin
echo is /bin/echo
$ type -a touch
touch is /usr/bin/touch
touch is /bin/touch
Можно использовать which
для определения, какой двоичный файл выполняется.
which ssh
which Oracle
Они - примеры и возвратили бы полный путь для двоичных файлов.
Вы могли также использовать whereis
для определения местоположения дополнительной информации, но она может смутить Вас в этой ситуации.
Как David Foerster уже упомянул, можно использовать type -a
который покажет все местоположения, данный исполняемый файл может быть найден в активном $PATH
:
$ type -a now
now is /home/rick/bin/now
now is /mnt/e/bin/now
type -a
также определит, является ли команда встроенной оболочкой. Например:
$ type -a test
test is a shell builtin
test is /usr/bin/test
type -a
также определит, является ли команда ключевым словом оболочки. Например:
$ type -a if
if is a shell keyword
type a
программы списков, команды, окружают созданный-ins и окружают ключевые слова в порядке hierarchal, которым что их назвали бы в зависимости от $PATH
переменная среды. Путем изменения PATH=
к другому порядку это изменяется, какую версию программы называют. Это удобно, когда у Вас есть производство, разработка и версии тестовой программы на той же машине.
Что, если программа не находится в Вашем пути? Самый быстрый способ найти его с locate
команда:
$ locate .bashrc
/etc/bash.bashrc
/etc/skel/.bashrc
/home/rick/.bashrc
/home/rick/.bashrc~
/mnt/e/.bashrc
/mnt/e/Temporary Work/.bashrc
/usr/share/base-files/dot.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
Я отчасти обманул здесь потому что .bashrc
не реальный исполняемый файл, это - "исходный" файл для включения в сценарий удара, который является исполняемым файлом. Однако это служит для иллюстрирования соответственно.