답변:
사용 rsync(1):
rsync \
--remove-source-files \
--chown=unicorn:unicorn \
/home/poney/folderfulloffiles /home/unicorn/
usermap또한 groupmap옵션을 보고 싶을 수도 있습니다.
mv않습니까? 사본 만? 아니면 그렇 mv습니까?
아래 주석의 @Kevin에 따라 --file - |pipe구문이 중복됩니다. 그래서 나는 그것을 제거했습니다.
이것은 또한 할 수 있습니다 tar:
sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* |
sudo tar -C${TGT_DIR} -pvx
-f -양쪽에 암시되어 있는지 확인하십시오 .
f -부분 없이 잘 작동합니다 .
s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f
Gilles가 언급 한 것처럼 동일한 파일 시스템과 장치에 있지 않는 한 다른 답변과 길이가 비슷하며 모두 동일한 라이브러리 호출을 사용하기 때문에 모두 정확히 동일한 작업을 수행합니다. 이 경우 mv실제로는 이름이 바뀌므로 rsync또는 보다 효율적 tar입니다.
:대신의 .를 처리 할 때 chown?
chown일반적으로 모두 소요 :하고 ..
nu=unicorn h=/home f=folderfulloffiles ; sudo mv $h/poney/$f $h/$nu/$f ; sudo chown -R ${nu}:$nu $_- 그것은 당신의 대답의 요점이 아닙니다.