Linux. Основы командной строки
December 31, 2023

Linux. Основы командной строки. Часть 3-ая.

Hi, Bae, на связи Shady.

Групповые символы.

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

Групповые символы позволяют выбирать имена файлов по шаблону.

Групповые символы и их соответствие:

Любая последовательность любых символов:

*

Любой один символ:

?

Любой один символ из указанных множества символов:

[символы]

Любой один символ, не принадлежащий указанному множеству символов:

[!символы]

Любой один символ, принадлежащий указанному классу:

[[:класс:]]

Часто используемые классы символов:

Любой алфавитно-цифровой символ:

[:alnum:]

Любой алфавитный символ:

[:alpha:]

Любой цифровой символ:

[:digit:]

Любая буква в нижнем регистре:

[:lower:]

Любая буква в верхнем регистре:

[:upper:]

Примеры использования групповых символов:

Все имена файлов:

*

Все имена файлов, начинающиеся с символа 'g':

g*

Все имена файлов, начинающиеся с символа 'b', за которым следует любое число других символов, и заканчивающиеся на '.txt':

b*.txt

Все имена файлов, начинающиеся с символов 'Data' за которыми следуют ровно 3 любых символа:

Data???

Все имена файлов, начинающиеся с символа 'a', 'b' или 'c':

[a,b,c]*

Все имена файлов, начинающиеся с символов 'BACKUP', за которыми следуют ровно 3 цифровых символа:

BACKUP. [0-9][0-9][0-9]

Все имена файлов, начинающиеся с буквы в верхнем регистре:

[[:upper:]]*

Все имена файлов, не начинающиеся с цифры:

[![:digit:]]*

Все имена файлов, заканчивающиеся буквой в нижнем регистре или цифрой '1', '2' или '3':

*[[:lower:]123]

Команды.

mkdir (make directory) - создание каталогов.

Команда mkdir используется для создания каталогов. Вызывается она следующим образом (точки обозначают что каталогов может быть несколько):

mkdir [каталог]...

Создание 3-ех каталогов с именами dir1, dir2, dir3:

mkdir dir1 dir2 dir3

cp (copy) - копирование файлов и каталогов.

Команда cp копирует файлы и каталоги. Её можно использовать 2-мя разными способами.

  • Чтобы скопировать один файл или каталог item1 в файл или каталог item2:
cp item1 item2
  • Чтобы скопировать несколько элементов (файлов/каталогов) в указанный каталог:
cp [элемент]... [каталог]

mv (move) - перемещение и переименование файлов.

Команда mv выполняет операции перемещение и переименования файлов. В любом случае исходный файл исчезает после операции.

Перемещает или переименовывает файл, или каталог item1 в item2:

mv item1 item2

Перемещает один или более элементов из одного каталога в другой:

mv [элемент]... [каталог]

rm (remove) - удаление файлов и каталогов.

Команда rm используется для удаления файлов и каталогов.

Используется следующим образом (где элемент - один или несколько файлов/каталогов):

rm [элемент]...

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

Наиболее часто используемые параметры с командой cp:

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

-a, --archive

Запрашивать у пользователя подтверждение перед перезаписью существующего файла:

-i, --interactive

Рекурсивно копировать каталоги и их содержимое. Это обязательный параметр при копировании каталогов:

-r, --recursive

При копировании файлов из одного каталога в другой, копировать только файлы, отсутствующие в каталоге назначения или более новые. Этот параметр удобно применять при копировании большого количества файлов, так как он позволяет пропустить файлы, которые не требуется копировать:

-u, --update

Выводить информационные сообщения в процессе копирования:

--v, --verbose

Примеры использования команды cp:

Скопировать file1 в file2. Если file2 существует, то он будет затерт новым файлом file1. Если file2 отсутствует, он будет создан:

cp file1 file2

То же, что и выше, но если file2 существует, будет предупреждение перед перезаписью файла:

cp -i file1 file2

Скопировать file1, file2 в каталог dir1. Каталог dir1 должен существовать:

cp file1 file2 dir1

С использованием группового символа. Скопировать все файлы из каталога dir1 в каталог dir2. Каталог dir2 должен существовать:

cp dir1/* dir2

Скопировать содержимое каталога dir1 в каталог dir2. Если каталог dir2 не существует, он будет создан и заполнен содержимым каталога dir1. Если каталог dir2 существует, тогда в него будет скопирован сам каталог dir1 (вместе с его содержимым):

cp -r dir1 dir2

Наиболее часто используемые параметры с командой mv:

Запрашивать у пользователя подтверждение перед перезаписью существующего файла:

-i, --interactive

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

-u, --update

Выводить информационные сообщения в процессе перемещения:

-v, --verbose

Примеры использования команды mv:

Переместит file1 в file2. Если file2 существует, он будет заменен на новый файл file1. Если отсутствует, он будет создан. В любом случае file1 исчезнет:

mv file1 file2

То же, что и выше, но если file2 существует, у пользователя, будет запрошено подтверждение, перед перезаписью файла:

mv -i file1 file2

Переместит file1 и file2 в каталог dir1 (каталог должен существовать):

mv file1 file2 dir1

Если каталог dir2 отсутствует, команда mv создаст его и переместит содержимое каталога dir1 в каталог dir2, после чего удалит dir1. Если каталог dir2 существует, команда переместит каталог dir1 (вместе с содержимым) в каталог dir2:

mv dir1 dir2

Наиболее часто используемые параметры с командой rm:

Запрашивать у пользователя подтверждение перед удалением существующего файла:

-i, --interactive

Рекурсивно удалить каталоги. То есть вместе с каталогом будут удалены все его подкаталоги (обязательный параметр при удалении каталогов):

-r, --recursive

Игнорировать отсутствующие файлы и не запрашивать подтверждения. Отменяет действие параметра --interactive:

-f, --force

Выводить информационные сообщения в процессе удаления:

-v, --verbose

Примеры использования команды rm:

Удалить файл file1:

rm file1

Запросить подтверждение перед удалением:

rm -i file1

Удалить файл file1 и каталог dir1 со всем его содержимым:

rm -r file1 dir1

То же, что и выше, но в отсутствие файла/каталога продолжит работу, не выводя сообщений:

rm -rf file1 dir1

Bye, на связи был Shady.

telegram — https://t.me/tenlapa