С терминалом: примеры с командой поиска

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

Чтобы получить справку по запуску команды:

man find

чтобы выйти из руководства, просто нажмите кнопку [Q] (действительно для любого руководства).

В следующих примерах точка (.) После поиска (find.) Означает, что мы ищем папку, указанную в приглашении. Его можно заменить на любой допустимый путь, например / home /.

Примеры:

Просто ищите файлы с рисунком.
find . -type f -name "*.deb"

найти и скопировать в / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Найдите файлы Thumbs.db и удалите их.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Создайте чистый текстовый файл с файлами md5 в каталоге.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Удалите надоедливые папки .svn.
find | grep "\.svn$" | xargs rm -fr

Замените один текст другим.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Найдите файлы, обновленные день назад.
find /var/log/[a-z]* \*.sql -mtime +1

Чтобы сгенерировать файлы md5sums пакетов DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

16 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   правильный сказал

    удалите все файлы, кроме .txt (очевидно, что .txt может быть любым)
    находить. ! -name "* .txt" -exec rm {} \;

    поиск без совпадений с учетом регистра:
    находить. -iname «* foobar *»

    Примечание: команду -exec нельзя запустить с параметром -iname.

  2.   тарегон сказал

    Отлично 😉 эта команда должна быть обязательной, чтобы знать, прежде чем я был напуган параметрами, которые существовали в 'man', чтобы иметь возможность выполнять поиск, но, дав ему возможность, я мог увидеть, насколько она эффективна, когда дело доходит до поиска того, что я забыл на моем жестком диске 😐

  3.   Хьюго сказал

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

    Еще одно из моих предпочтительных вариантов использования команды find - рекурсивное изменение разрешений:


    find . -type d -print0 | xargs -0 chmod 755
    find . -type f -print0 | xargs -0 chmod 644

  4.   электрон222 сказал

    Интересно ^ _ ^

    1.    КЗКГ ^ Гаара сказал

      Как круто выглядит иконка Чакра хахахахахаха 😀

      1.    sieg84 сказал

        Магея пропала 🙂

        1.    КЗКГ ^ Гаара сказал

          Ага, верно 😀
          Прямо сейчас я основываюсь на этом хехехехе. Спасибо 🙂

          1.    лестерцона сказал

            И еще один для моего дистрибутива ...

  5.   стрельба из лука сказал

    Спасибо, команды очень полезны, я сомневаюсь, что помню, что в Ubuntu я когда-то использовал команду locate, это какой-то псевдоним find или ...

    1.    Хьюго сказал

      Negative. разместить, mlocate y размещать другие команды поиска, которые в отличие от найдите, они используют базу данных, которую необходимо периодически обновлять с помощью команды обновленоb.

      Оба типа команд имеют свое применение. Я, например, обычно использую обновленоb с последующим mlocateнайти, когда я действительно хочу найти что-то быстрое в каталоге с большим количеством данных, которые, как я знаю, не обновляются слишком часто (например, пакет в репозитории), и найдите когда я хочу сделать что-то более сложное, например объединить результаты поиска с другой командой, или когда я просто не хочу создавать базу данных, потому что я знаю, что каталог, в котором я собираюсь искать, не содержит слишком много информации.

      1.    стрельба из лука сказал

        Большое спасибо Хьюго, отличное объяснение, я могу только сказать, насколько мощный терминал в gnu / linux!

  6.   Сандры сказал

    Привет, я вижу, что это старая тема, но, надеюсь, вы все еще можете мне помочь.

    Я учусь использовать регулярное выражение, так как я видел документ, и я ищу слова ошибка или сбой и его производные ошибки или сбой или сбой и т.д., и мое регулярное выражение:
    : / \ (. * \ (ошибка | сбой \). * \) /
    При выполнении он сообщает мне, что совпадений нет 🙁 кроме
    :/\(.*\(ошибка\).*\)/
    o
    : / \ (. * \ (потерпеть поражение \). * \) /
    Если найдешь совпадения, скажи, в чем я ошибаюсь?

    1.    КЗКГ ^ Гаара сказал

      Какую полную строку вы ставите?

      Чтобы проверить и посмотреть, найду ли я решение.

      С другой стороны, в любом случае, вы можете проверить здесь: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   Esthefani сказал

    Пожалуйста, помогите мне, я хочу скопировать файлы, заканчивающиеся на * _ZFIR0069.TXT, на другой путь и добавить дату в конец, я выполняю команду:

    date = $ (дата + »% Y% m% d%»)
    find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;

    Но результат такой:

    {} _20160225% -> но он копирует только один файл из всех, и он переименовывается таким образом

    Я хочу, чтобы он скопировал все файлы и имел этот формат * _ZFIR0069_ $ date .TXT

    Привет.

  8.   pepG сказал

    В чем разница между find * -type d и find / home / pepe -type d? Я хочу перечислить каталоги своей учетной записи, и я не понимаю, почему первый делает это правильно, а второй - нет. помочь

  9.   Кайке сказал

    Как мне найти файлы, которые заканчиваются цифрами? Спасибо