Как использовать подстановочные знаки с командой find в Linux

LinuxBeginner
Практиковаться сейчас

Введение

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

Понимание подстановочных знаков в Linux

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

Самыми часто используемыми подстановочными знаками в Linux являются:

Символы подстановочных знаков

  • *: Совпадает с любым количеством символов, включая ноль символов.
  • ?: Совпадает с ровно одним символом.
  • []: Совпадает с любым одним из символов, заключенных в квадратные скобки.

Понимание шаблонов подстановочных знаков

Шаблоны подстановочных знаков можно использовать в различных командах, таких как ls, cp, mv и find, для выбора файлов и каталогов по указанному шаблону. Например:

  • ls *.txt: Показывает все файлы с расширением .txt.
  • cp file?.txt backup/: Копирует все файлы с именами, подобными file1.txt, file2.txt и т.д., в каталог backup/.
  • rm [0-9]*.log: Удаляет все логические файлы, имена которых начинаются с цифры.

Комбинирование подстановочных знаков

Подстановочные знаки можно комбинировать, чтобы создать более сложные шаблоны. Например:

  • ls file[0-9]_*.txt: Показывает все файлы, имена которых начинаются с file, за которым следует цифра, нижнее подчеркивание и расширение .txt.
  • find. -name "report_[0-9][0-9][0-9].pdf": Находит все PDF-файлы с именами report_001.pdf, report_002.pdf и т.д. в текущем каталоге и его подкаталогах.

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

Использование подстановочных знаков с командой find

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

Использование подстановочных знаков с командой find

Базовый синтаксис для использования подстановочных знаков с командой find выглядит так:

find [path] -name "pattern"

Здесь [path] - это каталог, в котором вы хотите начать поиск, а "pattern" - это шаблон подстановочных знаков, с которым вы хотите совпадение.

Примеры

  1. Найти все файлы с расширением .txt в текущем каталоге и его подкаталогах:

    find. -name "*.txt"
  2. Найти все каталоги с именем "backup" в каталоге /home/user:

    find /home/user -type d -name "backup"
  3. Найти все файлы, имена которых начинаются с "report_" и заканчиваются на ".pdf" в каталоге /documents:

    find /documents -name "report_*.pdf"
  4. Найти все файлы, имена которых содержат цифру в середине (например, file1.txt, file2.txt и т.д.) в текущем каталоге:

    find.. -name "file?.txt"
  5. Найти все файлы, имена которых состоят из цифры, за которой следует нижнее подчеркивание и затем любые символы в каталоге /data:

    find /data -name "[0-9]_*"

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

Практические применения подстановочных знаков

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

Переименование и копирование файлов

Подстановочные знаки могут быть чрезвычайно полезными, когда вам нужно переименовать или скопировать несколько файлов с похожим шаблоном. Например, предположим, у вас есть каталог с файлами, названными report_001.txt, report_002.txt, report_003.txt и т.д. Вы можете использовать следующие команды для их переименования:

mv report_*.txt backup/

Это переместит все файлы, соответствующие шаблону report_*.txt, в каталог backup/.

Создание резервных копий и архивации

Подстановочные знаки можно использовать для создания резервных копий определенных типов файлов или каталогов. Например, чтобы создать tar-архив всех файлов .pdf в каталоге /documents:

tar -czf documents_backup.tar.gz /documents/*.pdf

Эта команда создаст сжатый tar-архив с именем documents_backup.tar.gz, содержащий все PDF-файлы в каталоге /documents.

Удаление файлов

Подстановочные знаки также можно использовать для удаления нескольких файлов сразу. Например, чтобы удалить все логические файлы с расширением .log в каталоге /logs:

rm /logs/*.log

Эта команда удалит все файлы в каталоге /logs, имеющие расширение .log.

Поиск и фильтрация

Как уже упоминалось ранее, команда find может быть объединена с подстановочными знаками для выполнения нацеленных поисков файлов. Это может быть особенно полезно, когда вам нужно найти файлы по конкретным шаблонам, таким как имена файлов, расширения или содержимое.

find /data -name "report_[0-9][0-9][0-9].pdf"

Эта команда будет искать все PDF-файлы с именами report_001.pdf, report_002.pdf и т.д. в каталоге /data и его подкаталогах.

, вы можете упростить свою работу в Linux,节省时间并提高工作效率。

Резюме

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