Один из самых неприятных моментов, с которым обычно сталкивается большинство новых пользователей платформы Linux, - это неспособность найти простейшие и вместе с тем более эффективные средства поиска файлов в своей системе.
Linux, как и почти любая другая операционная система, использует несколько механизмов для ответа на поисковые запросы пользователей. Две из самых популярных утилит для поиска файлов, доступных пользователям, называются найти и найти.
Теперь важно отметить, что оба процесса поиска работают очень хорошо, но, тем не менее, в центре этой статьи будет больше внимания найти утилита, которая является более удобной из двух, поскольку в ней используются более эффективные способы быстрой обработки запросов, вводимых пользователями.
В найти утилита работает лучше и быстрее, чем найти аналог, потому что вместо поиска в файловой системе при запуске поиска файла - что-то делает find - locate будет просматривать базу данных. Эта база данных содержит биты и части файлов и соответствующие пути в вашей системе.
Вот десять простых команд поиска, которые помогут вам повысить продуктивность работы с Linux-машиной.
Запуск команды locate для поиска файла довольно прост и понятен. Все, что вам нужно сделать, это ввести:
$ найдите LAMP-Setup.odt /home/tecmint/LAMP-Setup.odt. /home/tecmint/TecMint.com/LAMP-Setup.odt.
Вы можете ограничить количество возвращаемых результатов поиска до необходимого числа, чтобы избежать дублирования результатов поиска, используя -n
команда.
Например, если вы хотите просто 20 результаты ваших запросов, вы можете ввести следующую команду:
$ locate "* .html" -n 20 /home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html. /home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html. /home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html. /home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html. /home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html. /home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html. /home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html. /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html. /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html. /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html. /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html. /home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html.
В результатах будут показаны первые 20 файлов, заканчивающиеся на .html
.
Если вы хотите отобразить количество всех совпадающих записей файла «Tecmint", использовать найти -c команда.
$ locate -c [tecmint] * 1550.
По умолчанию, найти настроен для обработки запросов с учетом регистра, что означает TEXT.TXT
укажет вам на другой результат, чем text.txt
.
Иметь найти игнорирует чувствительность к регистру и отображает результаты как для запросов в верхнем, так и в нижнем регистре, вводите команды с -я
вариант.
$ locate -i * text.txt * /home/tecmint/TEXT.txt. /home/tecmint/text.txt.
С найти команда полагается на базу данных, называемую mlocate. Указанная база данных должна регулярно обновляться, чтобы командная утилита работала.
эффективно.
Чтобы обновить mlocate база данных, вы используете утилиту под названием обновленоb. Следует отметить, что для правильной работы вам потребуются привилегии суперпользователя, если это нужно выполнять с правами root или sudo.
$ sudo updatedb.
Когда у вас есть обновленный mlocate база данных**, найти Команда по-прежнему выдает результаты для файлов, физические копии которых удалены из вашей системы.
Чтобы не видеть результаты файлов, отсутствующих на вашем компьютере во время ввода команды, вам нужно будет использовать найти-е команда. Процесс выполняет поиск в вашей системе, чтобы проверить наличие файла, который вы ищете, даже если он все еще присутствует в вашем mlocate.db.
$ locate -i -e * текст.txt * /home/tecmint/text.txt.
найти разделителем по умолчанию для команды является новая строка (\\ п)
персонаж. Но если вы предпочитаете использовать другой разделитель, например ASCII NUL, вы можете сделать это с помощью -0
параметр командной строки.
$ locate -i -0 * text.txt * /home/tecmint/TEXT.txt/home/tecmint/text.txt.
Если вы сомневаетесь в текущем статусе вашего mlocate.db, вы можете легко просмотреть статистику поисковой базы данных, используя -S
команда.
$ locate -S База данных /var/lib/mlocate/mlocate.db: 32 246 каталогов 4 18 850 файлов 2,92 36 692 байта в именах файлов 1,13 64 319 байтов, используемых для хранения базы данных.
Постоянные попытки доступа к базе данных вашего местоположения иногда приводят к ненужным сообщениям об ошибках, в которых говорится, что у вас нет необходимых привилегий для получения корневого доступа к mlocate.db, потому что вы всего лишь обычный пользователь, а не требуемый суперпользователь.
Чтобы полностью избавиться от этого сообщения, используйте -q
команда.
$ locate "\ *. dat" -q *
Если вы вводите запросы, которые ищут результаты, которых нет в стандартном mlocate базы данных и хотите получить ответы от другого mlocate.db расположен где-то еще в вашей системе, вы можете указать команду locate на другой mlocate база данных в другой части вашей системы с -d
команда.
$ locate -d
найти может показаться одной из тех утилит, которые делают все, что вы просили, без особой суеты, но на самом деле, чтобы процесс сохранял свою эффективность, mlocate.db нужно время от времени получать информацию. В противном случае программа может стать немного бесполезной.