Как скопировать саму директорию с атрибутами?

Проблема несколько упрощается, если вы рассматриваете эквивалент :для каждого файла FLAC, переместите аналогичный -с именем MP3:

shopt -s globstar

targetroot='/path/to/target'
for f in **/*.flac
do 
    dir=$(dirname "$f")
    mp3=$(basename "$f".flac).mp3
    [[ -e "$dir/$mp3" ]] || continue
    mkdir -p "$targetroot/$dir"
    mv -t "$targetroot/$dir" "$dir/$mp3"
done
0
15.07.2020, 14:58
1 ответ

Я смог решить проблему с помощью следующих трех команд.

  • chmod --ссылка=/var/mail /var/tmp/target -каталог

  • chown --ссылка=/var/mail /var/tmp/target -каталог

  • touch --reference=/var/mail /var/tmp/target -dir

Вот ссылка на авторство, которое я хотел бы скопировать.

# ls -ald /var/mail
drwxrwsr-x 2 root mail 4096  4月 27  2018 /var/mail 

Это целевой каталог. (разрешение, владелец, временные метки разные)

 # ls -ald /var/tmp/target-dir
 drwxrwxr-x 2 user1 user1 4096  7月 16 07:09 /var/tmp/target-dir

1. Скопируйте разрешения с помощью команды chmod

 # sudo chmod --reference=/var/mail /var/tmp/target-dir
 # ls -ald /var/tmp/target-dir
 drwxrwsr-x 2 user1 user1 4096  7月 16 07:09 /var/tmp/target-dir

2. Скопируйте владельца с помощью команды chown

 # sudo chown --reference=/var/mail /var/tmp/target-dir
 # ls -ald /var/tmp/target-dir
 drwxrwsr-x 2 root mail 4096  7月 16 07:09 /var/tmp/target-dir

3. Скопируйте метку времени с помощью сенсорной команды

 # sudo touch --reference=/var/mail /var/tmp/target-dir
 # ls -ald /var/tmp/target-dir
 drwxrwsr-x 2 root mail 4096  4月 27  2018 /var/tmp/target-dir

Наконец, каталог /var/tmp/target -имеет те же атрибуты, что и /var/tmp/mail.

0
18.03.2021, 23:19

Теги

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