команда для разблокировки "заблокированных" файлов на os x

<p>я скопировал много файлов только для чтения из системы windows на мой mac. при просмотре информации для каждого файла с помощью «получить информацию», я вижу, что они заблокированы. я пишу сценарий bash для копирования некоторых файлов и получаю сообщение об ошибке «операция не разрешена». итак, сначала мне нужно разблокировать файлы. поскольку я буду часто извлекать файлы из системы windows, я хочу, чтобы мой скрипт разблокировал эти файлы.</p><p>что такое команда терминала для разблокировки «заблокированных» файлов в osx?</p>

<p>для разблокировки файлов вы можете использовать:</p><pre><code>chflags -r nouchg /path/to/directory/with/locked/files/ </code></pre><ul> <li><code>chflags</code> = изменить флаги для файлов/папок, такие как «заблокированные»</li> <li><code>-r</code> = рекурсивный или для всего и следовать каталогам в указанном каталоге</li> <li><code>nouchg</code> = означает, что файл можно изменить</li> <li><code>/path/</code> = конечно это путь к файлам, которые вы хотите изменить. что-то вроде: <code>~/sites/mysite/directory/with/locked/files/</code> тоже работает.</li> </ul>

<p>вы также можете использовать <code>setfile -a l</code>, хотя он делает то же самое, что и <code>chflags nouchg</code>:</p><pre><code>setfile -a l file.ext </code></pre><p><code>-a l</code> сбрасывает бит для заблокированного атрибута. вы можете установить setfile, загрузив пакет инструментов командной строки из настроек xcode или из <a href="https://developer.apple.com/downloads">developer.apple.com/downloads</a> .</p>

<p>это полезно, если вы хотите выполнить поиск по всему каталогу и разблокировать все файлы.</p><p>в терминале <code>cd</code> в каталог</p><p>эта команда находит и будет <em>распечатывать их список</em>.</p><pre><code>$ find . -flags uchg эта команда разблокирует их.$ find . -flags uchg -exec chflags nouchg {} \; </code></pre><p>вы можете использовать первую команду для двойной проверки того, что все файлы разблокированы после выполнения второй команды, вуаля!</p>