mv에 cp와 같은 --parents 옵션이 있습니까?

mv에 cp와 같은 --parents 옵션이 있습니까?

cp--parents파일의 디렉터리 구조를 다른 디렉터리로 복사할 수 있는 유용한 기능이 있습니다 .

$ cp -v --parents source/directory/from target/
‘source/directory/from’ -> ‘target/source/directory/from’

어떻게 하면 똑같이 할 수 있나요?이동하다문서가 하나요?

답변1

직접적으로는 아니지만, 적어도 mvGNU에 따르면 그렇지 않습니다.매뉴얼 페이지. 가능한 해결 방법은 다음과 같은 기능을 추가하는 것입니다.

pmv(){
    source=$1
    target=${2%/}
    mkdir -p -- "$target/$(dirname -- "$source")" &&
      mv -- "$source" "$target/$(dirname -- "$source")/"
}

쉘의 구성 파일에 함수를 추가하고( ~/.bashrcbash를 사용하는 경우) 다음과 같이 실행하십시오.

pmv source/directory/from target/

답변2

비슷한 방법으로 파일을 옮기는 방법이 있나요?

전혀. mv시스템 호출을 사용하는 매우 간단한 유틸리티입니다 rename(원자FS 작업) 가능한 경우 - 소스/대상이 동일한 블록 장치에 있는 경우,그렇지 않으면 뒤로 넘어질 것이다행동 에 cp. renamesrc/dst가 Linux에서 허용하는 다른 마운트 지점에 마운트된 동일한 장치인 경우에도 실제로 실패합니다.

따라서 파일을 이동해야 하는 경우는 다음과 같습니다.

cp -v --parents source/directory/from target/

다음 사항에 대해 생각해 볼 수 있습니다.

mv source target/

하지만 움직인다는 걸 기억하세요모든 콘텐츠모든 상위 디렉토리는 아마도 내부에 있을 것이므로 나중에 처리해야 합니다. 즉, cp --parents제공된 것과 동일한 결과를 얻으려면 추가 파일을 모두 연결 해제해야 합니다.

조만간 당신은 당신이 하고 있는 일이 cp/ rm메소드를 사용하여 쉽게 이루어질 수 있다는 것을 깨닫게 될 것입니다. 사랑하는 사람의 사용을 허용하면서 빠르게 cp사용할 수 있고 -l실행할 수 있습니다 --parents. 그렇기 때문에 의 것만큼 멋진 것은 mv없을 것입니다 .cp--parents

관련 정보