rm (삭제)
100%

명령줄 · 레슨 13

rm (삭제)

대상을 확인하고 안전한 옵션을 선택하면서 파일과 디렉터리를 제거하는 방법을 배웁니다.

rm 명령어는 파일 시스템 항목을 제거합니다. 커맨드 라인 삭제는 보통 데스크톱 휴지통으로 보내지 않으며 rm에는 실행 취소 기능이 없으므로 실행 전에 모든 대상을 확인해야 합니다.

기본 문법은 다음과 같습니다.

rm [OPTIONS] FILE...

파일 제거하기

한 개의 파일을 삭제하려면 파일 이름을 rm에 전달하면 됩니다.

$ rm file1
$ rm notes.txt old-report.txt draft.md

Enter를 누르기 전에 철자와 위치를 확인하세요. 삭제 후 파일 시스템 복구 도구에 의존하는 것보다 백업이나 버전 관리 복사본이 더 확실한 복구 방법입니다.

대상을 확인한 뒤 old-report.txt 파일을 제거하는 명령어는 무엇인가요?

와일드카드 대상 미리 보기

셸 와일드카드를 사용하면 여러 파일을 한꺼번에 지정할 수 있습니다. 예를 들어, 현재 디렉토리의 모든 .tmp 파일을 삭제하려면 다음과 같이 합니다:

$ rm *.tmp

와일드카드와 함께 rm을 사용하기 전에는 ls로 삭제 대상 파일을 미리 확인하는 것이 안전합니다.

$ ls *.tmp
cache.tmp  test.tmp
$ rm *.tmp

셸이 rm 실행 전에 *.tmp를 확장한다는 점을 기억하세요. 패턴이 예상보다 많은 파일과 일치하면 rm은 모두를 받게 됩니다.

*.tmp를 제거하기 전에 삭제 없이 패턴이 선택한 숨김 항목 이외의 경로를 보여 주는 명령어는 무엇인가요?

확인 요청하기

더 안전한 방법으로 -i 옵션을 사용하면 파일 하나하나를 삭제하기 전에 확인을 요청합니다.

$ rm -i important.txt
rm: remove regular file 'important.txt'? y

GNU rm-I는 덜 번거로운 보호 장치로, 세 개보다 많은 파일을 제거하거나 재귀 작업을 할 때 한 번만 묻습니다.

지정한 파일을 각각 제거하기 전에 확인을 요청하는 명령어는 무엇인가요?

-f로 없는 파일 무시하기

-f 옵션은 "force"를 의미합니다. 존재하지 않는 파일을 무시하고 확인을 요청하지 않습니다.

$ rm -f old-cache.txt

스크립트에서 파일이 이미 없어도 정리를 계속해야 할 때 유용합니다. -f는 일부 안전 확인 메시지도 숨기므로 실수를 감출 수 있습니다.

디렉터리 제거하기

기본적으로 rm은 디렉토리를 삭제할 수 없습니다.

$ rm projects
rm: cannot remove 'projects': Is a directory

디렉토리와 그 안의 모든 내용을 삭제하려면 재귀적 삭제를 의미하는 -r 또는 -R 옵션을 사용하세요.

$ rm -r old-project

빈 디렉터리는 더 좁은 범위의 rmdir로 제거할 수 있습니다.

$ rmdir empty-directory

rmdir는 디렉터리가 비어 있지 않으면 실패하므로 내부 항목을 재귀적으로 삭제하지 않습니다.

old-cache/가 비어 있을 때만 제거하는 명령어는 무엇인가요?

재귀 제거 확인하기

재귀 삭제는 전체 트리를 제거하므로 위험합니다. 항상 다음을 확인하세요:

  • 현재 위치가 예상한 디렉토리인지? pwd를 사용하세요.
  • ls -ld -- TARGET이 의도한 최상위 경로를 보여주는지 확인하세요.
  • 와일드카드가 올바르게 확장되었는지? ls로 미리 확인하세요.
  • 경로가 절대 경로인지 상대 경로인지? /tmp/cachetmp/cache는 매우 다릅니다.
  • 실수로 공백이 있는지? rm -rf old-projectrm -rf old project는 다른 경로를 대상으로 합니다.

하이픈으로 시작할 수 있는 대상 앞에는 옵션으로 오해하지 않도록 --를 사용합니다.

$ rm -- -old-name

권한 오류가 난다는 이유만으로 곧바로 sudo를 사용하지 마세요. 먼저 대상과 계정이 상위 디렉터리를 수정할 수 없는 이유를 확인합니다. 관리자 권한의 재귀 삭제는 운영체제나 다른 사용자의 데이터를 손상시킬 수 있습니다.

성공한 제거 항목을 보고 싶다면 -v를 사용합니다.

$ rm -rv old-project
removed 'old-project/notes.txt'
removed directory 'old-project'

전체 대상을 확인한 뒤 일반 확인 동작은 유지하면서 old-project/와 그 아래 모든 항목을 제거하는 명령어는 무엇인가요?

통제된 환경에서 제거를 연습하려면 다음 실습을 활용해 보세요.

  1. Linux rm 명령어: 파일 삭제 - rm 명령어와 -r, -i 같은 다양한 옵션을 사용해 파일과 디렉토리를 삭제하는 방법을 배우고 안전하고 효과적인 파일 삭제를 연습하세요.
  2. 파일과 디렉토리 정리하기 - 불필요한 디렉토리를 정리하는 등 필수 Linux 파일 관리 기술을 실습하는 도전 과제입니다.

레슨 완료

rm (삭제) 완료

이제 모든 대상을 되돌릴 수 없는 것으로 다루면서 파일 시스템 항목을 제거할 수 있습니다.

  • 제거 전에 파일 경로를 확인할 수 있습니다.

  • 읽기 전용 명령어로 와일드카드 확장을 미리 볼 수 있습니다.

  • -i 또는 -I로 확인을 요청할 수 있습니다.

  • 디렉터리가 비어 있어야 할 때 rmdir를 선택할 수 있습니다.

  • 재귀 제거 전에 전체 대상을 검증할 수 있습니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
명령줄(으)로 돌아가기