리눅스에서 파일 처리를 할 때 가장 많이 사용되는 명령어 중 하나인 cp
명령어를 살펴보겠습니다. 명령어 이름에서 유추할 수 있다시피 복사(copy)의 약자이며 파일이나 폴더를 다른 위치로 복사해주는 역할을 합니다.
cp
명령어의 사용 방법은 mv 명령어와 유사합니다. 두개의 인자값이 필요하며 앞쪽의 옵션은 선택에 따라 사용됩니다. 각 인자와 옵션 사이에는 공백이 필요합니다.
$ cp {옵션 (선택적)} {첫번째인자값} {두번째인자값}
예를 들어 /home/user/Downloads/a.txt
라는 파일을 /home/user/Desktop
경로로 복사해보겠습니다. 전자의 경로(대상)는 첫번째 인자값에, 후자의 경로(목적지)는 두번째 인자값에 넣어 명령을 실행할 수 있습니다.
$ cp /home/user/Downloads/a.txt /home/user/Desktop
두번째 인자값의 경로에 파일명은 생략해도 됩니다. 그러나 만약 a.txt
파일을 복사하면서 b.txt
파일로 이름을 바꾸고 싶다면 두번째 인자값 경로에 변경할 파일 이름을 같이 포함하면 됩니다.
$ cp /home/user/Downloads/a.txt /home/user/Desktop/b.txt
만약 복사할 파일의 경로가 서로 같고, 파일 이름만 다른 경우 현재 디렉토리 경로를 생략할 수도 있습니다.
$ cp a.txt b.txt
지금까지는 하나의 파일을 복사하는 것이었지만, 만약 디렉토리와 디렉토리 내의 모든 파일을 한번에 복사하고 싶을 때가 있습니다. 이럴 때는 위와 같이 사용하는 것은 같지만 인자값에 파일명은 제외해야 하며, -r
옵션을 반드시 붙여야 합니다.
$ cp -r /home/user/Downloads /home/user/Desktop
이렇게하면 /home/user/Desktop
디렉토리에 Downloads
폴더가 복사될 것입니다. 만약 -r
옵션을 붙이지 않는다면 아래와 같은 에러가 발생할 것입니다.
cp: -r not specified; omitting directory 'Downloads'
리눅스에서 지원되는 와일드카드 기호를 사용하면 특정 규칙에 일치하는 파일들을 한번에 특정 디렉토리로 복사할 수도 있습니다. 예를들어 Hello1.txt
와 Hello2.txt
파일이 있을 때 아래와 같이 He*
를 사용하면 두 파일을 모두 복사할 수 있습니다.
$ cp /home/user/Downloads/He* /home/user/Desktop
리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…
JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…
NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…
언제부턴가 윈도우 11을 처음 설치할 때 마이크로소프트(Microsoft) 계정 로그인을 강제로 요구하게 되었습니다. 물론 마이크로소프트 계정이…
애플 에어팟 프로 2 (AirPods Pro 2) 케이스에는 스피커가 내장되어 있습니다. 그런데 간혹 아무 것도…