CFA LogoCFA Logo Computer
Загрузка поиска
Новости Компьютеры Прайс-лист [Новое] Прайс-лист [Б/У] Для ноутбуков Конфигуратор ПК Заказ, Оплата, Доставка Сервис объявления Драйвера Статьи Как нас найти Контакты
Новости
RSS канал новостей
Компания Hewlett-Packard выпустила в продажу ноутбук модели HP Envy x360, основой для которого послужил ...
Компания G.Skill в эти дни объявила о выпуске новых представителей серии оперативной памяти Trident ...
Список материнских плат компании Biostar пополнился свежими моделями под поколения процессоров Intel ...
Похоже, что компания Gionee в эти дни очень сильно занята. Только недавно мы сообщали об анонсе ...
Компания Enermax в своем коротеньком пресс-релизе рассказала общественности о старте серии недорогих ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2002 ГОД

Зоркий глаз пингвина

Сергей ЯРЕМЧУК grinder@ua.fm

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

Народная мудрость

Кто ищет, тот всегда найдет.

Если у вас установлен один из современных дистрибутивов, то в его состав входят и утилиты для поиска в оконном режиме. Чтобы добраться до них, необходимо нажать К > Приложения > Файловые утилиты. В данном пункте их может быть две (зависит от дистрибутива). Первая (от создателей KDE) так и называется —«Поиск файлов». Данная утилита (рис. 1) позволяет организовать поиск по названию файла (можно использовать шаблон), задавать исходный каталог для поиска, поиск по диапазону дат, во вкладке «Дополнительно» можно задать тип файла (сокет, файлы определенных приложений, файлы шрифтов, только каталоги и т. д.). Я думаю, при использовании ее не должно возникнуть никаких трудностей. Вторая утилита (входит в состав Gnome) называется «ИскательGnome» (рис. 2). Это более мощная утилита для поиска. Она представляет собой графическую оболочку для unix-команд find/grep/locate. При первом запуске данной утилиты у вас может быть активировано только поле для задания исходного каталога — чтобы активировать остальные видимые поля, нажмите на кнопку «Включить», а если и этого вам будет мало, то нажмите на кнопку «Добавить» и в выпадающем списке выберите необходимую опцию поиска. А выбирать там есть из чего — здесь и поиск с использованием регулярного и расширенного регулярного выражения, поиск по дате последнего изменения, поиск несуществующих пользователей и групп, поиск подстроки в файле и еще ряд опций. Но самое главное, что нажатием на кнопку «Показать команду» можно вывести и откорректировать команду поиска (рис. 3).

Рис. 1   Рис. 2

В арсенале Linux есть еще одна графическая утилита, связанная с поиском файлов. Называется она «Поиск приложений» (рис. 4) и предназначенная для поиска «иксовых» приложений и добавления их в меню быстрого запуска К в KDE (или что там у вас вместо него). Особенно помогает при изобилии новых программ, тем более при работе в многопользовательской среде, когда пользователь не в состоянии полностью контролировать их состав.

Рис. 3   Рис. 4

Можно было бы еще что-нибудь рассказать о данных утилитах, но «наша песня не о них, а о команде find». Да-да, опять о командной строке. Поверьте моему опыту, в эффективности данной команды вы убедитесь после того, как попытаетесь что-либо найти с нестандартными критериями поиска. Если с помощью различных переключателей в графическом режиме представить все опции данной команды, то, поверьте, получится нечто весьма монструозное. Работу данной программы можно разбить на три этапа:

• где искать;

• что искать;

• что делать с найденным.

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

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

А вот так можно просмотреть список файлов, находящихся в домашнем каталоге (аналог команды ls):

И еще одно замечание: создатели GNU-версии команды find, той, что используется в Linux, справедливо полагают, что пользователь, запустивший команду, в любом случае заинтересован в ее видимом результате, а поэтому сделали ключ -print необязательным. Но в Unix вы иначе ничего не увидите.

А теперь пришла пора познакомиться и с остальными ключами данной команды, во всяком случае, наиболее употребительными из них (см. табл. 1). Сразу предупреждаю, что могут иметь место изменения от дистрибутива к дистрибутиву — если что не так, справьтесь в man find.

Ну как, впечатляет? Что, много? Не беспокойтесь, аппетит приходит… во время тренировок :-). Давайте на примерах разберемся, что к чему.

Вот так можно найти файлы с расширением *.mp3:

Можно задавать несколько подкаталогов для поиска:

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

Данная команда найдет все файлы, к которым не обращались в течение последних 20 дней.

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

А если вы изменили группу файлов и не помните, каких именно, но помните, что им предшествовало изменение определенного файла, то остальные можно найти, воспользовавшись следующей командой:

Здесь добавлен параметр -type f,чтобы искать только изменившиеся файлы, а не каталоги.

Команда find позволяет использовать логические операции. Если вы хотите найти файлы, удовлетворяющие разным условиям, то воспользуйтесь параметром or (-o):

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

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

Можно использовать при поиске и знак логического отрицания ! (-not); например, следующая команда найдет пустые каталоги, но не файлы.

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

Например, с помощью следующей команды мы найдем файлы *.mp3, выберем только файлы определенной группы, составим плей-лист и сразу запустим на проигрывание программой mpg123:

Некоторые программы в ходе своей работы также могут осуществлять вывод по шаблону. Например, при поиске шрифтов, установленных в системе, можно воспользоваться программой xlsfonts. Вот так, например, можно найти все шрифты с кодировкой KOI8-R:

Если вас не устраивают рамки одной команды поиска и вы к тому же хотите обработать результат, то создавайте скрипты на языке оболочки или программы на Perl и AWK. Еще желательно познакомиться с регулярными выражениями — это существенно расширит горизонты. Так что вариантов для поиска и обработки результата, как видите, в Linux предостаточно. Остается напоследок пожелать удачных поисков — и…

Linux forever!

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © www.sector.biz.ua 2006-2015 design by Vadim Popov