chown подпапки с владельцем текущей группы и группой

В сценарии bash я хочу рекурсивно резать все подпапки произвольной папки с владельцами пользователей и групп данной папки.

Мой подход похож на использование stat -c "%U %G" .

Но это возвращает только шаблон username[whitespace]groupname

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

8
задан 7 October 2017 в 11:22

6 ответов

chown, например chmod, может использовать ссылку:

chown [OPTION]... --reference=RFILE FILE...

Change the owner and/or group of each FILE to OWNER and/or GROUP.  With
--reference, change the owner and group of each FILE to those of RFILE.

So:

chown --reference=/some/folder -R /some/folder
6
ответ дан 22 May 2018 в 18:39

chown, например chmod, может использовать ссылку:

chown [OPTION]... --reference=RFILE FILE... Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE.

So:

chown --reference=/some/folder -R /some/folder
6
ответ дан 18 July 2018 в 07:12

chown, например chmod, может использовать ссылку:

chown [OPTION]... --reference=RFILE FILE... Change the owner and/or group of each FILE to OWNER and/or GROUP. With --reference, change the owner and group of each FILE to those of RFILE.

So:

chown --reference=/some/folder -R /some/folder
6
ответ дан 24 July 2018 в 18:45

На самом деле вам не нужно разбирать выходные данные, чтобы удалить пробелы - вы добавили это в свою команду! Вы можете просто форматировать его по своему усмотрению (с синтаксисом двоеточия chown):

$ stat -c "%U:%G" .
zanna:unicorns

Так просто передайте это chown с подстановкой команд:

[ f2]
8
ответ дан 22 May 2018 в 18:39

На самом деле вам не нужно разбирать выходные данные, чтобы удалить пробелы - вы добавили это в свою команду! Вы можете просто форматировать его по своему усмотрению (с синтаксисом двоеточия chown):

$ stat -c "%U:%G" . zanna:unicorns

Так просто передайте это chown с подстановкой команд:

chown -R $(stat -c "%U:%G" .) .
8
ответ дан 18 July 2018 в 07:12

На самом деле вам не нужно разбирать выходные данные, чтобы удалить пробелы - вы добавили это в свою команду! Вы можете просто форматировать его по своему усмотрению (с синтаксисом двоеточия chown):

$ stat -c "%U:%G" . zanna:unicorns

Так просто передайте это chown с подстановкой команд:

chown -R $(stat -c "%U:%G" .) .
8
ответ дан 24 July 2018 в 18:45

Другие вопросы по тегам:

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