웹사이트 검색

Linux에서 여러 디렉터리에 파일을 복사하는 방법


Linux를 배우는 동안 초보자는 간단한 작업을 수행하기 위해 여러 명령을 계속 입력하는 것이 항상 표준입니다. 이는 특히 터미널 사용에 익숙해진 경우에 이해할 수 있습니다.

그러나 Linux 고급 사용자가 되기를 기대하면서 제가 "단축 명령"이라고 부르는 것을 배우면 시간 낭비 경향을 크게 줄일 수 있습니다.

이 기사에서는 단일 명령을 사용하여 Linux에서 파일을 여러 디렉터리에 복사하는 쉬운 방법을 설명합니다.

Linux에서 cp 명령은 한 디렉터리에서 다른 디렉터리로 파일을 복사하는 데 사용되며, 이를 사용하는 가장 쉬운 구문은 다음과 같습니다.

cp [options….] source(s) destination

또는 Linux에서 대용량 파일/폴더를 복사하는 동안 진행률 표시줄을 표시하는 Advanced-copy 명령을 사용할 수도 있습니다.

아래 명령을 고려하십시오. 일반적으로 다음과 같이 두 개의 다른 명령을 입력하여 동일한 파일을 두 개의 별도 디렉토리에 복사합니다.

cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/test
cp -v /home/aaronkilik/bin/sys_info.sh /home/aaronkilik/tmp

특정 파일을 최대 5개 이상의 디렉토리에 복사한다고 가정하면 이는 5개 이상의 cp 명령을 입력해야 함을 의미합니까?

이 문제를 해결하려면 echo 명령, pipe, xargs 명령을 cp 명령과 함께 아래 형식으로 사용할 수 있습니다.

echo /home/aaronkilik/test/ /home/aaronkilik/tmp | xargs -n 1 cp -v /home/aaronkilik/bin/sys_info.sh

위의 형식에서 디렉터리 경로(dir1,dir2,dir3…..dirN)는 xargs 명령에 대한 입력으로 에코되고 파이프됩니다.

  1. -n 1 – xargs에게 명령줄당 최대 하나의 인수를 사용하고 cp 명령으로 보내도록 지시합니다.
  2. cp – 파일을 복사하는 데 사용됩니다.
  3. -v – 자세한 정보 표시 모드를 활성화하여 복사 작업의 세부 정보를 표시합니다.

유용한 고급 사용법 정보를 찾으려면 cp, echoxargs 명령의 매뉴얼 페이지를 읽어보세요.

man cp
man echo
man xargs

그게 전부입니다. 아래 댓글 양식을 통해 주제와 관련된 질문이나 피드백을 보내실 수 있습니다. (cp, mv, dd, tar 등)의 진행 상황을 모니터링하는 데 도움이 되는 Progress 명령에 대해 읽어 볼 수도 있습니다. 현재 Linux에서 실행 중인 명령입니다.