Копируйте файлы и одновременно меняйте владельца и разрешения
В этом кратком руководстве описывается, как копировать файлы и одновременно менять владельца и разрешения из командной строки в Unix-подобных операционных системах.
Обычно мы используем команду «cp» для копирования файлов из одного места в другое. Затем мы используем команды «chmod» и «chown» для изменения прав доступа и владельца файла соответственно.
Однако мы можем объединить все эти задачи в однострочную команду и при этом получить тот же результат вместо выполнения трех последовательных команд. Это может быть полезно, если вы хотите делать это регулярно или в рамках сценария.
Копируйте файлы и одновременно меняйте владельца и разрешения
Посмотрите на следующий пример.
Чтобы скопировать файлы и изменить разрешения и владельца, мы обычно делаем:
cp /dir1/file1 /dir2
chmod 775 -R /dir2
chown -R newowner:newgroup /dir2/file1
Однако для этой простой задачи не обязательно использовать три команды. Мы можем сделать это с помощью одной команды. Здесь вам пригодится команда «install».
Я думал, что команда «install» предназначена для установки вещей. Но я был неправ! Команда «install» используется для копирования файлов в выбранное вами место назначения и установки атрибутов. Это часть GNU coreutils, которая предустановлена во всех дистрибутивах Linux.
Теперь позвольте мне показать, как изменить права доступа и владельца файла во время копирования.
sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2
Приведенная выше команда скопирует файл /dir1/file1 в /dir2, изменит права доступа к файлу на 775, а владельца на
Давайте разберем приведенную выше команду и посмотрим, что делает каждая часть команды.
- -C, (--compare): сравнить каждую пару файлов источника и назначения, а в некоторых случаях вообще не изменять место назначения.
- -m, (--mode): установить режим разрешений (как в chmod).
- -o, (--owner): установить владельца пользователя.
- -g, (--group): установить владельца группы.
Более подробную информацию можно найти на страницах руководства.
man install
Рекомендуется прочитать:
- Как сохранить право собственности и права доступа к файлам при копировании файлов или каталогов
- ExplainShell: узнайте, что делает каждая часть команды Linux
И это все. Надеюсь это поможет.