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
입니다.