В Linux (Debian, Ubuntu Mint ...),
есть ли какая-либо опция команды или что-то, что я могу использовать для передачи файлов другому пользователю без необходимости делать:
sudo mv /home/poney/folderfulloffiles /home/unicorn/
sudo chown -R unicorn:unicorn /home/unicorn/folderfulloffiles
usermap
иgroupmap
варианты , а также.mv
так, верно? Только копии? Или этоmv
так?Согласно @Kevin в комментариях ниже,
--file - |pipe
синтаксис является избыточным. Итак, я удалил это.Это также можно сделать с помощью
tar
:источник
-f -
подразумевается на обоих концах.f -
части.Примерно той же длины, что и остальные ответы, и обратите внимание, поскольку все они используют одни и те же библиотечные вызовы изнутри, они все делают одно и то же - если, как отмечает Жиль, это происходит на одной и той же файловой системе и устройстве , в этом случае
mv
действительно переименование, что делает его более эффективным, чемrsync
илиtar
.источник
:
вместо того,.
когда иметь дело сchown
?chown
как правило, принимает оба:
и.
.nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_
- хотя это вряд ли смысл вашего ответа, что хорошо, и я уже проголосовал.