Я хотел бы знать, где я могу найти расположение программных файлов программ, установленных из Ubuntu Software Center.
Для установленных программ общесистемная команда whereis
помогает
whereis vim
Но мне нравится использовать команду which
.
, например. which vim
показывает расположение vim, которое будет использоваться, если вы попытались запустить команду vim на терминале. Также команда whereis
не будет показывать расположение команды, если она находится в вашем домашнем каталоге. Например. если в вашем каталоге ~/bin
есть команда pqr
, где не будет показано местоположение pqr
. which pqr
показывает его местоположение тоже.
Если вы установили псевдонимы для команд, например, если ваш терминал, например, понимает ярлык c
для команды clear
, вы можете получить исходную команду, набрав команду:
type c
Будет выведено:
c имеет псевдоним для очистки
blockquote>
В терминале попробуйте использовать , где
whereis <name of the program>
Это даст местоположение пути программы.
Например,
whereis apt
apt: /etc/apt /usr/lib/apt /usr/share/apt /usr/share/man/man8/apt.8.gz
. За исключением Windows, в системах Linux приложение (как правило, за редким исключением) не пытались установить в «одно место» (нет такой вещи, как C:\Program Files\AppName
, содержащая почти все файлы приложений).
Вместо этого есть специальные места для размещения исполняемых файлов (то, что вы называете из командной строки или через меню вашего графического интерфейса), другое для библиотек, используемых приложениями (поэтому несколько приложений могут совместно использовать одну и ту же библиотеку и автоматически получать прибыль от его обновления), файлы конфигурации, документация и т. д.
Как уже указывалось, вы можете использовать команду which
, чтобы сообщить вам об используемом исполняемом файле, и есть команда whereis
. Третья полезная команда - это locate
, которая перечисляет все файлы в системе, имеющие указанную строку в их /path/to/filename
, плюс мощную команду find
.
Вы можете получить больше информации о каждом из них, читая их справочные страницы - например, man find
скажет вам, как использовать команду find
.
В общем случае вам не нужно знать , чтобы знать местоположение программ, потому что если вам нужно запустить их из командной строки, они все равно будут на вашем пути, и если вы их запустите из графического интерфейса или из другого приложения они будут настроены там с помощью сценария установки.
Но если вам интересно, большинство исполняемых файлов будут помещены в /usr/bin
(или, по крайней мере, символическая ссылка оттуда будет существовать на исполняемый файл.)
Существуют исключения. Вместо этого будут некоторые системные, доступные из /bin
, а некоторые системные предназначены только для суперпользовательского доступа (т.е. для использования с sudo) в /sbin
.
Команда which
может использоваться, чтобы точно определить, где находится приложение (если вы запустите его, введя его имя в командной строке). Вы используете его как which <command>
, где команда заменяется командой, которую вы вводите. Например:
which apt-get
Сообщает вам: /usr/bin/apt-get
. Как я уже говорил выше, большинство исполняемых файлов помещаются в /usr/bin
;)
Если вы введете следующее
ls /usr/bin -l
, тогда он покажет вам все файлы в /usr/bin
. Затем вы заметите, что некоторые из них на самом деле являются символическими ссылками на другие места.
Теперь /usr/bin
будет содержать только исполняемый файл. Все его файлы поддержки будут находиться в разных местах (обычно в пределах /usr
). Например, необходимые ей библиотечные файлы будут в /usr/lib
, а неисполняемые файлы данных - в /usr/share
. Он также может хранить информацию о конфигурации или состоянии в /var/lib
или в домашних каталогах пользователей.