Как найти расположение программы?
Подскажите, пожалуйста, как найти путь к утилите exp?
Это оракловская утилита для экспорта.
Получаю сообщения permission denied.
which exp ничего не выводит
/sbin, /usr/sbin, /usr/local/bin
Как найти? CentosOS 6.5
Спасибо, я написал так
whereis exp exp: /usr/share/man/man3p/exp.3p.gz /usr/share/man/man3/exp.3.gz
Путь должен быть связан с oracle.
Ну ты понял, куда Оракл установлен, там и ищи
Я пробывал искать где установлен oracle, но не нашел, писал теже команды что и для exp
# updatedb
# locate -r ‘bin/exp$’
Увидел, что ничего не выводит. Может это альяс баша?
А у тебя точно есть эта утилита?
нашел с помощью sudo find
Учи матчасть, кури маны. Оракл поставил, элементарных вещей не знает. Вон из профессии.
Ты действительно думаешь, что для специалиста по рихтовке необходимы знания системного администратора?
Умение пользоваться базовыми консольными утилитами — это не знания сисадмина, это знания ПРОДВИНУТОГО пользователя системы. И я говорю продвинутого только, чтобы успокоить тех кукаретиков, кто считает что консоль обычному пользователю не нужна.
Вот умение тонко настраивать файрвол или поднять DNS/DHCP/LDAP/Whatever-сервер — это уже можно отнести к знания уровня системного администратора.
А что, рихтовщик обязан быть двинутым пользователем системы? Рихтовать не сможет без линукса?
Если ты про Oracle DBA, то если он самолично подымает этот самый Oracle на некой ОС(Linux,Windows, whatever), то он обязан знать её инструментарий(консоль, Powershell, WMI, whatever). Он не обязан знать его досконально, как системный администратор, это не его задача.
Так же как и сисадмин вполне себе должен знать и уметь составить SQL-запрос, но вовсе(хотя и может) не обязан разбираться с тонкостях построения баз данных.
Я про человека, которые металл ровняет!
Ты вот орёшь «вон из профессии». А ты вообще в курсе кто он?
Во-первых, лично я не ору «вон из профессии» — ты меня перепутал с анонимусом. Во-вторых, взялся за чужую работу и спрашиваешь бесплатной помощи у специалистов — будь добр соответствовать. Не надо быть гуру, надо уметь читать соответсвующие руководства — это в любой профессии сложнее «копать от забора и до обеда» пригодится.
Куда устанавливаются программы в Ubuntu
Многих новичков, недавно установивших Linux и только начавших разбираться в устройстве этой замечательной операционной системы, как и меня, в свое время, интересует вопрос: куда же устанавливаются программы в Ubuntu, да и вообще, в любом дистрибутиве Linux. Файловая система Linux очень сильно отличается от Windows и это в первое время сбивает с толку.
Мы привыкли, что все программы и их файлы в Windows находятся в системном каталоге Program Files и System32, или если не в нем, то хотя бы в одном из подкаталогов. Но в Linux все намного сложнее. Здесь файлы программ, как правило, распределены по всей файловой системе. Так куда устанавливаются программы в Linux? Как найти все файлы программы? Как удалять ненужные программы? Все это мы рассмотрим в данной статье.
Куда устанавливаются программы в Ubuntu
Здесь не все так просто. Чтобы ответить на этот вопрос сначала нужно разобраться в особенностях файловой системы Linux и способах установки программ. В корневой файловой системе Linux каждая папка предназначена для хранения определенного типа файлов, эти правила со временем менялись, да и сейчас меняются в зависимости от дистрибутива, но основные папки остаются одни и те же. В папке /bin (Binary — двоичный) — хранятся исполняемые файлы, /lib — подключаемые библиотеки, /usr — ресурсы и данные программ, это могут быть переводы, картинки и т д, в /var — временные данные, логи, кэши, /etc — конфигурационные файлы.
Большинство программ, устанавливаемых с помощью стандартного пакетного менеджера распределяются по файловой системе в эти папки. Вам, наверное, интересно, как система определяет какие файлы куда копировать. Она и не определяет, это задает разработчик во время сборки пакета. Попробуйте открыть deb пакет как архив. Кроме служебных информационных файлов, касающихся установки вы там увидите структуру папок напоминающую корневую ФС Linux, это и определяет какие файлы где будут находиться. В последнее время грань четкого разделения файлов по папкам немного стерлась, появились папки /usr/bin для исполняемых файлов, а кэш некоторые программы вообще хранят в домашней папке пользователя, но традиционные Linux сервисы, такие как Samba, Apache, Ngnix и многие другие четко придерживаются стандартной структуры.
Давайте разберем на примере как распределяется программа в файловой системе. Возьмем, например, тот же сервер apache. Чтобы узнать куда были скопированы файлы программы воспользуемся утилитой dpkg.
www-servers/apache-2.2.31 (/usr/sbin/apache2)
www-servers/apache-2.2.31 (/etc/init.d/apache2)
www-servers/apache-2.2.31 (/etc/logrotate.d/apache2)
www-servers/apache-2.2.31 (/var/cache/apache2)
www-servers/apache-2.2.31 (/usr/lib64/apache2)
www-servers/apache-2.2.31 (/usr/share/apache2)
www-servers/apache-2.2.31 (/etc/apache2)
www-servers/apache-2.2.31 (/usr/include/apache2)
www-servers/apache-2.2.31 (/etc/conf.d/apache2)
www-servers/apache-2.2.31 (/var/log/apache2)
Как видите, все файлы на своих местах.
Но из этого правила есть исключения. Например, многие проприетарные программы и игры устанавливаются полностью в одну папку, так же как и в Windows. Для таких программ есть папка /opt. Посмотрим, например, на Crossover:
sudo dpkg -s crossover-bin
Обычно такой вид установки используют программы, устанавливаемые скриптами в формате .run. Есть еще один вид программ — те, которые собираются из исходников и устанавливаются командой make install. Так программы лучше не устанавливать, потому что файлы, как и в первом случае, распределяются по всей системе, но в этот раз уже без ведома пакетного менеджера. Конечно¸ вы всегда сможете удалить программу командой make uninstall, но нет гарантий что вы не удалите исходники и скрипт очистки не оставит в системе много лишних файлов, которые потом будет трудно найти. Как правильно устанавливать программы из исходников можете посмотреть в статье установка программ из tar.gz
Надеюсь, эта статья помогла вам разобраться с вопросом куда устанавливаются программы в Ubuntu.
Linux узнать расположение программы
В этой статье поговорим о командах поиска файлов и директорий в терминале, таких как find, locate, whereis, which.
При работе в Linux, довольно часто возникает необходимость поиска файлов с определенными характеристиками. Этими характеристиками могут быть размер или тип файла, время изменения и многое другое.
Формат команды find.
В общем виде команда find выглядит следующим образом:
где путь – это директория, в которой мы хотим произвести поиск, опции — это ключи-параметры поиска.
Путь поиска команды find.
В обычном случае мы просто указываем полный путь к нужному каталогу, например:
Но в качестве пути поиска можно указывать следующие значения:
. | поиск в текущем каталоге; |
/ | поиск от корневого каталога; |
поиск в домашнем каталоге. |
Основные опции команды find.
-name — поиск файлов по имени;
-user — поиск файлов, принадлежащих указанному пользователю;
-type — поиск файлов определенного типа. Вот наиболее используемые типы:
- d – каталог;
- f – обычный файл;
- l – символическая ссылка;
-size -n,+n, n — поиск файлов с размером меньше(-), больше (+) или равное n единиц;
-mtime -n, +n — поиск файлов, созданных или модифицируемых менее чем (-) или более чем (+) n дней назад.
Примеры использования команды find.
Самый простой вариант поиска, указываем путь и имя файла. Давайте найдем файл с именем file1:
Но если мы напишем не полностью имя, например «file», то файл с именем «file1» не найдется. Для этого нужно писать имя в кавычках и в конце добавить *, вот таким образом:
Но нашлись и файлы и директории, в названии которых встречается «file». Чтобы найти только файлы, воспользуемся опцией -type , передав ей значение f, чтобы искать только файлы (для поиска только директорий мы бы передали d):
Но теперь нашлись файлы во всех вложенных директориях. А что если нам надо найти файл только в текущей директории или с уровнем вложенности 1 или 2?
Для этого используется опция maxdepth (глубина поиска), то есть, если мы хотим найти файл в директории поиска, без рекурсивного просмотра всех директорий:
Теперь нашлись файлы только в директории поиска.
Если хотим включить первый уровень внутри каталога поиска, тогда нужно указать maxdepth 2:
Как видно на скриншоте, теперь найден файл и в папке «Загрузки».
Нужно указывать опцию -maxdepth перед опцией -name.
Теперь разберем очень важную опцию поиска файла по размеру «-size».
Важно, если мы хотим найти файлы размером в килобайтах, нужно писать в конце k, для мегабайт M, для гигабайт G, для байт b. Важно соблюдать регистр.
Разберем пример, найдем файлы в домашней директории менее 10 килобайт с именем file*:
Нашлись все файлы в домашней директории и ее папках, размер которых менее 10 килобайт.
Теперь давайте найдем файлы в домашней директории, которые весят больше 100 мегабайт:
Нашелся один файл, который весит более 100 мегабайт.
Также можно искать файлы определенного размера, например, которые весят 1G или 1M:
Теперь переходим к поиску файлов, которые были созданы или модифицированы n количество дней назад.
Поиск файлов, которые были изменены или созданы менее 2 дней назад:
Также можно использовать опцию -user, чтобы найти только файлы определенного пользователя:
Вместо username нужно подставить имя пользователя. Если искать ваши файлы, то можно использовать системную переменную $USER, которая выводит имя текущего пользователя.
Возможности команды find поистине безграничны, мы можем использовать и регулярные выражения. К примеру, давайте уберем из поиска все скрытые файлы и директории.
Данная команда может показаться сложной на первый взгляд. Вот это вот регулярное выражение \( ! -regex ‘.*/\..*’ \) как раз и убирает из поиска все скрытые файлы и директории:
Поиск файлов, которые были изменены или созданы более 100 дней назад:
В одной статье очень трудно перечислить все возможности этой команды поиска файлов и директорий. Это самое основное и часто используемое.
Помимо find для поиска файлов существует ещё команда locate.
Разница между ними в том, что locate использует собственную базу данных для хранения имен файлов. В то время, как find исследует директории в поисках заданного параметром командной строки имени файла.
Команда locate ищет файлы очень быстро, так как она производит поиск не по файловой системе, а по собственной базе данных.
Поэтому, перед использованием данной команды поиска следует использовать команду, которая обновит базу данных индексов файлов в системе:
Хотя это и не обязательно (система это делает периодически), просто если не выполнить её, то вам может вывести в поиске удаленные файлы или не вывести только что созданные.
Формат команды locate.
Вводится команда locate и имя файла, который хотим найти. И, конечно же, опции, которые разберем на примерах.
Примеры использования команды locate.
Давайте найдем все файлы с расширением .exe:
Если мы хотим вывести результаты поиска в одну строку, тогда используем следующую опцию -0 (это тире и ноль)
Но если мы ищем файл с названием «file», то не найдутся файлы с именами в другом регистре: File, FILE и т.д.
Чтобы поиск сделать регистронезависимым, то нужно использовать следующую опцию -i, то есть:
Если мы хотим узнать просто количество файлов, имеющих в имени «file», или количество файлов с определенным расширением, к примеру .exe, то нужно указать опцию -c:
Что означает, что в системе 10 файлов имеют расширение .exe.
Если мы хотим ограничить число выводимых файлов в поиске по заданному параметру, мы ставим опцию -n и число:
То есть, данная команда с опцией -n 2 выведет нам только 2 первых найденных файла:
И напоследок, locate лучше выполнять с опцией -e, тогда будут отображены файлы, которые существуют в системе. Даже тогда, когда запись о файле находится в базе данных, все равно будет осуществлена проверка физического нахождения файла в системе:
Полезные команды whereis и which.
У нас установлены программы в системе и чтобы узнать размещение бинарных файлов, исходных кодов и руководств, относящихся к установленной программе, можно выполнить команду whereis. Для примера найдем информацию о пакете google-chrome:
Команда же which отображает полный путь к установленной программе. Также в качестве примера возьмем google-chrome: