동일한 명령으로 디렉토리를 복사하고 이름을 바꾸려면 어떻게해야합니까?


15

현재이 두 명령을 실행하여 디렉토리의 빠른 백업을 만듭니다. 두 명령을 하나로 결합하여 새 디렉토리를 하나의 명령으로 복사하고 이름을 바꾸는 방법이 있습니까?

#cp -R /tf/Custom_App /tf/Custom_App_backups/
#mv /tf/Custom_App_backups/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21

1
cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21
jesse_b

그 두 가지에 대한 별칭이나 함수를 정의하는 방법;)
LinuxSecurityFreak

답변:


21

당신은 그냥 할 수 있어야합니다

cp -R /tf/Custom_App /tf/Custom_App_backups/Custom_App_2017-12-21

그러나 대상 디렉토리가 이미 존재하면 소스 경로의 마지막 부분을 대상 경로에 추가하여을 만든 /tf/Custom_App_backups/Custom_App_2017-12-21/Custom_App다음 그 안의 트리의 나머지 부분을 복사합니다.

이를 방지하려면 /tf/Custom_App/.소스로 사용 하십시오. 물론, rm -r /tf/Custom_App_backups/Custom_App_2017-12-21그 후에는 복사 후 오래된 파일을 그 주위에 놓지 않으려면 먼저 원할 수도 있습니다 .

차이 /some/dir/some/dir/.a를 다시 동안 논의한 Cp는 이상하게 동작 할 때. (dot) 또는 .. (dot dot)은 소스 디렉토리입니다.


.소스 디렉토리 로 전달하는 대안 은 -T플래그를 사용 cp하여 대상 내에 새 구성원을 작성하지 않고 대상을 겹쳐 쓰 도록 지시하는 것입니다.
Toby Speight

@TobySpeight, ... GNU에서 cp.
ilkkachu

1
/tf/Custom_app/.트릭은 내가 필요 단지 것입니다.
Martin Bonner는 Monica

cp -a작동합니다.
flow2k

1
@ flow2k, GNU 유틸리티는 특히 많은 비표준 옵션을 가지고 있으며, 그 중 많은 것이 매우 유용합니다. cp -a물론 FreeBSDOpenBSD 에도 등장 하지만 POSIX에 의해 지정되지 않은 표준 기능은 아닙니다 . ( cp -T앞서 언급 한 것은 GNUism으로 보입니다. POSIX에는없고 BSD에는 없습니다.)
ilkkachu

1

또는 다음과 같이 할 수 있습니다.

mkdir /tf/Custom_App_backups/Custom_App_2017-12-21 # prepare the target location
cp -R /tf/Custom_app/. /tf/Custom_App_backups/Custom_App_2017-12-21 # copy only the contents

이를 통해 사전에 사용자 정의 위치를 ​​지정할 수 있습니다. 또한 접미사를 사용합니다. /.이렇게하면 내용 만 복사하고 포함 된 폴더를 제외 할 수 있습니다.이 경우에는 Custom_app폴더입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.