Find command in linux with examples

Содержание:

Основное регулярное выражение

GNU Grep имеет три набора функций регулярных выражений : базовый, расширенный и Perl-совместимый.

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

Ниже приведен список наиболее часто используемых метасимволов:

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

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

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

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

  • Используйте для соответствия любому одиночному символу, не заключенному в квадратные скобки. Следующий шаблон будет соответствовать любой комбинации строк, содержащих , например , и т. Д., Но не будет соответствовать строкам, содержащим ,

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

Примеры использования команды 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:

Результат выполнения данных команд:

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

С теорией покончено, теперь перейдём к практике. Рассмотрим несколько основных примеров поиска внутри файлов Linux с помощью grep, которые могут вам понадобиться в повседневной жизни.

Поиск текста в файлах

В первом примере мы будем искать пользователя User в файле паролей Linux. Чтобы выполнить поиск текста grep в файле /etc/passwd введите следующую команду:

В результате вы получите что-то вроде этого, если, конечно, существует такой пользователь:

А теперь не будем учитывать регистр во время поиска. Тогда комбинации ABC, abc и Abc с точки зрения программы будут одинаковы:

Вывести несколько строк

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

Выведет строку с вхождением и 4 строчки после неё:

Выведет целевую строку и 4 строчки до неё:

Выведет по две строки с верху и снизу от вхождения.

Регулярные выражения в grep

Регулярные выражения grep — очень мощный инструмент в разы расширяющий возможности поиска текста в файлах. Для активации этого режима используйте опцию -e. Рассмотрим несколько примеров:

Поиск вхождения в начале строки с помощью спецсимвола «^», например, выведем все сообщения за ноябрь:

Поиск в конце строки — спецсимвол «$»:

Найдём все строки, которые содержат цифры:

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

Рекурсивное использование grep

Если вам нужно провести поиск текста в нескольких файлах, размещённых в одном каталоге или подкаталогах, например в файлах конфигурации Apache — /etc/apache2/, используйте рекурсивный поиск. Для включения рекурсивного поиска в grep есть опция -r. Следующая команда займётся поиском текста в файлах Linux во всех подкаталогах /etc/apache2 на предмет вхождения строки mydomain.com:

В выводе вы получите:

Здесь перед найденной строкой указано имя файла, в котором она была найдена. Вывод имени файла легко отключить с помощью опции -h:

Поиск слов в grep

Когда вы ищете строку abc, grep будет выводить также kbabc, abc123, aafrabc32 и тому подобные комбинации. Вы можете заставить утилиту искать по содержимому файлов в Linux только те строки, которые выключают искомые слова с помощью опции -w:

Количество вхождений строки

Утилита grep может сообщить, сколько раз определённая строка была найдена в каждом файле. Для этого используется опция -c (счетчик):

C помощью опции -n можно выводить номер строки, в которой найдено вхождение, например:

Получим:

Инвертированный поиск в grep

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

Вывод имени файла

Вы можете указать grep выводить только имя файла, в котором было найдено заданное слово с помощью опции -l. Например, следующая команда выведет все имена файлов, при поиске по содержимому которых было обнаружено вхождение primary:

Using Common find Commands and Syntax to Find a File in Linux

expressions take the following form:

  • The attribute will control the process’s behavior and optimization method.
  • The attribute will define the top-level directory where begins filtering.
  • The attribute controls the tests that search the directory hierarchy to produce output.

Consider the following example command:

This command enables the maximum optimization level (-O3) and allows to follow symbolic links (). searches the entire directory tree beneath for files that end with .

Basic Examples

Command Description
Find a file called testfile.txt in current and sub-directories.
Find all files in the and sub-directories.
Find an empty file within the current directory.
Find all files (ignoring text case) modified in the last 7 days by a user named exampleuser.

Why Use Find and Locate Commands in Linux?

New Linux users often claim that they get confused about the location of their files on a server. This might be because most people are used to operating Windows or macOS, which have more clear-cut and user-friendly directory layouts.

While there is some truth to this, Linux gives users more options on how to search for files using certain commands. Besides searching based on common filters, you are also able to find files by user permissions, size, timestamps, and so on.

What’s great, once you understand the commands, searching for files on your Linux platform is strikingly easy.

To do that, we’ll utilize the find and locate commands in Linux.

An important thing to note is that we will be using Ubuntu VPS in this guide. That being said, the steps should also work for Debian, CentOS, or any other distribution of Linux. If you don’t know how to connect to VPS,  you can follow this guide before proceeding further.

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

Команда find – это один из мощнейших инструментов linux-администратора.
Ниже приведена шпаргалка по этой замечательной команде.

Найти файл по имени без учета регистра

начиная с текущего каталога рекурсивно:

find -iname "MyCProgram.c"

в каталоге рекурсивно:

find /var -iname syslog*

ограничить поиск только текущей файловой системой (-xdev должен быть после пути поиска но до аргументов поиска)

find /var -xdev -iname syslog*

Найти файл по Inode и переименовать

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

~# find /var -iname syslog -exec ls -i1 {} \;
     3932232 /var/log/syslog
     3932189 /var/log/installer/syslog
~# find /var -inum 3932232 -exec mv {} new-test-file-name \;

файлы и каталоги

find /var/log -empty

только файлы

find /var/log -empty -type f

только каталоги

find /var/log -empty -type d

Поиск файлов на основании размера

найти файлы больше чем

find /var/log -size +100M

найти файлы меньше чем

find /var/log -size -100M

найти файлы точно в размер

find /var/log -size 100M

Ключи -ctime -mtime -atime -amin – cmin – mmin

Access time – время доступаModification time – время изменения содержимого в файлеChange time – время обновления файла. (например если мы поменяли атрибуты доступа, то изменится ctime в то же время mtime не изменится)

Опции и означают дни и минуты

Выполнение операций над найденными файлами

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

find <CONDITION_to_Find_files> -exec <OPERATION> \;

Где это команда или скрипт.
Для передачи имени найденного файла используется конструкция из двух скобок

пример:
найти все файлы с именем и вывести их

find /var -name syslog -type f -exec ls -i1 {} \;

*скобки можно применять в рамках только одной команды! *

например вот эта команда сработает без проблем:

find -name "*.txt" cp {} {}.bkup \;

а вот эта команда сработает не верно! Здесь отработают только скобки в команде mv:

find -name "*.txt" -exec mv {} `basename {} .htm`.html \;

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

echo "mv "$1" "`basename "$1" .htm`.html"" > mv.sh
find -name "*.html" -exec ./mv.sh '{}' \;

Форматированный вывод

find /var -type file -name syslog -prinf '<FORMAT>'

usable ключи форматирования:

\a     Alarm bell.
\n     Newline.
\t     Horizontal tab.

%c     File's last status change time  in  the  format  returned  by  the  C
                     `ctime' function.
%f     File's name with any leading directories removed (only the last  ele‐
                     ment).
%g     File's group name, or numeric group ID if the group has no name.
%h     Leading directories of file's name (all but the  last  element).   If
                     the  file name contains no slashes (since it is in the current direc‐
                     tory) the %h specifier expands to ".".
%i     File's inode number (in decimal).
%k     The amount of disk space used for this file in 1K blocks. Since  disk
                     space  is allocated in multiples of the filesystem block size this is
                     usually greater than %s1024, but it can also be smaller if the  file
                     is a sparse file.
%b     The amount of disk space used for this file in 512-byte blocks. Since
                     disk space is allocated in multiples of  the  filesystem  block  size
                     this  is  usually  greater than %s512, but it can also be smaller if
                     the file is a sparse file.
%m     File's permission bits (in octal).   This  option  uses  the  `tradi‐
                     tional' numbers which most Unix implementations use, but if your par‐
                     ticular implementation uses an unusual ordering of octal  permissions
                     bits,  you  will  see  a  difference  between the actual value of the
                     file's mode and the output of %m.   Normally you will want to have  a
                     leading  zero  on  this  number, and to do this, you should use the #
                     flag (as in, for example, `%#m').
%M     File's permissions (in symbolic form, as for ls).  This directive  is
                     supported in findutils 4.2.5 and later.
%p     File's name.
%P     File's name with the name of the command line argument under which it
                     was found removed.
%s     File's size in bytes
%t     File's last modification time in the format returned by the C `ctime'
                     function.
%u     File's user name, or numeric user ID if the user has no name.
%U     File's numeric user ID
%Y     File's type (like %y), plus follow symlinks L=loop, N=nonexistent

Можно запускать два поиска в одной команде

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

Например следующая команда рекурсивно проходит по файловой системе один раз, при этом сохраняет список файлов с флагом в файл , а список с большими файлами в

find /  \( -perm -4000 -fprintf /root/suid.txt '%#m %u %p\n' \) , \
 \( -size +100M -fprintf /root/big.txt '%-10s %p\n' \)

Enjoy!

Поиск больших файлов командой find

Простой поиск

Команда find имеет опцию -size, которая позволяет указать размер файлов для поиска.

Найдем файлы, которые занимают больше 1Gb:

  • Символ точка . после самой команды find, означает, что поиск нужно вести в текущей директории. Вместо точки вы можете указать, например, корневой раздел или путь до любой другой директории.
  • -mount означает, что в процессе поиска не нужно переходить на другие файловые системы.
  • -type f означает, что мы ищем файлы.
  • -size +1G означает, что нужно найти файлы, размер которых превышает 1Gb. Размер можно указать в различных форматах:

    • b — блоки размером 512 байт. Числом указывается количество блоков.
    • c — в байтах. Например: -size +128с
    • w — в двухбайтовых словах
    • k — в килобайтах
    • M — в мегабайтах
    • G — в гигабайтах
  • 2>/dev/null используется, чтобы не показывать ошибки (например, если нет доступа к файлу).

В результате выполнения команды будет выведен список файлов без какой-либо дополнительной информации.

Вывод подробной информации

Добавим в вывод информацию о каждом файле и отсортируем список по размеру. Выполняем команду

Данная команда состоит из трех частей:

  • Команда find ищет файлы, которые имеют размер больше 512 мегабайт.
  • Результирующий список файлов передается команде xargs, которая, в свою очередь, запускает команду ls -lh над этим списком файлов. В результате получается таблица с файлами и информацией о файлах.

    Опция -r, команды xarg, используется для того, чтобы не запускать команду ls, если команда find вернула пустой результат (не нашла файлов). Вместо -r можно использовать длинную запись — опцию —no-run-if-emptyОпция -d ’\n’ используется, чтобы разделять список файлов только по символу новой строки (по \n). А у нас так и есть — каждый файл на новой строке. Иначе неправильно будут обработаны файлы, в названии которых содержится пробел, так как по умолчанию команда xarg в качестве разделителя использует одновременно пробел, табуляцию или символ новой строки.

    Примечание: Для BSD-систем вместо -d ’\n’ нужно использовать опцию −0, а у команды find вместо -print использовать -print0. Пример: find . -mount -type f -size +512M -print0 2>/dev/null | xargs -0 ls -lh | sort -k5,5 -h -r

  • Затем результат команды ls передается команде sort, которая выполняет сортировку списка (таблицы) по пятой колонке — 5-я колонка содержит размеры файлов.Ключ -h означает, что результат нужно вывести в удобно-читаемом виде (human-readable).Ключ -r означает, что сортировку нужно выполнять по убыванию (reverse).

Use grep to Find a File in Linux Based on Content

The command can only filter the directory hierarchy based on a file’s name and metadata. If you need to search based on the file’s content, use a tool like
. Consider the following example:

This searches every object in the current directory hierarchy () that is a file () and then runs the command for every file that satisfies the conditions. The files that match are printed on the screen (). The curly braces () are a placeholder for the match results. The are enclosed in single quotes () to avoid handing a malformed file name. The command is terminated with a semicolon (), which should be escaped () to avoid interpretation by the shell.

Linux поиск по содержимому файлов командой locate

Поиск, производимый командой locate весьма быстр. Однако учитывайте тот факт, что системная база данных может быть не живой на момент осуществления операции. Механизм сканирования файловой системы, время его проведения и вобщем наличие такого инструмента может разниться в различных дистрибутивах Linux. Команда locate может быть полезна лишь при поиске файла по его имени. Однако для проверки текстового содержимого документов на вступление искомых данных нужно использовать другой инструмент.

Данная команда, как правило, работает быстрее и может с легкостью производить поиск (в широком смысле — стремление добиться чего-либо, найти что-либо; действия субъекта, направленные на получение нового или утерянного (забытого): новой информации (поиск информации), данных,) по всей файловой системы. Linux имеет специальную команду grep, какая принимает шаблон для поиска и имя файла (именованная область данных на носителе информации). В случае нахождения совпадений, они будут выведены в терминал. В всеобщем виде выражение можно составить как «grep шаблон_поиска имя_файла». Чтобы отыскать файлы с помощью команды locate, просто используйте следующий синтаксис:

К образцу, чтобы возвращать только файлы, содержащие сам запрос, вместо того чтобы вводить каждый файл, который содержит запрос в ведущих к нему каталогах, можно утилизировать флаг –b (чтоб искать только basename, базовое имя файла):

Команды find и locate – отличные инструменты для поиска файлов в UNIX‐подобных операционных системах. Любая из этих утилит имеет свои преимущества. Мы рассмотрели использование команд для поиска и фильтрации вывода бригад в операционной системе Linux. При правильном применении эта утилита станет мощным инструментом в ваших руках. Несмотря на то, что команды find и locate сами по себе очень мощны, их действие возможно расширить, комбинируя их с другими командами. Научившись работать с find и locate, попробуйте чистить их результаты при помощи команд wc, sort и grep.

Поиск файлов по содержанию (поиск текстовых строк в файлах).

Стандартные утилиты для поиска текстовых строк в файлах — grep / egrep для обычных поисков выражения и fgrep для поиска литеральных строк. Чтобы искать выражение во всех файлах в текущем каталоге, просто наберите:

Если Вам трудно запомнить эти длинные команды, используйте маленький скрипт, который можно загрузить отсюда: grepfind.gz . Скрипт еще и удаляет не-печатаемые символы из строки поиска, чтобы Вы случайно не получили в результате поиска egrep -ом двоичный файл.

Очень интересная программа поиска — agrep . Agrep работает в основном подобно egrep , но позволяет искать с учетом орфографических ошибок. Чтобы искать выражение и разрешить максимум 2 орфографические ошибки, наберите:

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

glimpse -i -2 «search exprission»

glimpse — тоже допускает орфографические ошибки (как и agrep) и -2 указывает, что разрешены две ошибки. glimpse доступен на

Бывает, что вы знаете, что файл или каталог существует, но не знаете, как его
найти. Существует несколько команд, которые помогут вам в этом:
find ,
locate и which .

4.10.1. Команда find

Команда find имеет следующий формат:

Find путь образец_для_поиска

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

Команда find имеет множество опций, ознакомиться с
которыми можно, прочитав man-страницу (введите в командной строке
man find). Чаще всего используется опция
-name , которая задает поиск всех файлов и каталогов,
содержащих в названии определенное сочетание букв.

Find . -name tes

Эта команда задает поиск в текущем каталоге всех файлов, содержащих в
названии «tes
».

4.10.2. Команда locate

С помощью этой команды вы можете увидеть все файлы или каталоги,
названия которых содержат искомый образец. Например, для поиска файла,
содержащего в названии слово
dog , введите в командной строке:

Locate dog

Команда locate использует базу данных для определения местонахождения файлов или каталогов,
содержащих в названии слово dog . Результаты поиска могут включать файл с
названием
dog , файл с названием
bulldog.txt , каталог с названием
/dogs/ и так далее. Чтобы узнать больше о команде
locate , обратитесь к ее man-странице (введите в командной строке man locate).

При условии, что база данных обновлена, команда locate осуществляет поиск очень быстро.
Обновление базы данных команды locate происходит каждую ночь при помощи службы cron .

cron — это небольшая программа, которая запускается в фоновом режиме и
выполняет
различные задачи (такие как обновление базы данных команды
locate) через определенные промежутки времени. Для доступа к
руководству
cron наберите в командной строке
man cron .

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

Чтобы обновить базу данных вручную, войдите в систему как root (набрав
в командной строке
su — и введя пароль root»а)
и наберите в командной строке updatedb .

Через некоторое время база данных slocate , используемая командой locate , обновится.

Закончив работу, для выполнения которой необходимо быть root»ом,
наберите в командной строке exit — вы вернетесь в вашу сессию.

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

df -h /boot

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1014M 194M 821M 20% /boot

Найти обычные файлы определённого размера

Чтобы найти обычные файлы нужно использовать
-type f

find /boot -size +20000k -type f

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
/boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img

Файлы бывают следующих типов:

— : regular file

d : directory

c : character device file

b : block device file

s : local socket file

p : named pipe

l : symbolic link

Подробности в статье —

«Файлы в Linux»

find /boot -size +10000k -type f

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
/boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/boot/initramfs-3.10.0-1160.el7.x86_64kdump.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

То же самое плюс показать размер файлов

find /boot -size +10000k -type f -exec du -h {} \;

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
60M /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
21M /boot/initramfs-3.10.0-1160.el7.x86_64.img
13M /boot/initramfs-3.10.0-1160.el7.x86_64kdump.img
21M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img
14M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

Работа с текстом

Команда head

Команда head используется для просмотра первых строк любого текстового файла. По умолчанию она будет показывать первые десять строк, но с помощью опции вы можете изменить это число. Например, для отображения только первых пяти строк, введите:

Команда diff

Команда diff (от англ. «difference») производит построчное сравнение содержимого двух файлов. После анализа файлов, выводится список несовпадающих строк. Программисты часто используют данную команду, когда им нужно внести некоторые изменения в исходный код программы:

Команда grep

Команда grep (от англ. «search globally for lines matching the regular expression, and print them») позволяет искать указанный текст в указанном файле, например:

Вышеприведенная команда будет искать слово blue в файле notepad.txt и выведет все строки, в которых содержится искомое слово.

Команда echo

Команда echo используется для вывода в терминал строки, указанной ей в качестве параметра. Часто команда применяется для перемещения некоторых данных в файл. Например, если вы хотите добавить строку «Hello, world!» в файл с именем name.txt, выполните:

Команда cat

Команда cat (от англ. «concatenate») отображает содержимое одного или нескольких файлов. Чтобы отобразить содержимое файла, необходимо указать его имя в качестве параметра команды :

Поиск через графический интерфейс

Главное меню

С помощью главного меню ОС вы можете не только искать и запускать программы, но также и выполнять поиск файлов. Подобный функционал присутствует во многих окружениях рабочего стола (, , и пр.). Например, в KDE это представлено следующим образом:

При этом стоит отметить, что такой вариант поиска ориентирован больше на поиск программ, нежели на поиск файлов, поэтому выполняется он только в домашнем каталоге и не уходит вглубь файловой системы.

Файловые менеджеры

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

Поиск по содержимому в Dolphin:

KFind

В KDE, помимо вышеупомянутых инструментов поиска, также есть замечательная утилита под названием KFind. С её помощью вы можете точно настроить параметры поиска (указать имя файла, его тип и путь поиска, обычный текстовый поиск или мета-поиск, дату изменения, размер, пользователя, группу и пр.). Она также позволяет сохранять результаты поиска в виде простого текстового списка URL-адресов найденных файлов:

SearchMonkey

SearchMonkey позволяет выполнять поиск файла, как по имени, так и по его содержимому, по диапазону дат и пр. Но главное преимущество SearchMonkey — это возможность везде применять регулярные выражения.

Поиск с применением регулярного выражения в SearchMonkey:

Recoll

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

Установить программу можно из официальных репозиториев через командную строку:

Или через графический интерфейс:

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

Это может быть очень удобно при работе с большим объемом текстовых данных. Программа поддерживает такие форматы файлов, как: .pdf, .djvu, .doc, .docx, .odf. А также умеет находить перечисленные файлы в архивах.

GUI

Графический интерфейс во многом облегчает жизнь новичкам, которые только установили дистрибутив Linux. Данный метод поиска очень похож на тот, что осуществляется в ОС Windows, хотя и не может дать всех тех преимуществ, что предлагает «Терминал». Но обо всем по порядку. Итак, рассмотрим, как сделать поиск файлов в Linux, используя графический интерфейс системы.

Способ 1: Поиск через меню системы

Сейчас будет рассмотрен способ поиска файлов через меню системы Linux. Проводимые действия будут выполняться в дистрибутиве Ubuntu 16.04 LTS, однако инструкция общая для всех.

Допустим, вам необходимо найти в системе файлы под именем «Найди меня», также этих файлов в системе два: один в формате «.txt», а второй — «.odt». Чтобы их отыскать, необходимо изначально нажать на иконку меню (1), и в специальном поле для ввода (2) указать поисковый запрос «Найди меня».

Отобразится результат поиска, где будут показаны искомые файлы.

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

Расположен он в правой части меню. Фильтровать вы можете по двум критериям: «Категории» и «Источники». Разверните эти два списка, нажав по стрелочке рядом с названием, и в меню уберите выделения с ненужных пунктов. В данном случае разумнее будет оставить лишь поиск по «Файлы и папки», так как мы ищем именно файлы.

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

Способ 2: Поиск через файловый менеджер

Второй способ имеет существенное преимущество. Используя инструмент файлового менеджера, можно произвести поиск в указанном каталоге.

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

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

Как и в предыдущем способе, в этом точно так же можно использовать фильтр. Для его открытия нажмите на кнопку со знаком «+», расположенную в правой части поля ввода поискового запроса. Откроется подменю, в котором вы можете из выпадающего списка выбрать искомый тип файла.

Установка и удаление пакетов

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

Только root или пользователь с привилегиями sudo может устанавливать и удалять пакеты.

apt (Ubuntu и Debian)

apt (от англ. «Advanced Package Tool») — это система управления пакетами, используемая дистрибутивами на базе Debian. В дистрибутивах на базе существует несколько инструментов управления пакетами с помощью командной строки, причем наиболее часто используются apt и apt-get.

Перед установкой нового пакета сначала необходимо обновить информацию о пакетах:

Индекс — это база данных, содержащая записи доступных в репозиториях пакетов, подключенных в вашей системе.

Чтобы обновить установленные пакеты до последних версий, выполните:

Установка пакетов так же проста:

Чтобы удалить установленный пакет, введите:

dnf (CentOS и Fedora)

rpm (сокр. от англ. «Red Hat Package Manager») — это мощная система управления пакетами, используемая в дистрибутивах от и производных дистрибутивах, таких как: и . С rpm также связаны команда rpm и .rpm-формат пакетов.

Чтобы установить новый пакет в дистрибутивах от Red Hat, вы можете использовать команду yum или dnf:

Начиная с CentOS 8, заменил в качестве менеджера пакетов по умолчанию, при этом обратно совместим с .

Чтобы обновить установленные пакеты до последних версий, введите:

Удаление пакетов так же просто, как:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector