Подстановка имен файлов и подстановочные знаки

Globbing в Linux — это механизм в оболочке (например, в Bash), который позволяет использовать специальные символы-шаблоны для автоматического подбора имён файлов и путей к ним

    Globbing

    bash может выполнять подстановку имен файлов, данный процесс называется globbing, при этом не используется стандартный набор регулярных выражений При выполнении подстановки имен файлов, производится распознавание и интерпретация шаблонных символов
    Применение шаблонных символов имеет ряд ограничений, например имена файлов которые начинаются с точки не будут соответствовать шаблону, содержащему символ *
    Символ ? имеет другой смысл в подстановке файлов нежели в регулярных выражениях

    #Пример_1 ~/folder$ ls -l [f]* -rw-rw-r-- 1 chich chich 0 июн 16 15:24 file1.txt -rw-r--r-- 1 root chich 0 июн 16 15:26 file2.txt -rw-rw-r-- 1 chich chich 0 окт 2 15:06 file3 -rw-rw-r-- 1 chich chich 0 окт 2 15:06 file4 -rw-rw-r-- 1 chich chich 0 окт 2 15:06 file5 -rw-rw-r-- 1 chich chich 0 окт 2 15:06 file6 #Пример2 ~/folder$ ls file? file3 file4 file5 file6 #Пример_3 ~/folder$ ls [a-z]* file1.txt file2.txt file3 file4 file5 file6 test.log sub_folder: sub_folder1: #Пример_4 ~/folder$ ls [^f]* test.log sub_folder: sub_folder1: #Пример_5 файлы которые начинаются с b или c или содержать est ls -l {b*,c*,*est*} #Показать файлы с любым окончанием, в том числе без префикса ls file* file file1 file2 file3 file4 filea fileb filec #Показать файлы кроме 1-3 ls file[^1-3] #В диапазоне с 1-3 ls file[1-3] file1 file2 file3 #В диапазоне от a до b ls file[a-b] filea fileb #1-2 и a-b ls file[1-3a-b] file1 file2 file3 filea fileb
    Подстановочный знаки

    В Linux в качестве подстановочных знаков можно использовать три символа:
    
    * (звездочка)
    который обозначает ноль, один или несколько вхождений любого символа.
    
    ? (вопросительный знак)
    который обозначает однократное появление любого символа.
    
    [ ] (символы в квадратных скобках)
    который представляет любое вхождение символа (ов), заключенного в квадратные скобки. Можно использовать символы разных типов, будь то цифры, буквы или другие специальные символы. Например, выражение [0-9] соответствует всем цифрам.
    

    #Удалить все файлы в текущем рабочем каталоге rm * #Вывести список всех файлов, имена которых начинаются с l, за которым следует любой символ, и заканчиваются на st ls l?st #Удалите все каталоги, названия которых начинаются с буквы rmdir [a-z]* # будут найдены все файлы, которые заканчиваются на .png find /home -name *.png # список всех текстовых файлов, которые начинаются с символов lpic-, за которыми следует любое количество символов, и заканчиваются символами .txt ls lpic-*.txt # для копирования всего содержимого каталога используется следующая команда: cp -r SOURCE_PATH/* DEST_PATH #Удалить файлы, которые содержат в имени подстроку ate rm *ate* # только те файлы, которые начинаются с l, за которыми следует любой одиночный символ и символы st.txt ls l?st.txt #файлы, начинающиеся с любых двух символов, за которыми следует текст st.txt ??st.txt #список всех файлов, начинающихся с l, за которыми следует любой из символов в наборе aef и заканчивающихся на st.txt ls l[aef]st.txt #все файлы, имена которых начинаются с l, за которыми следует любая строчная буква в диапазоне a–z и которые заканчиваются на st.txt ls l[a-z]st.txt #начинается с student- #за которым следует число и заглавная буква #и заканчивается на .txt ls student-[0-9][A-Z].txt #Комбинирование подстановочных знаков ls [plf]?st* #список всех файлов, которые начинаются с буквы f, за которой следует любой набор букв, хотя бы одна цифра и заканчивается .txt ls f*[0-9].txt
    Источники
    Последнее изменение: 02.08.2026 11:25


    Связанные темы

    Команда exec linux

    Использование команды tee в Linux

    Язык shell в Linux

    Библиотеки Linux

    Использование md5sum

    Использование wget и curl в Linux

    Команда chattr и lsattr в Linux

    Использование awk Linux Alpine

    Использование sed в Linux

    Применение getopt в Linux

    Командная оболочка Shell

    Классы символов в Linux

    Использование tar в Linux

    Проверка на необходимость перезапуска после обновления пакетов

    Функции в языке Shell

    Использование grep в Linux

    Архивирование и сжатие файлов в Linux

    Использование find Linux

    Переменные в Linux

    Полезные команды и скрипты Linux

    Использование регулярных выражений в Linux

    Условная конструкция if в Linux

    Использование grep в Linux

    Использование xargs в Linux

    Фигурные скобки в bash

    Циклы в языке shell

    Использование оператора select в языке shell

    Внутренние и внешние команды linux

    Использование конструкции case в Linux

    Подстановка команд в Linux

    Мониторинг системы Linix с помощью getconf

    Использование ANCI последовательностей в Linux

    Стандартные потоки и перенаправление ввода/вывода в Linux

    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ