2013-02-06 3 views
1

내가 백업이처럼 내 현재 디렉토리와 다른 몇 가지-다른 하위 디렉토리에있는 파일을 원하는 :한 줄 복사 명령 소스 및 이명 령 경로가있는 경우 같은

cp /aaa/bbb/ccc/ddd/eeee/file.sh /aaa/bbb/ccc/ddd/eeee/file.sh.old 

둘 다 소스를 참조로 및 dest 디렉토리는 동일하므로 공통된 규칙은 공통 디렉토리로 변경하고 복사 메 일 ./을 수행 한 다음 원래 디렉토리로 다시 변경하십시오.

이 상황에서 복사를 수행하기위한 한 줄 명령이 있습니까?

+0

여기에 프로그래밍 질문이 있습니까? – NPE

+0

그 경로에서 cd ​​명령을 사용하면 "./" – Satish

답변

2

예. 이 옵션을 사용합니다 :

cp /aaa/bbb/ccc/ddd/eeee/{file.sh,file.sh.old}

중괄호는 문자열의 첫 번째 부분은 쉼표로 구분하여 각 항목에 대해 재사용하게됩니다. Bash는 위를 두 개의 분리 된 경로로 확장 한 다음 cp으로 전달합니다. 배쉬는 cp에 전달 될, 단순히 처음에 echo을 추가을 확인하려면 :

echo cp /aaa/bbb/ccc/ddd/eeee/{file.sh,file.sh.old}

당신은 그 원래의 문 생산이 표시됩니다

cp /aaa/bbb/ccc/ddd/eeee/file.sh /aaa/bbb/ccc/ddd/eeee/file.sh.old

그냥 사용하고 있는지 타자를 치기 위하여 배쉬 트릭.

+0

을 사용할 수 있습니다. 당신이 준 구체적인 예를 들어'cp/aaa/bbb/ccc/ddd/eeee/file '파일 이름을 다시 사용할 수 있습니다. sh {,. old}'이렇게하면 더 많은 타이핑을 줄일 수 있으며 탭 완성을 사용하여 원래 경로로 이동할 수 있기 때문에 오타가 발생할 가능성을 줄일 수 있습니다. – twm