Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Skripkar ПР6.doc
Скачиваний:
4
Добавлен:
03.12.2018
Размер:
1.08 Mб
Скачать

Маски файлів для операцій копіювання/перейменування

При виконанні операцій копіювання й переміщення (або перейменування) файлів ви маєте можливість змінити імена копійованих або переміщуваних файлів. Для цього ви повинні задати маску для імен файлів-джерел і маску для імен файлів, які будуть створені ( файли-приймачі). Звичайно ця друга маска являє собою кілька символів заміни (wildcards) наприкінці рядка, що визначає місце призначення створюваних файлів. Завдання масок здійснюється в рядках уведення,

відображуваних у вікні, що з'являється після звертання до команд копіювання / переносу (рис. 6.6).

Всі файли, що задовольняють масці джерела, будуть перейменовані (скопійовані або переміщені з новими іменами) відповідно до маски файлу-приймача. Якщо є позначені файли, то копіюються

(переміщаються) тільки позначені файли, що задовольняють заданій масці для файлів-джерел.

Рис. 6.6. «Діалогове вікно для перейменування файлів»

Є ще кілька опцій, які впливають на виконання операцій копіювання/переміщення файлів, і які встановлюються в тім же вікні запиту, де задаються маски імен файлів, або через команду меню Настроювання | Конфігурація.

Опція Разіменувати посилання (Follow links) визначає, чи будуть при копіюванні твердих або символічних посилань у каталозі-приймачі (і рекурсивно в підкаталогах) створюватися такі ж посилання, або будуть копіюватися файли (і підкаталоги), на які ці посилання вказують. Опція Усередину каталогу, якщо є (Dive into subdirs) визначає, що робити, якщо в каталозі- приймачі вже існує підкаталог, ім'я якого збігається з ім'ям файлу (каталогу), що копіюється (джерела). За замовчуванням (опція відключена) уміст каталогу-джерела копіюється в каталог- приймач. Якщо опція включена, то в каталозі приймачі буде створений новий підкаталог з тим же ім'ям, у який і буде здійснюватися копіювання.

Краще показати це на прикладі. Нехай ви хочете скопіювати вміст каталогу one у каталог /two/one, що вже існує. Звичайно (опція відключена) mc буде просто копіювати всі файли з one в /two/one. Якщо опцію включити, копіювання файлів буде вироблятися в /two/one/one. Опція Зберігати атрибути (Preserve attributes) визначає, чи будуть при копіюванні/переміщенні збережені атрибути вихідного файлу: права доступу, тимчасові мітки й, якщо ви root, UID і GID вихідного файлу. Якщо опція відключена, атрибути будуть установлені відповідно до поточного

значення umask.

На процедури копіювання й переміщення файлів робить також вплив установка опції Зразки в стилі shell у меню Настроювання / Конфігурація. Коли ця опція включена, ви можете використовувати символи заміни (wildcards) '*' і '?' у масці джерела. Вони обробляються аналогічно тому, як це робиться в shell. У масці приймача дозволяєтьсявикористовувати тільки '*' і '\<цифра>'. Перший символ '*' у масці приймача відповідає першій групі символів заміни в масці

джерела, другий символ '*' відповідає другій групі й т.д. Аналогічно, символ заміни '\1' відповідає першій групі символів заміни в масці джерела, символ '\2' - другій групі й т.д. Символ '\0' відповідає цілому ім'ю файлу-джерела. Приведемо пари прикладів.

Приклад 1. Якщо маска джерела "*.tar.gz", а маска приймача - "/two/*.tgz", і ім'я копійованого файлу - "foo.tar.gz", копія буде називатися "foo.tgz" і буде перебувати в каталозі "/two". став файлом "c.file". Маска джерела для цього повинна мати вигляд "*.*", а маска приймача - "\2.\1".

Коли опція Зразки в стилі shell ("Use shell patterns") виключена, mc не здійснює автоматичного угруповання. Для вказівки груп символів у масці джерела, які будуть відповідати символам заміни в масці приймача, ви повинні в цьому випадку використовувати дужки '\(...\)'. Цей спосіб більше гнучкий, але вимагає більше зусиль при уведенні. Знову приведемо два приклади

Маска джерела для цього - "^\(.*\)\.\(.*\)$", а маска приймача - "\2.\1".

При виконанні операцій копіювання/переміщення ви можете також перетворити регістр символів в іменах файлів. Якщо ви використовуєте '\u' або '\l' у масці приймача, то наступний символ ім'я буде утворений у верхньому (заголовні символи) або нижньому (рядкові) регістрі відповідно. Якщо використовувати в масці приймача '\U' або '\L', то до відповідного регістра будуть перетворені всі наступні символи, аж до наступного входження '\L' або '\U', або ж до кінця ім'я файлу. Застосування '\u' і '\l' забезпечує більше широкі можливості, чим '\U' і '\L'.

Символ '\' у масках використовується для скасування спеціальної інтерпретації окремих символів.

Наприклад, '\\' означає просто зворотний слеш (як літерал) і '\*' означає просто зірочку (asterisk).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]