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

Main navigation

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

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

  1. Главная

Поиск файлов

Автор: mensh, 22 ноября, 2005
Основы
Команды
  • Файлы

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

Поиск файлов в Linux

Содержание

  • Команда which
  • Команда whereis
  • Команда find
  • Команда locate

Команда which

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

$ which wvdial
/usr/bin/wvdial

Из примера видно, что wvdial находится в каталоге /usr/bin. Команда which является достаточно ограниченной, так как выполняет поиск только в вашей переменной PATH.

Команда whereis

Команда whereis работает примерно как и which, однако она также ищет страницы руководства и файлы с исходными текстами. Поиск wvdial с помощью whereis должен дать следущее:

$ whereis wvdial
wvdial: /usr/bin/wvdial /etc/wvdial.conf /etc/wvdial.conf-sample /usr/X11R6/bin/wvdial /usr/bin/X11/wvdial /usr/X11/bin/wvdial /usr/man/man1/wvdial.1.gz /usr/share/man/man1/wvdial.1.gz /usr/X11/man/man1/wvdial.1.gz

команда whereis сообщила нам не только, где находится программа, а также и местонахождение документации к ней. Однако и эта команда всё ещё ограничена.

Команда find

Команда find позволяет пользователю выполнять поиск по файловой системе с помощью большого набора поисковых аргументов. Пользователи могут искать файлы по именам с использованием шаблонов подстановки, диапазонов времени их изменения или создания и других расширенных свойств. Например, чтобы найти в системе файл xinitrc, можно воспользоваться следующей командой (/dev/null позволит не выводить на экран многочисленные сообщения “Отказано в доступе” при использовании команды от обычного пользователя):

$ find / .name xinitrc 2> /dev/null
/etc/X11/xinit/xinitrc
/etc/xfce/xdg/xfce4/xinitrc

Команда locate

Команда locate выполняет поиск по всей файловой системе примерно как и find, однако поиск ведётся по базе данных, а не по самой файловой системе. Обновление базы данных выполняется автоматически каждое утро, чтобы у вас был более свежий список файлов своей системы. Можно вручную запустить updatedb для обновления базы данных locate (перед этим необходимо получить права root с помощью su). Вот пример работы locate:

$ su			# Получаем права root
Password:		# Вводим пароль
# updatedb	# Обновляем базу данных
# exit			# Теперь права root не нужны
exit
~$ locate xinitrc
/etc/X11/xinit/xinitrc
/etc/X11/xinit/xinitrc.kde
/etc/X11/xinit/xinitrc.twm
/etc/X11/xinit/xinitrc.fvwm2
/etc/X11/xinit/xinitrc.icewm
/etc/X11/xinit/xinitrc.xfce
/etc/X11/xinit/xinitrc.blackbox
/etc/X11/xinit/xinitrc.wmaker
/etc/X11/xinit/xinitrc.fluxbox
/etc/xfce/xdg/xfce4/xinitrc
/home/ftp/pub/ALTLinux/Master/2.4/ALTLinux/RPMS.main/xinitrc-2.4.22-alt1.i586.rpm

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

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

  • Утилита Linux nmcli
    7 months 1 week ago
  • Утилита TestDisk в Linux
    8 months 1 week ago
  • Команда Linux zcat
    8 months 3 weeks ago
  • Утилита Speedtest
    9 months ago
  • Утилита xrandr
    10 months 1 week ago
RSS feed

Secondary menu

  • О проекте

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