Перейти к основному содержанию
Рецепты Linux

Main navigation

  • Основы
  • Система
  • Команды
  • Программы
  • Дистро
  • Интерфейсы
  • Устройства
  • Доки
User account menu
  • Войти

Строка навигации

  1. Главная
  2. Документация openSUSE
  3. Start-Up
  4. Часть II. Основы
  5. Глава 8. Основы оболочки

8.8. Поиск файлов или содержимого

Bash предлагает несколько команд для поиска файлов и для поиска по содержимому файлов:

locate

Эта утилита доступна, только если вы установили пакет findutils-locate. При помощи этой команды вы можете узнать, в каком каталоге находится указанный файл. Если требуется, используйте безразличные символы для указания имен файлов. Программа очень быстрая, потому что она использует базу данных, специально созданную для этой цели (вместо того, чтобы искать по всей файловой системе). Этот самый факт, тем не менее, приводит к большому недостатку: locate не может найти файлы, созданные после последнего обновления своей базы данных. База данных может быть создана от root запуском updatedb.

find

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

grep

Команда grep ищет указанную строку поиска в указанных текстовых файлах. Если строка поиска не найдена, команда показывает строку, в которой строка_поиска была найдена вместе с именем файла. Если требуется, используйте безразличные символы для указания имен файлов.

8.8.1. Примеры поиска

Рабочие столы KDE и GNOME хранят специфичные для пользователя данные в скрытых каталогах, например .kde и .gnome.

  1. Для нахождения этих каталогов на вашем компьютере введите

    locate .kde

    , если у вас установлен рабочий стол KDE, или

    locate .gnome

    если у вас установлен рабочий стол GNOME.

    Вы увидите, что locate показывает все имена файлов в базе данных, которые где-либо содержат строку .kde или .gnome. Для того, чтобы узнать, как изменить такое поведение, обратитесь к странице man locate.

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

    find ~ -name *.txt
  3. Для поиска в каталоге (в этом случае, в вашем домашнем каталоге) всех встретившихся файлов, которые содержат, например, слово music, введите

    grep music ~*.*

    Заметьте, что grep чувствителен к регистру —, кроме тех случаев, когда вы используете его с параметром -i. При помощи вышеуказанной команды вы не найдете никаких файлов, содержащих Music.

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

    grep "music is great" ~*.*

Перекрёстные ссылки книги для 8.8. Поиск файлов или содержимого

  • 8.7. Редактирование текстов
  • Вверх
  • 8.9. Просмотр текстовых файлов

Book navigation

  • Start-Up
    • Об этом руководстве
    • Часть I. Установка и настройка
    • Часть II. Основы
      • Глава 7. Основные концепции
      • Глава 8. Основы оболочки
        • 8.2. Ввод команд
        • 8.3. Работа с файлами и каталогами
        • 8.4. Становление root
        • 8.5. Изменение прав доступа к файлу
        • 8.6. Полезные особенности оболочки
        • 8.7. Редактирование текстов
        • 8.8. Поиск файлов или содержимого
        • 8.9. Просмотр текстовых файлов
        • 8.10. Перенаправление и каналы
        • 8.11. Управление процессами
    • Часть III. Мобильность
    • Часть IV. Помощь и разрешение проблем
    • Приложение A. Лицензии GNU
  • KDE Quick Start
  • GNOME Quick Start

Последние материалы

  • Приложение scanimage
    1 day ago
  • Утилита sensors
    5 days ago
  • Сканер Rkhunter
    1 week 5 days ago
  • Программа resize2fs
    2 weeks 3 days ago
  • Аудиопроигрыватель QMMP
    3 weeks 2 days ago
RSS feed

Secondary menu

  • О проекте

© 2008–2025 Олег Меньшенин mensh@yandex.ru