Linux для пользователя - Виктор Костромин
Шрифт:
Интервал:
Закладка:
• Жесткая ссылка (‹Ctrl›+‹X›,‹L›). Создает жесткую ссылку на текущий файл.
• Символическая ссылка (‹Ctrl›+‹X›,‹S›). Создает символическую ссылку на текущий файл. О ссылках мы подробно говорили в разд. 4.4. Программа Midnight Commander указывает символические ссылки, выводя знак "@" перед именем такой ссылки (кроме ссылок на подкаталоги, которые обозначаются знаком тильды "~"). Если на экран выводится строка мини-статуса (опция "Показывать мини-статус" включена), то в ней отображается имя того файла, на который указывает ссылка.
• Быстрая смена каталога (‹Alt›+‹C›). Используйте эту команду, если вы знаете полный путь к каталогу, в который хотите перейти (который хотите сделать текущим).
• Просмотр вывода команды (‹Alt›+‹!›). По этой команде на экране появляется строка ввода, в которой вы можете ввести любую команду с параметрами (по умолчанию предлагается использовать в качестве параметра имя подсвеченного файла). Вывод этой команды будет отображаться на экране через встроенную программу просмотра.
Как видите, меню Файл содержит все наиболее употребительные команды, которые нужны нам для обычных операций обработки файлов текущего каталога. Естественно, что операции, используемые чаще всего, связаны с функциональными клавишами. Поэтому вернемся к описанию этих команд, чтобы дать некоторые дополнительные пояснения.
6.7. Маски файлов для операций копирования/переименования
При выполнении операций копирования и перемещения (или переименования) файлов вы имеете возможность изменить имена копируемых или перемещаемых файлов. Для этого вы должны задать маску для имен файлов-источников и маску для имен файлов, которые будут созданы (файлы-приемники). Обычно эта вторая маска представляет собой несколько символов замены (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' - второй группе и т. д. Символ ' ' соответствует целому имени файла-источника. Приведем пару примеров.
Пример 1. Если маска источника "*.tar.gz", а маска приемника - "/two/*.tgz", и имя копируемого файла - "foo.tar.gz", копия будет называться "foo.tgz" и будет находиться в каталоге "/two".
Пример 2. Предположим, вы хотите поменять местами имя и расширение файла, так чтобы "file.c" стал файлом "c.file". Маска источника для этого должна иметь вид "*.*", а маска приемника - "2.1".
Когда опция Образцы в стиле shell ("Use shell patterns”) выключена, mc не осуществляет автоматической группировки. Для указания групп символов в маске источника, которые будут соответствовать символам замены в маске приемника, вы должны в этом случае использовать скобки '(…)'. Этот способ более гибкий, но требует больше усилий при вводе. Снова приведем два примера
Пример 3. Если маска источника имеет вид "^(.*).tar.gz$", копирование производится в "/two/*.tgz" и копируется файл "foo.tar.gz", то результатом будет "/two/foo.tgz".
Пример 4. Предположим, что вы хотите поменять местами имя файла и его расширение, так чтобы имена вида "file.c" приняли вид "c.file".
Маска источника для этого - "^(.*).(.*)$", а маска приемника - "2.1".
При выполнении операций копирования/перемещения вы можете также преобразовать регистр символов в именах файлов. Если вы используете 'u' или 'l' в маске приемника, то следующий символ имени будет образован в верхнем (заглавные символы) или нижнем (строчные) регистре соответственно.
Если использовать в маске приемника 'U' или 'L', то к соответствующему регистру будут преобразованы все последующие символы, вплоть до следующего вхождения 'L' или 'U', или же до конца имени файла.
Применение 'u' и 'l' обеспечивает более широкие возможности, чем 'U' и 'L'.
Например, если маска источника есть '*' (опция Образцы в стиле shell включена) или '^(.*)$' (опция Образцы в стиле shell выключена), а маска приемника есть 'Lu*', имена файлов будут преобразованы таким образом, что первые буквы имени будут заглавными, а все остальные - строчными.
Символ '' в масках используется для отмены специальной интерпретации отдельных символов. Например, '\' означает просто обратный слэш (как литерал) и '*' означает просто звездочку (asterisk).
6.8. Сообщения MC при выполнении операций копирования/перемещения файлов
Когда вы выполняете операции копирования, перемещения или удаления файлов, Midnight Commander отображает на экране диалоговое окно, в котором показано, какой(ие) файл(ы) в данный момент обрабатывается и как идет процесс обработки. Для отображения процесса обработки на экран выводится до трех диаграмм-полосок (progress bars). Первая (file bar) показывает, какая часть текущего файла обработана (например, скопирована). Вторая (count bar) показывает какая доля помеченных файлов обработано на текущий момент. Третья (bytes bar) показывает долю выполненных работ в процентах от суммарного объема (в байтах) помеченных файлов. Если отключена опция Детали операций (см. команду меню Настройки/Конфигурация), две последних диаграммы не отображаются.
В нижней части этого диалогового окна имеются две кнопки. Нажатие на кнопку Пропустить приведет к тому, что будет пропущена обработка текущего файла. Нажатие на экранную кнопку Прервать завершает выполнение заданной операции, все оставшиеся файлы будут пропущены.
В процессе выполнения файловых операций вы можете увидеть окна еще трех видов.
Окно ошибок информирует об ошибке и предлагает три варианта продолжения. Обычно вы выбираете либо вариант Пропустить для того, чтобы исключить из обработки файл, на котором споткнулась программа, либо Прервать, чтобы вообще отменить выполнение заданной операции. Третий вариант, Повторить, выбирается тогда, когда вам удалось устранить причину сбоя (например, воспользовавшись другим терминалом).
Окно подтверждения перезаписи появляется тогда, когда вы пытаетесь перезаписать существующий файл, т. е. в каталоге, в который производится перемещение или копирование уже есть файл с заданным именем. В окне подтверждения отображаются время создания и размер файла-источника (переносимого или копируемого файла) и файла-приемника (который в случае перезаписи будет уничтожен).