동시에 파일 이동 및 소유권 변경 에는 옵션

Linux (Debian, Ubuntu Mint …)
에는 옵션 명령이나 다른 사용자에게 파일을 전송하지 않고 사용할 수있는 옵션이 있습니까?

sudo mv /home/poney/folderfulloffiles /home/unicorn/
sudo chown -R unicorn:unicorn /home/unicorn/folderfulloffiles



답변

사용 rsync(1):

rsync \
  --remove-source-files \
  --chown=unicorn:unicorn \
    /home/poney/folderfulloffiles /home/unicorn/


답변

아래 주석의 @Kevin에 따라 --file - |pipe구문이 중복됩니다. 그래서 나는 그것을 제거했습니다.

이것은 또한 할 수 있습니다 tar:

sudo tar -C${SRC_DIR} --remove-files --group=unicorn --owner=unicorn -c ./* |
    sudo tar -C${TGT_DIR} -pvx


답변

s=/home/poney/; f=folderfulloffiles; d=/home/unicorn/
sudo mv $s$f $d && sudo chown -R unicorn:unicorn $d$f

Gilles가 언급 한 것처럼 동일한 파일 시스템과 장치에 있지 않는 한 다른 답변과 길이가 비슷하며 모두 동일한 라이브러리 호출을 사용하기 때문에 모두 정확히 동일한 작업을 수행합니다. 이 경우 mv실제로는 이름이 바뀌므로 rsync또는 보다 효율적 tar입니다.


답변