[UNIX] CLI - 06

업데이트:


cp

cp 파일

cp는 ‘copy & paste’의 약자로 디렉토리나 파일을 복사, 붙여넣기 할 수 있는 커맨드다.

// test 파일 생성
touch test


실습을 위해 test 파일 생성 후, 파인더(finder)로 parent 디렉토리 내에 test라는 파일을 열어 내용을 적고 저장한다. 그리고 터미널에서 다음과 같은 커맨드를 입력한다.

// cp 복사할_파일_명 붙여넣기_할_파일명
cp test test2

cp1

test2 파일이 생성된 걸 확인 후, 파인더에서 test2 파일을 열어보면 test 내용이 그대로 복사, 붙여넣기 된 걸 확인할 수 있다.

cp2



주의할 점

이전 포스팅에서도 mv 사용 시 주의할 점이 있었는데 cp 커맨드 역시 mv와 똑같이 덮어쓰기를 주의해야 한다. 만약 붙여 넣으려는 이름이 기존에 존재하는 파일의 이름과 똑같다면 내용이 덮어씌워진다. 이를 해결하기 위해 마찬가지로 -i 옵션을 사용하면 된다.

cp -i test test2


cp 디렉토리
디렉토리의 경우는 -r이라는 옵션을 주어야만 한다. -r은 ‘recursive’의 약자로 재귀적이라는 뜻을 가지고 있다. cp에서 재귀적이란 디렉토리를 복사, 붙여넣기 할 때 만약 그 안에 자식 디렉토리가 있으면 그 자식 디렉토리 안에 있는 모든 것들도 복사하라는 의미이다.

cp -r kid child


cp3






rm

rm은 ‘remove’의 약자로 디렉토리나 파일을 삭제할 때 사용하는 커맨드다.

rm 파일

// rm 삭제할_파일_명
rm test2


rm1



파일 삭제는 간단하다.

rm 디렉토리 디렉토리를 삭제할 때는 cp 커맨드와 똑같이 -r 옵션을 추가해야 한다.

rm -r child


rm2



사용 팁

디렉토리를 삭제할 때 안에 중요한 파일이 있는지 확인하고, 삭제할 수 있는 -i 옵션을 추가하면 엄청난 실수를 방지할 수 있다.

rm -ir kid



rm3

커맨드를 입력하면 kid 폴더 내부로 진입하겠냐는 문구가 뜬다. 여기에서 y를 입력하면 진입, n를 입력하고 엔터를 누르면 진입하지 않는다. y를 누르면 kid 안에 있는 파일들이 하나씩 출력되면서 삭제할 거냐 질문한다 여기서 하나라도 n를 입력하면 맨 마지막에 remove kid? 질문에 y를 입력해도 kid 디렉토리는 삭제되지 않는다. (test의 파일은 kid 디렉토리 내부에 존재하므로)

태그: ,

카테고리:

업데이트:

댓글남기기