Автор: Laura McKinney
Дата создания: 1 Апрель 2021
Дата обновления: 1 Июль 2024
Anonim
Поиск файлов в Linux и Unix — find, grep, ack, ripgrep
Видео: Поиск файлов в Linux и Unix — find, grep, ack, ripgrep

Содержание

В этой статье: Используйте «найти» Используйте «найти» Поиск е в файлах Аннотация статьи 5 Список литературы

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


этапы

Способ 1 Используйте «найти»



  1. Ищите файл по имени файла. Это самый простой поиск, который вы можете запустить с помощью команды найти, Команда ниже будет искать ваш запрос в текущей папке и любой подпапке.

    find -iname "имя файла"

    • использование -iname вместо -name игнорировать регистр вашего запроса. Порядок -name чувствителен к регистру.



  2. Начните поиск в «корневой» папке. Если вы хотите выполнить поиск по всей вашей системе, вы можете добавить модификатор / по вашей просьбе. Что скажет найти искать все каталоги из "корневой" папки.

    find / -iname "имя файла"

    • Вы можете начать поиск в определенной папке, заменив/ по пути каталога, как / Главная / погладить.
    • Вы можете использовать . вместо / заставить поиск выполняться только в текущей папке и ее подпапках.



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

    find / home / pat -iname "* .conf"

    • Это вернет все файлы .conf в пользовательскую папку Пата (и его подпапки).
    • Вы также можете использовать его, чтобы найти все, что соответствует части имени файла. Например, если у вас есть много документов, связанных с , вы можете найти их все сразу, набрав "* Wiki *".


  4. Сделайте ваши результаты поиска проще в управлении. Если вы получаете много результатов поиска, вам будет трудно просматривать их. Используйте персонажа | отправить результаты поиска в «менее» программное обеспечение для фильтрации. Это может позволить вам прокручивать результаты и фильтровать их намного проще.

    find / home / pat -iname "* .conf" | меньше



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

    find / -type f -iname "имя файла"



  6. Фильтруйте результаты поиска по размеру. Если у вас есть много файлов с похожими именами, но вы знаете размер того, что ищете, вы можете отфильтровать результаты по их размеру.

    find / -size + 50M -iname "имя файла"

    • Это вернет результаты размером 50 мегабайт или более. Вы можете использовать + или - искать большие или меньшие размеры. Забыть + или - будет искать файлы, которые делают точно указанный размер.
    • Вы можете фильтровать по количеству документов (с), килобайт (К), мегабайт (M), гигабайт (G) или блоками по 512 байт (б). Обратите внимание, что размер тега чувствителен к регистру.


  7. Используйте логические операторы для объединения поисковых фильтров. Вы можете использовать операторы , -или и -не объединить разные виды поиска в один.

    find / photosdevacances -type f -size + 200k -not -iname "* 2015 *"

    • Приведенная выше команда найдет файлы в каталоге «photospeed», размер которых превышает 200 килобайт, но они не содержат «2015» нигде в имени файла.


  8. Ищите файлы по владельцу или разрешениям. Если вы попытаетесь найти определенный файл, владельцем которого является конкретный пользователь, или файлы с определенными разрешениями, вы можете сузить поле поиска.

    find / -user pat -iname "имя файла" find / -группа пользователей -iname "имя файла" find / -perm 777 -iname "имя файла"

    • Приведенные выше примеры будут искать пользователей, группы или разрешения, указанные в запросе. Вы также можете не указывать имя файла, который вы ищете, чтобы увидеть все файлы, которые соответствуют запрашиваемому типу возвращено. Например, найти / -perm 777 Вы вернете все файлы с разрешениями 777 (без ограничений).


  9. Объедините команды для выполнения действий, когда файлы найдены. Вы можете объединить команду найти с другими командами, чтобы они могли быть выполнены для файлов, возвращаемых запросом. Отдельный заказ найти вторая команда по тегу -execзатем закончите строку ;
    • Это запустит поиск в текущей папке (и во всех ее подпапках) файлов с разрешениями 777. Затем консоль будет использовать команду CHMOD изменить разрешения на 755.

Метод 2 из 2: Используйте «locate»



  1. Установите функцию.разместить, Порядок разместить обычно работает намного быстрее чем найтипотому что он работает с использованием базы данных из структуры ваших файлов. Все дистрибутивы Linux не поставляются с функциональностью разместить установлен на нем, поэтому введите следующие команды, чтобы установить его:
    • тип sudo apt-get update и нажмите запись.
    • тип sudo apt-get установить mlocate и нажмите запись, если разместить уже установлен, вы получите mlocate уже самая новая версия.


  2. Обновите свою базу данных.разместить, Порядок разместить ничего не могу найти, пока его база данных не будет построена и обновлена. Это делается автоматически каждый день, но вы также можете запустить обновление вручную. Вам придется сделать это, если вы хотите начать использовать разместить немедленно.
    • тип sudo updatedb и нажмите запись.


  3. Использование.разместить делать простые поиски. Порядок разместить быстро, но не имеет никаких опций в качестве команды найти, Вы можете связать базовый поиск файлов более или менее так же, как с помощью команды найти.

    найдите -i "* .jpg"

    • Эта команда будет искать файлы с расширением .jpg на всей вашей машине. Заменяющий персонаж * работает так же, как с командой найти.
    • Что касается заказа найти, -i игнорировать регистр вашего запроса.


  4. Ограничьте результаты поиска. Если ваши запросы отправляют вам слишком много результатов для управления, вы можете удалить некоторые из них, используя опцию -nсопровождаемый количеством результатов, которые вы хотите отобразить.

    найдите -n 20 -i "* .jpg"

    • Будут отображены только первые 20 результатов, соответствующих запросу.
    • Вы также можете использовать Lastuce | отправить результаты меньше просматривать их легче.

Метод 3 из 3: Поиск е в файлах



  1. Используйте команду.Grep искать последовательности символов в файлах. Если вы ищете файл, содержащий определенное предложение или последовательность символов, вы можете использовать команду Grep, Основной порядок Grep принимает следующую форму:

    grep -r -i "запрос" / путь / к / каталогу /

    • опция-r устанавливает поиск в «рекурсивный», делает поиск «рекурсивным», поэтому он будет искать любой файл, содержащий последовательность символов запроса в текущей папке и всех ее подпапках.
    • опция -i указывает, что запрос не чувствителен к регистру. Если вы хотите, чтобы поиск был чувствительным к регистру, не ставьте оператор -i.


  2. Удалите лишние e. Когда вы делаете поиск с Grep как указано выше, вы увидите имя файла, который будет выделен рядом с буквой e, соответствующей запросу. Вы можете скрыть соответствующий e и просто отобразить имена файлов и их пути, включая следующие:

    grep -r -i "запрос" / путь / к / каталогу / | cut -d: -f1



  3. Скрыть ошибки. Порядок Grep вернет ошибку при попытке доступа к папкам без соответствующих разрешений или при попытке запуска в пустые папки. Вы можете вернуть ошибки в / dev / null, что скроет их с вашего вывода на экран.

    grep -r -i "запрос" / путь / к / каталогу / 2> / dev / null

Рекомендовано для Вас

Как определить, тепло ли у вашей кошки?

Как определить, тепло ли у вашей кошки?

В этой статье: Распознавание поведенческих признаковИспользование репродуктивного цикла кошки У кошки, которая не была подвергнута стерилизации, может быть первый жар от 5 месяцев до полутора лет, в з...
Как определить, есть ли у человека зависимое расстройство личности

Как определить, есть ли у человека зависимое расстройство личности

Соавтором этой статьи является Труди Гриффин, LPC. Труди Гриффин является лицензированным профессиональным консультантом в Висконсине. В 2011 году она получила степень магистра по клиническим консульт...