Скопируйте несколько файлов с одним и тем же именем из разных мест в одно и то же место

Вы вообще не можете, если вы заранее не знаете, какой SID будет у вашего пользователя при новой установке Windows (, что непредсказуемо, как UID в системах UNIX ).

Предполагая, что у вас есть какой-то способ узнать, какой у вас будет SID, вы можете функционально воспроизвести права собственности и базовые ACE, используя обычные команды UNIX и функцию сопоставления имен пользователей NTFS -3G. См. раздел «Сопоставление пользователей» справочной страницы NTFS -3G для получения информации о том, как это настроить. После того, как это настроено, вы можете использовать обычные команды UNIX для управления владельцем и основными разрешениями файлов (IIRC, разрешение на чтение POSIX преобразуется в разрешения Windows «Чтение» и «Чтение и выполнение», а запись POSIX преобразуется в «Изменить»., но больше ничего не помню ).

Насколько мне известно, из Linux невозможно скопировать все Windows ACE.

Небольшое замечание: возможно, вы также захотите скопировать альтернативные потоки данных NTFS. Вы можете легко сделать это с помощью инструментов UNIX, которые поддерживают Linux xattrs (при условии, что вы не укажете параметр streams-interfaceдля NTFS -3G, по умолчанию они будут отображаться как xattrs ).

0
31.03.2020, 04:16
1 ответ

Можно использовать цикл for:

#!/bin/bash

for fruit in apple banana grape; do
    cp "/${fruit}/test.txt" "/fruits/${fruit}_test.txt"
done

Цикл выполняется три раза; каждый раз, когда переменная fruitпринимает одно из трех значений apple, bananaи grape. Для каждого фрукта он копирует исходный файл в файл назначения.

2
19.03.2021, 02:31

Теги

Похожие вопросы