Как найти программу в Linux?

Несколько команд для поиска файлов и папок в операционных системах на базе Linux.

Как найти программу в Linux?

Поиск в Linux с помощью команды find

Утилита find представляет универсальный и функциональный способ для поиска в Linux. Данная статья является шпаргалкой с описанием и примерами ее использования.

Общий синтаксис

путь к корневому каталогу, откуда начинать поиск. Например, find /home/user — искать в соответствующем каталоге. Для текущего каталога нужно использовать точку «.».

набор правил, по которым выполнять поиск.

* по умолчанию, поиск рекурсивный. Для поиска в конкретном каталоге можно использовать опцию maxdepth.

Описание опций

Тип объекта поиска. Возможные варианты:

Также доступны логические операторы:

Оператор Описание
-a Логическое И. Объединяем несколько критериев поиска.
-o Логическое ИЛИ. Позволяем команде find выполнить поиск на основе одного из критериев поиска.
-not или ! Логическое НЕ. Инвертирует критерий поиска.

Полный набор актуальных опций можно получить командой man find.

Примеры использования find

Поиск файла по имени

1. Простой поиск по имени:

find / -name «file.txt»

* в данном примере будет выполнен поиск файла с именем file.txt по всей файловой системе, начинающейся с корня /.

2. Поиск файла по части имени:

* данной командой будет выполнен поиск всех папок или файлов в корневой директории /, заканчивающихся на .tmp

3. Несколько условий.

а) Логическое И. Например, файлы, которые начинаются на sess_ и заканчиваются на cd:

find . -name «sess_*» -a -name «*cd»

б) Логическое ИЛИ. Например, файлы, которые начинаются на sess_ или заканчиваются на cd:

find . -name «sess_*» -o -name «*cd»

в) Более компактный вид имеют регулярные выражения, например:

find . -regex ‘.*/(sess_.*cd)’

* где в первом поиске применяется выражение, аналогичное примеру а), а во втором — б).

4. Найти все файлы, кроме .log:

find . ! -name «*.log»

* в данном примере мы воспользовались логическим оператором !.

Поиск по дате

1. Поиск файлов, которые менялись определенное количество дней назад:

find . -type f -mtime +60

* данная команда найдет файлы, которые менялись более 60 дней назад.

2. Поиск файлов с помощью newer. Данная опция доступна с версии 4.3.3 (посмотреть можно командой find —version).

а) дате изменения:

find . -type f -newermt «2019-11-02 00:00»

* покажет все файлы, которые менялись, начиная с 02.11.2019 00:00.

find . -type f -newermt 2019-10-31 ! -newermt 2019-11-02

* найдет все файлы, которые менялись в промежутке между 31.10.2019 и 01.11.2019 (включительно).

б) дате обращения:

find . -type f -newerat 2019-10-08

* все файлы, к которым обращались с 08.10.2019.

find . -type f -newerat 2019-10-01 ! -newerat 2019-11-01

* все файлы, к которым обращались в октябре.

в) дате создания:

find . -type f -newerct 2019-09-07

* все файлы, созданные с 07 сентября 2019 года.

find . -type f -newerct 2019-09-07 ! -newerct «2019-09-09 07:50:00»

* файлы, созданные с 07.09.2019 00:00:00 по 09.09.2019 07:50

По типу

Искать в текущей директории и всех ее подпапках только файлы:

* f — искать только файлы.

Поиск по правам доступа

1. Ищем все справами на чтение и запись:

find / -perm 0666

2. Находим файлы, доступ к которым имеет только владелец:

find / -perm 0600

Поиск файла по содержимому

find / -type f -exec grep -i -H «content» <> ;

* в данном примере выполнен рекурсивный поиск всех файлов в директории / и выведен список тех, в которых содержится строка content.

С сортировкой по дате модификации

find /data -type f -printf ‘%TY-%Tm-%Td %TT %pn’ | sort -r

* команда найдет все файлы в каталоге /data, добавит к имени дату модификации и отсортирует данные по имени. В итоге получаем, что файлы будут идти в порядке их изменения.

Лимит на количество выводимых результатов

Самый распространенный пример — вывести один файл, который последний раз был модифицирован. Берем пример с сортировкой и добавляем следующее:

find /data -type f -printf ‘%TY-%Tm-%Td %TT %pn’ | sort -r | head -n 1

Поиск с действием (exec)

1. Найти только файлы, которые начинаются на sess_ и удалить их:

find . -name «sess_*» -type f -print -exec rm <> ;

* -print использовать не обязательно, но он покажет все, что будет удаляться, поэтому данную опцию удобно использовать, когда команда выполняется вручную.

2. Переименовать найденные файлы:

find . -name «sess_*» -type f -exec mv <> new_name ;

find . -name «sess_*» -type f | xargs -I ‘<>‘ mv <> new_name

3. Вывести на экран количество найденных файлов и папок, которые заканчиваются на .tmp:

find . -name «*.tmp» | wc -l

4. Изменить права:

find /home/user/* -type d -exec chmod 2700 <> ;

* в данном примере мы ищем все каталоги (type d) в директории /home/user и ставим для них права 2700.

5. Передать найденные файлы конвееру (pipe):

find /etc -name ‘*.conf’ -follow -type f -exec cat <> ; | grep ‘test’

* в данном примере мы использовали find для поиска строки test в файлах, которые находятся в каталоге /etc, и название которых заканчивается на .conf. Для этого мы передали список найденных файлов команде grep, которая уже и выполнила поиск по содержимому данных файлов.

6. Произвести замену в файлах с помощью команды sed:

find /opt/project -type f -exec sed -i -e «s/test/production/g» <> ;

* находим все файлы в каталоге /opt/project и меняем их содержимое с test на production.

Чистка по расписанию

Команду find удобно использовать для автоматического удаления устаревших файлов.

Открываем на редактирование задания cron:

0 0 * * * /bin/find /tmp -mtime +14 -exec rm <> ;

* в данном примере мы удаляем все файлы и папки из каталога /tmp, которые старше 14 дней. Задание запускается каждый день в 00:00.
* полный путь к исполняемому файлу find смотрим командой which find — в разных UNIX системах он может располагаться в разных местах.

Как найти расположение программы?

Подскажите, пожалуйста, как найти путь к утилите 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-запрос, но вовсе(хотя и может) не обязан разбираться с тонкостях построения баз данных.

  • Показать ответ
  • Ссылка

Я про человека, которые металл ровняет!
Ты вот орёшь «вон из профессии». А ты вообще в курсе кто он?

  • Показать ответ
  • Ссылка

Во-первых, лично я не ору «вон из профессии» — ты меня перепутал с анонимусом. Во-вторых, взялся за чужую работу и спрашиваешь бесплатной помощи у специалистов — будь добр соответствовать. Не надо быть гуру, надо уметь читать соответсвующие руководства — это в любой профессии сложнее «копать от забора и до обеда» пригодится.

Где и как искать программы

Содержание

  • 1 Где и как искать программы, и как их потом устанавливать
    • 1.1 Программа есть на диске пользователя
    • 1.2 Программа есть в сетевом репозитории вашей версии
      • 1.2.1 Что делать, если «интернет дорогой»
    • 1.3 Программа есть в сетевом репозитории другой версии
    • 1.4 Программы нет в дистрибутиве, но её можно туда включить
      • 1.4.1 Почему нельзя собирать и ставить программы с помощью make; make install
      • 1.4.2 Почему нельзя ставить пакеты из других дистрибутивов
      • 1.4.3 Если нельзя, но очень хочется…
      • 1.4.4 Отдельное замечание про драйвера nVidia и AMD(ATi)
      • 1.4.5 Отдельное замечание про установку VirtualBox
      • 1.4.6 Как устанавливать AppImage-файлы
    • 1.5 Программы нет в дистрибутиве, и её нельзя туда включить
    • 1.6 Программа вообще не работает в Linux
  • 2 Примечания

Где и как искать программы, и как их потом устанавливать [ править ]

Все программы для Linux можно разделить на две большие категории (с подкатегориями):

Далее описаны краткие примерные инструкции что делать во всех этих случаях.

Общая рекомендация: если вам нужна какая-то программа, то

  1. Сначала поищите её в тех источниках установки, на которые настроена ваша система управления пакетами.
  2. Затем поищите нужную программу в других репозиториях ALT Linux, например, используя поиск на сайте http://packages.altlinux.org и далее.
  3. Если нужной программы не оказалось среди пакетов ALT, то найдите в интернете сайт разработчиков программы, и далее следуйте инструкции.
  4. Если непонятно, какая именно программа нужна, можно посмотреть информацию тут, тут и тут. Эти списки ПО не претендуют на полноту, но могут оказаться полезными.

Программа есть на диске пользователя [ править ]

Если у вас есть CD/DVD диск с дистрибутивом ALT (например тот, с которого вы поставили систему), то поиск и установка нужной программы осуществляется очень просто. Достаточно подключить этот диск в качестве источника установки и использовать программы работы с пакетами, такие как apt-get или synaptic.

Если у вас на жёстком диске есть целый набор rpm-пакетов, и они ещё не организованы в репозиторий, то самое время создать из них репозиторий, подключить его в качестве источника установки, и см. выше.

Если у вас имеется одиночный [2] пакет с нужной программой, то можно попробовать установить его следующим образом:

от рута перейдите в каталог, где лежит нужный пакет и выполните команду apt-get install ./ИМЯ_ФАЙЛА.rpm. Например:

Программа есть в сетевом репозитории вашей версии [ править ]

Настройте вашу систему управления пакетами на использование сетевого репозитория, и установите программу обычным способом (например, это можно сделать с помощью Synaptic).

Примечание: не следует забывать про дополнительные репозитории Autoimports.

Что делать, если «интернет дорогой» [ править ]

Иногда случается так, что нужная программа есть в сетевом репозитории, но подключить и использовать его невозможно, потому что на целевом компьютере дорогой интернет, или вообще нет сети. Можно попробовать скачать нужный пакет и все его зависимости

на другом компьютере, принести все эти пакеты на целевой компьютер, и далее воспользоваться инструкцией по установке одиночного пакета.

Отследить зависимости уже установленных программ (например gimp) можно следующей командой: $ apt-cache depends gimp

Вы увидите примерно следующее:

Программа есть в сетевом репозитории другой версии [ править ]

Самый правильный способ — «повесить» запрос на перенос нужного пакета в вашу версию дистрибутива. Однако, этот способ не самый быстрый :)

Еще один неплохой способ — попробовать самостоятельно собрать нужный пакет «в своём окружении», то есть под свою версию системы. Проще всего это сделать с помощью Hasher. Вам понадобится скачать пакет с исходными текстами нужной программы (src.rpm пакет), и воспользоваться инструкцией по работе с Hasher.

Примечание: сборка в Хэшере требует настроенного источника пакетов. В процессе сборки из источника будут получены пакеты на десятки (или даже сотни) мегабайт. Следите за трафиком :)

Еще один способ: пересобрать src.rpm с помощью команды rpm —rebuild (за подробностями — в man rpm). При такой пересборке не понадобится выкачивать из источника пакетов те пакеты, которые уже установлены в вашей системе, что может сэкономить время и деньги. Но удовлетворение сборочных зависимостей придётся делать вручную, что требует определённой квалификации. Кроме того, произойдёт «засорение» системы devel-пакетами. Метод не рекомендуется неопытным пользователям!

Если сборка программы завершается ошибками, и вашей квалификации не хватает для их устранения, см. первый способ.

Программы нет в дистрибутиве, но её можно туда включить [ править ]

Существует огромное множество программ. И ни один дистрибутив не может охватить все это множество.

Почему нужная конкретно вам программа не попала в дистрибутив? Скорее всего потому, что:

  • никому из тех, кто обладает достаточной квалификацией, она не нужна (в данный момент)
  • программа редкая и/или новая, и о ней просто никто не знает
  • в силу различных ограничений (технического или лицензионного характера), программу нельзя включить в дистрибутив.

Что делать в таком случае?

Простой и правильный способ: разместить в списке рассылки просьбу собрать и поместить нужную программу в дистрибутив. Если это действительно хорошая и нужная программа, то, возможно, найдётся тот человек, который захочет и сможет собрать и поместить её в дистрибутив. Или вам посоветуют аналогичную (возможно, гораздо более качественную) программу из имеющихся в дистрибутиве.

Сложный и совсем правильный способ: стать мейнтейнером данной программы! То есть изучить правила сборки пакетов для ALT Linux, собрать пакет, и влиться в ряды разработчиков.

Почему нельзя собирать и ставить программы с помощью make; make install [ править ]

Кратко: если вы не понимаете, почему нельзя пользоваться configure; make; make install , то вам не стоит пользоваться этими командами.

Многие неопытные пользователи часто возмущаются, когда им говорят, что в дистрибутивах, основанных на пакетах (rpm, deb и т. п.) не стоит устанавливать программы с помощью make install . Основные причины не использовать эти команды:

  • программа, установленная таким образом, не попадает в базу данных установленных программ, в общем виде её невозможно корректно обновить или удалить, она порождает файлы, принадлежность которых невозможно определить.
  • между программами есть зависимости, часто очень сложные. Разрешение зависимостей при make install не работает, и такая установка программы может привести к неработоспособности других программ или всей системы.
  • в каждом дистрибутиве есть специфические настройки, особое расположение конфигурационных файлов и т. п. При сборке пакета мейнтейнер учитывает эти нюансы, make install их игнорирует.

Все вышесказанное относится и к программам, устанавливаемым с помощью инсталляционных скриптов типа

Почему нельзя ставить пакеты из других дистрибутивов [ править ]

Кратко: если вы не знаете, почему нельзя ставить чужие rpm, не стоит этого делать!

Часто пользователи пытаются поставить rpm-пакеты (а иногда и deb-пакеты) из других дистрибутивов, обычно Mandriva или RedHat. Но в каждом дистрибутиве свои особенности настроек, именования пакетов и т. п. Поэтому есть отличная от нуля вероятность разломать свою систему установкой чужих пакетов [3] .

Отдельно стоит упомянуть проблему с версиями разделяемых библиотек, так как она касается не только дистрибутивов от разных производителей, но и дистрибутивов просто разных версий от одного производителя. Использование разделяемых библиотек позволяет экономить на объёмах памяти, скорости загрузки приложений и т.п., но накладывает ограничение на переносимость бинарных пакетов. Поэтому, даже в рамках ALT Linux, как правило, нельзя просто взять пакет из Sisyphus и установить его в дистрибутив на базе стабильного бранча: требуется пересборка пакета в соответствующем окружении. Исключение составляет небольшой промежуток времени после отделения последнего бранча — какое-то время бинарная совместимость сохраняется.

Если нельзя, но очень хочется… [ править ]

Иногда очень хочется или очень надо поставить пакет из исходников. Делайте это на свой страх и риск, и не говорите потом, что вас не предупреждали, и не засоряйте рассылки и форумы нытьём типа «я тут сделал, и у меня не работает».

  • практически у всех программ скрипт configure понимает параметр —prefix, в который можно и нужно указать «альтернативный» каталог для установки, чтоб ваша программа не конфликтовала с другими программами из системы. Используйте что-то вида —prefix=/opt/usr или —prefix=$HOME/my_progs.
  • инсталляторы *.run тоже (обычно) умеют ставить программу в указанный каталог. Не ставьте ничего в /usr (при этом, /usr/local использовать можно) !
  • при установке чужих rpm-пакетов избегайте команд вида rpm -i и тем более rpm —nodeps —force. Используйте apt-get install.
  • выбирайте rpm со статическими сборками, в их именах часто (но не обязательно) присутствует слово static.
  • при установке бинарных сборок таких программ как Firefox или OpenOffice и им подобных, качайте с сайта пакет «для всех дистрибутивов», обычно это tgz-архив, и распаковывайте его в, например, /opt или $HOME/progs.
  • есть утилита epm, которой можно попытаться перепаковать чужой бинарный rpm (опция —repack или команда repack).

Отдельное замечание про драйвера nVidia и AMD(ATi) [ править ]

Очень часто пользователи пытаются скачать с сайта производителя и поставить драйвера для видеокарт нВидиа или АТи/АМД. Не стоит так делать! Самостоятельная установка драйверов путём запуска *.run разломает вам графическую подсистему с очень высокой степенью вероятности!

Все необходимые драйвера уже есть в дистрибутиве (на CD/DVD или в сетевых репозиториях; как ставить). Если у вас очень новая карта, и имеющиеся драйвера её не понимают, то вешайте запрос в Багзиллу на обновление драйверов.

Отдельное замечание про установку VirtualBox [ править ]

Часто пользователи ставят проприетарную сборку VirtualBox. См. инструкцию.

Как устанавливать AppImage-файлы [ править ]

Устанавливать программы в формате AppImage не нужно. Они работают без установки см. инструкцию.

Программы нет в дистрибутиве, и её нельзя туда включить [ править ]

Некоторые программы невозможно включить в дистрибутив. Иногда по техническим причинам. Тогда самое правильное будет ждать, пока устранят технические причины. За подробностями обращайтесь в списки рассылки.

Некоторые программы нельзя включить в дистрибутив по лицензионным ограничениям. Например, браузер Opera или интернет-телефон Skype. Для некоторых программ некоторые пользователи в частном порядке собирают rpm-пакеты. Например, fly.osdn.org.ua/

drool/ (см. FAQ). Можете воспользоваться такими «альтернативными» источниками пакетов. Другой выход — установка статических сборок вручную (см. выше).

Программа вообще не работает в Linux [ править ]

Некоторые программы вообще не работают в Linux. Например, бинарные программы, написанные под другую операционную систему (Windows, Solaris, BSD), или программы (даже с исходниками) написанные под очень старые версии Linux. Если вам очень хочется поработать с такими программами, поставьте ту ОС, для которой они написаны.

Как найти программу в 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:

    Команда find в Linux – мощный инструмент сисадмина

    Иногда критически важно быстро найти нужный файл или информацию в системе. Порой можно ограничиться стандартами функциями поиска, которыми сейчас обладает любой файловый менеджер, но с возможностями терминала им не сравниться.

    Команда find – это невероятно мощный инструмент, позволяющий искать файлы не только по названию, но и по:

    • Дате добавления.
    • Содержимому.
    • Регулярным выражениям.

    Данная команда будет очень полезна системным администраторам для:

    • Управления дисковым пространством.
    • Бэкапа.
    • Различных операций с файлами.

    Команда find в Linux производит поиск файлов и папок на основе заданных вами критериев и позволяет выполнять действия с результатами поиска.

    Синтаксис команды find:

    • directory-to-search (каталог поиска) – это отправной каталог, с которой find начинает поиск файлов по всем подкаталогам, которые находятся внутри. Если не указать путь, тогда поиск начнется в текущем каталоге;
    • criteria (критерий) – критерий, по которым нужно искать файлы;
    • action (действие) – что делать с каждым найденным файлом, соответствующим критериям.

    Поиск по имени

    Следующая команда ищет файл s.txt в текущем каталоге:

    • . (точка) – файл относится к нынешнему каталогу
    • -name – критерии по которым осуществляется поиск. В данном случае поиск по названию файла.

    В данном случае критерий -name учитывает только символы нижнего регистра и файл S.txt не появиться в результатах поиска. Чтобы убрать чувствительность к регистру необходимо использовать –iname.

    Для поиска всех изображений c расширением .png нужно использовать шаблон подстановки *.png:

    Можно использовать название каталога для поиска. Например, чтобы с помощью команды find найти все png изображения в каталоге home:

    Если выдает слишком много ошибок в отказе разрешения, тогда можно добавить в конец команды – 2> /dev/null. Таким образом сообщения об ошибках будут перенаправляться по пути dev/null, что обеспечит более чистую выдачу.

    Поиск по типу файла

    Критерий -type позволяет искать файлы по типу, которые бывают следующих видов:

    • f – простые файлы;
    • d – каталоги;
    • l – символические ссылки;
    • b – блочные устройства (dev);
    • c – символьные устройства (dev);
    • p – именованные каналы;
    • s – сокеты;

    Например, указав критерий -type d будут перечислены только каталоги:

    Поиск по размеру файла

    Допустим, что вам необходимо найти все большие файлы. Для таких ситуаций подойдет критерий -size.

    • «+» — Поиск файлов больше заданного размера
    • «-» — Поиск файлов меньше заданного размера
    • Отсутствие знака означает, что размер файлов в поиске должен полностью совпадать.

    В данном случае поиск выведет все файлы более 1 Гб (+1G).

    Единицы измерения файлов:

    Поиск пустых файлов и каталогов

    Критерий -empty позволяет найти пустые файлы и каталоги.

    Поиск времени изменения

    Критерий -cmin позволяет искать файлы и каталоги по времени изменения. Для поиска всех файлов, измененных за последний час (менее 60 мин), нужно использовать -60:

    Таким образом можно найти все файлы в текущем каталоге, которые были созданы или изменены в течение часа (менее 60 минут).

    Для поиска файлов, которые наоборот были изменены в любое время кроме последнего часа необходимо использовать +60.

    Поиск по времени доступа

    Критерий -atime позволяет искать файлы по времени последнего доступа.

    Таким образом можно найти файлы, к которым не обращались последние полгода (180 дней).

    Поиск по имени пользователя

    Опция –user username дает возможность поиска всех файлов и каталогов, принадлежащих конкретному пользователю:

    Таким образом можно найти все файлы пользователя tisha в каталоге home, а 2>/dev/null сделает выдачу чистой без ошибок в отказе доступа.

    Поиск по набору разрешений

    Критерий -perm – ищет файлы по определенному набору разрешений.

    Поиск файлов с разрешениями 777.

    Операторы

    Для объединения нескольких критериев в одну команду поиска можно применять операторы:

    • -and
    • -or
    • -not

    Например, чтобы найти файлы размером более 1 Гбайта пользователя tisha необходимо ввести следующую команду:

    Если файлы могут принадлежать не только пользователю tisha, но и пользователю pokeristo, а также быть размером более 1 Гбайта.

    Перед скобками нужно поставить обратный слеш «».

    Действия

    К команде find можно добавить действия, которые будут произведены с результатами поиска.

    • -delete — Удаляет соответствующие результатам поиска файлы
    • -ls — Вывод более подробных результатов поиска с:
      • Размерами файлов.
      • Количеством inode.
    • -print Стоит по умолчанию, если не указать другое действие. Показывает полный путь к найденным файлам.
    • -exec Выполняет указанную команду в каждой строке результатов поиска.

    -delete

    Полезен, когда необходимо найти и удалить все пустые файлы, например:

    Перед удалением лучше лишний раз себя подстраховать. Для этого можно запустить команду с действием по умолчанию -print.

    Данное действие является особенным и позволяет выполнить команду по вашему усмотрению в результатах поиска.

    • command – это команда, которую вы желаете выполнить для результатов поиска. Например:
      • rm
      • mv
      • cp
    • <> – является результатами поиска.
    • ; — Команда заканчивается точкой с запятой после обратного слеша.

    С помощью –exec можно написать альтернативу команде –delete и применить ее к результатам поиска:

    Другой пример использования действия -exec:

    Таким образом можно скопировать все .jpg изображения в каталог backups/fotos

    Заключение

    Команду find можно использовать для поиска:

    • Файлов по имени.
    • Дате последнего доступа.
    • Дате последнего изменения.
    • Имени пользователя (владельца файла).
    • Имени группы.
    • Размеру.
    • Разрешению.
    • Другим критериям.

    С полученными результатами можно сразу выполнять различные действия, такие как:

    • Удаление.
    • Копирование.
    • Перемещение в другой каталог.

    Команда find может сильно облегчить жизнь системному администратору, а лучший способ овладеть ей – больше практиковаться.

    Ubuntu66.ru — новости, уроки, помощь, поддержка.

    • Публикации RSS
    • Комментарии RSS

    Не каждый пользователь Ubuntu, а особенно начинающий, знает, как и где посмотреть все установленные приложения в его системе. Это связано в первую очередь с тем, что большинство новых пользователей Ubuntu не знакомы с системами Linux и затрудняются в поиске всех установленных программ, а некоторые из пользователей никогда не задавались этим вопросам и теперь решили удалить какую-нибудь программу самостоятельно, или просто посмотреть, какие программы у него установлены.
    В этой статье мы рассмотрим несколько способов, при помощи которых можно посмотреть все установленные программы на вашем компьютере под управлением Ubuntu. http://compizomania.blogspot.com/

    Самый простой способ посмотреть все установленные программы/приложения в вашей системе, это обратиться к Центру приложений Ubuntu, значок которого отображается на панели Unity по умолчанию, в виде «авоськи» с буквой А в центре:

    Кликните на кнопке в меню программы Установленные (указано стрелкой на верхнем снимке) и вы увидите перечень установленных программ по категориям:

    Чтобы отобразить полный список программ, кликните внизу окна программы Показать хххх технических элементов и раскройте интересующую вас категорию, кликом на ней:

    Для удаления программы достаточно активировать её, кликнуть на кнопке Удалить, ввести свой пароль и программа удалится из системы:

    В данном варианте мы рассмотрим отображение и возможное удаление установленных программ в системе через системное меню Даш. Чтобы открыть меню Даш, кликните правой кнопкой на верхнем значке в панели Unity и в контекстном меню выберите Приложения:

    Либо отрывисто нажмите клавишу Super (с логотипом Windows), после чего откроется системное меню:

    Вы можете кликнуть в левом верхнем углу монитора на кнопке Максимизировать, для того чтобы раскрыть меню на весь экран (указано на верхнем снимке под цифрой 2) и просматривать установленные приложения:

    Правый клик на значке приложения, открывает аннотацию с возможностями к данному приложению и двумя кнопками: Удалить, Запустить. Для удаления приложения достаточно нажать — Удалить, ввести пароль и приложение удалится:

    Как известно, Linux системы, это прежде всего файлы. Установленные приложения и приложения в целом, это файлы, которые хранятся в файловой системе, отобразить которую можно в файловом менеджере Nautilus, установленном по умолчанию. Для того чтобы посмотреть установленные приложения, откройте файловый менеджер (второй значок сверху на панели Unity) и перейдите по следующему адресу: Компьютер (или Файловая система) — /usr/share/applications:

    Вот здесь и хранятся ярлыки всех установленных приложений в системе. Вы можете запустить выбранное приложение из установленных, двойным кликом на значке, но удалить не сможете, т.к. в данном случае будет недостаточно прав на это действие. Чтобы удалить ярлык приложения из файлового менеджера и системы вообще, нужно прежде открыть Nautilus с правами администратора. Для этого выполните команду в терминале:

    sudo nautilus /usr/share/applications

    Введите пароль, после чего откроется папка с установленными приложениями, выберите приложение, правый клик на значке и в контекстном меню — Удалить. Приложение также удалится из системы:

    В этом варианте мы рассмотрим установленные приложения в системе в расширенном инструменте, под названием Менеджер пакетов Synaptic. Synaptic не установлен в системе по умолчанию, но присутствует в Центре приложений Ubuntu, откуда вы можете установить его путём поиска, либо выполнить простую команду в терминале на установку:

    sudo apt-get install synaptic

    По окончании установки найдите и откройте Synaptic в меню, введя пароль:

    После открытия Synaptic перейдите: Состояние ->Установленные, после чего вы увидите все установленные приложеня в вашей системе вместе с зависимостями, в алфавитном порядке:

    Для удаления какого-то приложения введите его название в поле поиска, правый клик на строке с приложением и в контекстном меню выберите Отметить для удаления, либо Отметить для полного удаления, а затем нажмите кнопку Применить. И приложение/программа будет удалена/удалено:

    Пятый вариант для просмотра всех установленных приложений — консольный или терминальный. Откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующую команду:

    После выполнения данной команды, вы также увидите в окне терминала все установленные приложения в системе, в алфавитном порядке:

    Вот такими способами можно пользователю Ubuntu посмотреть все установленные приложения в системе. http://compizomania.blogspot.com/

    Ссылка на источник compizomania
    11-04-2014.

    Борис Аладышкин/ автор статьи

    Приветствую! Я являюсь руководителем данного проекта и занимаюсь его наполнением. Здесь я стараюсь собирать и публиковать максимально полный и интересный контент на темы связанные с современными технологиями и программным обеспечением. Уверен вы найдете для себя немало полезной информации. С уважением, Борис Аладышкин.

    Понравилась статья? Поделиться с друзьями:
    Itsovet61.ru
    Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: