Что такое маска файла

Обновлено: 22.11.2024

Чтобы использовать следующие функции WinSCP, вам необходимо указать маску (шаблон) для выбора файлов (или других вещей):

Вы можете использовать диалоговое окно File Mask, чтобы помочь вам собрать маску.

Основной синтаксис

При указании маски вы можете использовать следующие шаблоны:

< /tr>
Шаблон Значение Пример
* Соответствует любому количеству (включая ноль) произвольных символов. *.doc; about*.html
? Соответствует ровно одному произвольному символу. photo. jpg
[abc] Соответствует одному символу из набора. index_[abc].html
[az] Соответствует одному символу из диапазона. index_[az].html

Все остальные символы обрабатываются буквально (за исключением специальных символов, используемых в конструкциях, описанных ниже).

Чтобы избежать символа со специальным значением в шаблонах ( *?[ ), окружите его заданным шаблоном, например. файл со звездой[*].

Маски файлов нечувствительны к регистру.

Ограничения по размеру и времени

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

< td>>time[YDHNS][S]
Шаблон Значение Пример
>size[KMG] Соответствует файлам, размер которых превышает размер .
Обратите внимание, что считается, что каталоги имеют нулевой размер.
Можно использовать следующие единицы измерения: K (килобайт), M (мегабайт) или G (гигабайт).
*.bin>1M
Соответствует файлам меньше размера .
>yyyy-mm-dd[ hh:mm[:ss]] Соответствует файлам, измененным в последний раз после дата или время (то есть «новее»). >2012-01-01
>2012-02-29 08:47
Соответствует файлам, измененным в последний раз в течение указанного интервала (т.е. «новее чем»).
Не может использоваться для каталогов.
Должна использоваться одна из следующих единиц измерения: Y (годы), D (дни), H (часы), N (минуты) или S (секунды).
Необязательный суффикс S означает округление времени перед интервалом до начала единицы интервала. Например, 2DS означает начало (полночь) позавчерашнего дня. 0HS относится к началу текущего часа. Ключевые слова сегодня и вчера можно использовать вместо 0DS и 1DS соответственно.
*.doc>1Y
>2HS
>yesterday
Соответствует файлам, измененным в последний раз перед датой или временем (т.е. «старше чем»). *.doc
Соответствует файлам, измененным последний раз перед указанным интервалом (т.е. «старше чем»).

Также можно использовать операторы >= и .

Чтобы экранировать символ оператора ( <> ), удвойте его, например файл с .

Чтобы объединить ограничения, добавляйте их одно за другим без каких-либо разделителей (или используйте пробелы). Например. чтобы выбрать все файлы .doc, созданные в 2013 году: *.doc>=2013-01-01 .

Обратите внимание: если ваше ограничение содержит пробелы (особенно ограничение с датой и временем), чтобы использовать его в скрипте, вам нужно заключить всю маску в двойные кавычки.

Сочетание масок

Например, следующая маска включает все изображения JPG и GIF: *.jpg; *.jpg .

Чтобы избежать разделительного символа, удвойте его, например. файл с запятой .

Включить и исключить маски

Например, следующая маска включает все изображения JPG и GIF, но не включает изображения, начинающиеся с 2010 и 2011: *.jpg; *.jpg | 2010*; 2011* .

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

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

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

Маска каталога

Чтобы использовать маску для каталогов, добавьте косую черту в конце, например картинки/ . Маска */ соответствует любому каталогу.

Обратите внимание, что при использовании диалогового окна «Маска файла» косая черта в конце масок каталогов добавляется автоматически.

Чтобы сделать операцию нерекурсивной, используйте маску исключения */ .2

Маски каталогов рекурсивны. Например. маскировать изображения/ соответствует каталогам /home/martin/images/ , а также /home/martin/images/avatars/ .

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

Маска пути

Когда маска выбирает файлы и имеет смысл выбирать их на основе каталога, вы можете расширить маску с помощью маски пути. Вы должны отделить маску пути от маски имени файла косой чертой. Например, маска /home/martinp/*.txt соответствует всем текстовым файлам в каталоге. Чтобы сопоставить все текстовые файлы в поддереве, используйте маску /home/martinp/*.txt; /home/martinp/*/*.txt .3

В текущей стабильной версии маска пути сопоставляется с полным путем, т. е. не с относительным путем пути к корню передачи или синхронизации файлов. Например. маска public_html/wiki/ не соответствует каталогу /home/martinp/public_html/wiki, даже если корнем передачи файлов или синхронизации является /home/martinp . Частичная маска пути, соответствующая абсолютному пути, может выглядеть как */public_html/wiki/ .

Для частичной маски пути не имеет значения, используете ли вы обратную ( \ ) или прямую косую черту ( / ); маска всегда будет работать как для локальных, так и для удаленных путей. Например, маска */public_html/*.bak будет соответствовать файлам резервных копий как в D:\Documents\public_html\, так и в /home/martinp/public_html/ .

В текущей бета-версии пути, начинающиеся с точки и косой черты ( ./ или .\ ), сопоставляются с корнем операции (например, при передаче файлов или синхронизации). Например, при загрузке файлов и папок с локального пути D:\Documents\public_html\ на удаленный путь /home/martinp/public_html/ маска .\data\*.txt соответствует файлам *.txt в D:\Documents\public_html\ данные\ .

Вы также можете указать полный путь к определенному файлу или каталогу, как локальному, так и удаленному. Например, если вы хотите сопоставить только определенный каталог .csv, а не все, используйте /home/martinp/data/.csv/ вместо .csv/ .

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

Исключения

Для удобства маска *.* является исключением, соответствующим любому файлу или каталогу, даже если в его имени нет точки. Напротив, маска *. соответствует любому файлу или каталогу без расширения.

Подпапки, в которых исключены все файлы

3.4.2.3. Маска файла

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

Вместо сложения символических значений друг с другом, как в случае с chmod, для расчета прав доступа к новому файлу их необходимо вычесть из общего количества возможных прав доступа. Однако в приведенном выше примере мы видим 4 отображаемых значения, но есть только 3 категории разрешений: пользователь, группа и другое. Первый ноль является частью специальных настроек атрибутов файла, которые мы обсудим в Разделе 3.4.2.4 и Разделе 4.1.6. Вполне возможно, что этот первый ноль не отображается в вашей системе при вводе команды umask, и вы видите только 3 числа, представляющие маску создания файла по умолчанию.

В каждой UNIX-подобной системе есть системная функция для создания новых файлов, которая вызывается каждый раз, когда пользователь использует программу, создающую новые файлы, например, при загрузке файла из Интернета, при сохранении нового текстового документа и скоро. Эта функция создает как новые файлы, так и новые каталоги. Полное разрешение на чтение, запись и выполнение предоставляется всем при создании нового каталога. При создании нового файла эта функция предоставит права на чтение и запись для всех, но не установит права на выполнение для всех категорий пользователей. Это, до применения маски, каталог имеет разрешения 777 или rwxrwxrwx, обычный файл 666 или rw-rw-rw -.

Значение umask вычитается из этих разрешений по умолчанию после того, как функция создаст новый файл или каталог. Таким образом, каталог будет иметь права доступа 775 по умолчанию, файл 664, если значение маски равно (0)002. Это показано в примере ниже:

Если вы входите в другую группу с помощью команды newgrp, маска остается неизменной. Таким образом, если установлено значение 002, файлы и каталоги, которые вы создаете, находясь в новой группе, также будут доступны другим членам этой группы; вам не нужно использовать chmod.

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

Эти значения по умолчанию устанавливаются для всей системы в файлах конфигурации ресурсов оболочки, например, /etc/bashrc или /etc/profile. Вы можете изменить их в своем собственном файле конфигурации оболочки, см. главу 7 о настройке среды оболочки.

[Маска файлов]

> Что такое маска файла?

Маска файла — это строка, используемая для создания имени выходного файла.На самом деле маска файла используется в CUE Splitter для генерации имен файлов аудио, M3U и CUE. Маска файла может содержать один или несколько токенов. Маркер — это строка, состоящая из знака процентиля %, за которым следует идентификационный символ, например, A, t, n, c и т. д. Каждый токен будет заменен соответствующим текстовым значением, когда придет время для создания имени файла. Маска файла чувствительна к регистру, поэтому %A отличается от %a. Запись маски файла типа «%a — %t» может быть интерпретирована как «имя исполнителя — название песни», поэтому токен %a будет заменен именем исполнителя, а токен %t — названием песни. Давайте посмотрим список определенных в настоящее время токенов.

  • %N — общее количество треков в альбоме. В этом примере токен %N будет заменен на 10 (поскольку в этом альбоме десять треков).
  • %n — номер текущей дорожки. В этом примере токен %n будет заменен на 01 для первой дорожки, на 02 для второй дорожки, на 03 для третьей дорожки и т. д.
  • %A — имя исполнителя для всего альбома. В этом примере токен %A будет заменен на "Blank & Jones".
  • %a — имя исполнителя для текущего трека. В этом примере токен %a будет заменен на "Blank & Jones" для первой и второй дорожки, на "Marc Dawn" для третьей дорожки, на "Mark Jones" для четвертой дорожки и т. д.
  • %T — название всего альбома. В этом примере токен %T будет заменен на «Live @ Trance Energy (2002)».
  • %t — название текущей дорожки. В этом примере токен %t будет заменен на "Invocatio" для первой дорожки, на "Desire (Original Mix)" для второй дорожки, на "Expander (Flutlicht Remix)" для третьей дорожки и т. д.
  • %c — комментарий к альбому. В этом примере токен %c будет заменен на "Это комментарий!".
  • %y – год альбома. В этом примере токен %y будет заменен на "2002".
  • %g — Жанр альбома. В этом примере токен %g будет заменен на "Транс".

Давайте рассмотрим несколько примеров.

> Пример 1. Маска файла по умолчанию

В этом примере мы исследуем ситуацию на снимке экрана выше. Используется маска файла по умолчанию, то есть «(%n) [%a] %t», другими словами «(номер текущей дорожки) [имя исполнителя] название песни». Вот сгенерированные имена файлов:

  • (01) [Бланк и Джонс] Invocatio.mp3
  • (02) [Blank & Jones] Desire (Original Mix).mp3
  • (03) [Marc Dawn] Expander (Flutlicht Remix).mp3
  • (04) [Mark Jones] New Life (Junk Project Remix).mp3
  • (05) [DJ Shog] Это мой звук (Wavescope Remix).mp3
  • (06) [NU-NRG] Dreamland.mp3
  • (07) [Silverblue] Step Back (Blue Sky Remix).mp3
  • (08) [Blank & Jones] Nightclubbing (Wippenberg Remix).mp3
  • (09) [M.O.R.P.H.] Overdrive (Original 3rd Mix).mp3
  • (10) [RMB] Redemption 2.0 (Original Mix).mp3

> Пример 2. Сложная маска файла

В этом примере мы используем сложную маску файла, такую ​​как "%a - %t (год %y, жанр %g)". Вот сгенерированные имена файлов:

  • Blank & Jones - Invocatio (2002 год, жанр Trance).mp3
  • Blank & Jones - Desire (Original Mix) (2002 год, жанр Trance).mp3
  • Marc Dawn - Expander (Flutlicht Remix) (2002 год, жанр Trance).mp3
  • Mark Jones - New Life (Junk Project Remix) (2002 год, жанр Trance).mp3
  • DJ Shog - This Is My Sound (Wavescope Remix) (2002 год, жанр Trance).mp3
  • NU-NRG - Dreamland (2002 год, жанр Trance).mp3
  • Silverblue - Step Back (Blue Sky Remix) (2002 год, жанр Trance).mp3
  • Blank & Jones - Nightclubbing (Wippenberg Remix) (2002 год, жанр Trance).mp3
  • М.О.Р.П.Х. - Overdrive (Original 3rd Mix) (2002 год, жанр Trance).mp3
  • RMB - Redemption 2.0 (Original Mix) (2002 год, жанр Trance).mp3.

> Пример 3. Создание простого файла

В этом примере мы используем очень простую маску файла, например, "%n-%t". Вот сгенерированные имена файлов:

сообщить об этом объявлении

3.4.2.3. Маска файла

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

Вместо сложения символических значений друг с другом, как в случае с chmod, для расчета прав доступа к новому файлу их необходимо вычесть из общего количества возможных прав доступа. Однако в приведенном выше примере мы видим 4 отображаемых значения, но есть только 3 категории разрешений: пользователь, группа и другое. Первый ноль является частью специальных настроек атрибутов файла, которые мы обсудим в Разделе 3.4.2.4 и Разделе 4.1.6.Вполне возможно, что этот первый ноль не отображается в вашей системе при вводе команды umask, и вы видите только 3 числа, представляющие маску создания файла по умолчанию.

В каждой UNIX-подобной системе есть системная функция для создания новых файлов, которая вызывается каждый раз, когда пользователь использует программу, создающую новые файлы, например, при загрузке файла из Интернета, при сохранении нового текстового документа и скоро. Эта функция создает как новые файлы, так и новые каталоги. Полное разрешение на чтение, запись и выполнение предоставляется всем при создании нового каталога. При создании нового файла эта функция предоставит права на чтение и запись для всех, но не установит права на выполнение для всех категорий пользователей. Это, до применения маски, каталог имеет разрешения 777 или rwxrwxrwx, обычный файл 666 или rw-rw-rw -.

Значение umask вычитается из этих разрешений по умолчанию после того, как функция создаст новый файл или каталог. Таким образом, каталог будет иметь права доступа 775 по умолчанию, файл 664, если значение маски равно (0)002. Это показано в примере ниже:

Если вы входите в другую группу с помощью команды newgrp, маска остается неизменной. Таким образом, если установлено значение 002, файлы и каталоги, которые вы создаете, находясь в новой группе, также будут доступны другим членам этой группы; вам не нужно использовать chmod.

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

Эти значения по умолчанию устанавливаются для всей системы в файлах конфигурации ресурсов оболочки, например, /etc/bashrc или /etc/profile. Вы можете изменить их в своем собственном файле конфигурации оболочки, см. главу 7 о настройке среды оболочки.


сообщить об этом объявлении

Читайте также: