Linux rm 명령어: 파일 삭제하기

LinuxBeginner
지금 연습하기

소개

이 실습에서는 Linux 의 rm 명령어에 대한 실무적인 입문을 제공합니다. "remove"의 줄임말인 rm 명령어는 파일과 디렉터리를 삭제하는 데 사용되는 강력한 도구입니다. 일련의 가이드 단계를 통해 다양한 상황에서 rm을 효과적이고 안전하게 사용하는 방법을 배우게 됩니다.

당신이 소규모 기술 스타트업의 신입 시스템 관리자라고 가정해 봅시다. 첫 번째 업무는 시간이 지나면서 불필요한 파일과 폴더가 쌓인 회사의 공유 디렉터리를 정리하는 것입니다. 이 실습은 rm 명령어를 사용하여 이 작업을 효율적으로 완수하는 과정을 안내합니다.

이것은 학습과 연습을 돕기 위해 단계별 지침을 제공하는 가이드 실습 (Guided Lab) 입니다. 각 단계를 완료하고 실무 경험을 쌓으려면 지침을 주의 깊게 따르십시오. 통계 데이터에 따르면 이 실습은 완료율 96%초급 수준이며, 학습자들로부터 99%의 긍정적인 평가를 받았습니다.

프로젝트 디렉터리로 이동하기

파일 정리 작업을 수행할 프로젝트 디렉터리로 이동하는 것부터 시작하겠습니다.

  1. 터미널을 엽니다. labex:project/ $와 같은 형태의 커맨드 프롬프트가 보일 것입니다.

  2. 다음 명령어를 입력하고 Enter 를 눌러 프로젝트 디렉터리로 이동합니다.

    cd /home/labex/project

    이 명령어는 현재 작업 디렉터리를 /home/labex/project로 변경합니다.

    여기서 어떤 일이 일어나고 있나요?

    • cd는 "change directory(디렉터리 변경)"의 약자입니다.
    • /home/labex/project는 이동하려는 디렉터리의 전체 경로입니다.

    만약 "No such file or directory"와 같은 오류 메시지가 나타나면, 해당 디렉터리가 존재하지 않거나 접근 권한이 없음을 의미할 수 있습니다. 이 경우 경로를 다시 확인하고 시도해 보십시오.

  3. 올바른 위치에 있는지 확인하려면 pwd 명령어를 사용합니다.

    pwd

    화면에 /home/labex/project가 출력되어야 합니다. 그렇지 않다면 cd 명령어를 다시 실행해 보십시오.

  4. 이제 이 디렉터리에 무엇이 있는지 확인해 봅시다.

    ls

    이 명령어는 현재 폴더의 모든 파일과 디렉터리를 보여줍니다. old_report.txt, file1.tmp, file2.tmp, file3.tmp와 같은 파일들과 old_projects라는 이름의 디렉터리가 포함된 목록이 나타나야 합니다.

Linux 에서는 위아래 화살표 키를 사용하여 이전에 입력했던 명령어들을 불러올 수 있다는 점을 기억하세요. 명령어를 반복하거나 약간 수정해야 할 때 시간을 절약할 수 있습니다.

단일 파일 삭제하기

이제 프로젝트 디렉터리에 들어왔으니, 불필요한 파일 하나를 삭제해 보겠습니다.

  1. 먼저 디렉터리에 old_report.txt 파일이 존재하는지 확인합니다.

    ls old_report.txt

    파일명 old_report.txt가 출력되어야 합니다. 만약 이 파일이 보이지 않는다면, 실습을 위해 미리 생성되어 있어야 하므로 강사에게 문의하십시오.

  2. 이제 rm 명령어를 사용하여 이 파일을 삭제해 봅시다.

    rm old_report.txt

    rm 명령어는 지정된 파일을 제거 (삭제) 합니다.

    중요 참고 사항: 그래픽 인터페이스에서 파일을 "휴지통"으로 보내는 것과 달리, 이 삭제 작업은 즉각적이고 영구적입니다. rm 명령어에는 쉬운 "실행 취소" 기능이 없으므로 실행하기 전에 항상 다시 한번 확인하십시오!

  3. 파일이 삭제되었는지 확인하기 위해 다시 목록을 조회해 봅니다.

    ls old_report.txt

    이번에는 파일이 존재하지 않는다는 오류 메시지가 나타나야 합니다. 이는 파일이 성공적으로 삭제되었음을 확인해 줍니다.

문제가 발생하면 어떻게 하나요?

  • 파일을 삭제하려고 할 때 "Permission denied"가 나타나면 필요한 권한이 없다는 뜻입니다. 이 실습 환경에서는 적절한 권한이 부여되어 있지만, 실제 환경에서는 sudo rm을 사용해야 할 수도 있습니다 (이때는 매우 주의해야 합니다!).

  • 오류 메시지가 나타나지 않는데 파일이 여전히 남아 있다면, rm 명령어에 파일 이름을 정확히 입력했는지 확인하십시오. Linux 는 대소문자를 구분하므로 old_report.txtOld_Report.txt는 서로 다른 파일로 간주됩니다.

  • 실수로 잘못된 파일을 삭제한 경우, 안타깝게도 이를 복구할 쉬운 방법은 없습니다. 이것이 rm을 사용하기 전에 항상 두 번 확인하는 것이 중요한 이유입니다.

여러 파일 삭제하기

종종 여러 파일을 한꺼번에 삭제해야 할 때가 있습니다. 지금 연습해 보겠습니다.

  1. 먼저 어떤 임시 파일들이 있는지 확인해 봅시다.

    ls *.tmp

    *.tmp에서 *는 모든 문자와 일치하는 와일드카드입니다. 따라서 이 명령어는 .tmp로 끝나는 모든 파일을 나열합니다. file1.tmp, file2.tmp, file3.tmp가 보여야 합니다.

  2. 이제 세 파일을 한 번에 삭제해 봅시다.

    rm file1.tmp file2.tmp file3.tmp

    이 명령어는 한 번에 세 파일을 모두 삭제합니다. 삭제할 파일들을 공백으로 구분하여 나열할 수 있습니다.

    여기서 어떤 일이 일어나고 있나요?

    • rm 명령어가 뒤에 나열된 각 파일에 적용됩니다.
    • 각 파일은 개별적으로 삭제되지만, 하나의 명령어로 처리됩니다.
    • 목록 중 존재하지 않는 파일이 있더라도 rm은 나머지 파일에 대한 작업을 계속 진행합니다.
  3. 파일들이 삭제되었는지 확인하기 위해 와일드카드를 다시 사용해 봅니다.

    ls *.tmp

    이번에는 "No such file or directory"와 같은 오류 메시지가 나오거나 아무것도 출력되지 않아야 하며, 이는 디렉터리에 더 이상 .tmp 파일이 없음을 나타냅니다.

문제가 발생하면 어떻게 하나요?

  • 파일을 삭제하려고 할 때 "No such file or directory"가 나타나면 파일이 이미 삭제되었음을 의미할 수 있습니다. 이는 문제가 되지 않으며, rm은 존재하지 않는 파일을 단순히 무시합니다.

  • rm 명령어를 실행한 후에도 일부 .tmp 파일이 여전히 보인다면, 명령어의 철자를 다시 확인하고 시도해 보십시오. 위 화살표 키를 눌러 이전 명령어를 불러와 수정할 수 있습니다.

  • 많은 파일을 삭제하면서 어떤 파일이 삭제되고 있는지 확인하고 싶다면 -v (verbose) 옵션을 추가할 수 있습니다: rm -v file1.tmp file2.tmp file3.tmp. 이렇게 하면 각 파일이 삭제될 때마다 그 이름이 출력됩니다.

디렉터리 삭제하기

디렉터리를 삭제하려면 다른 접근 방식이 필요합니다. 디렉터리와 그 안의 내용을 삭제하는 연습을 해보겠습니다.

  1. 먼저 old_projects 디렉터리의 내용을 확인합니다.

    ls old_projects

    project1.txtproject2.txt가 나열되어야 합니다.

  2. 이제 일반적인 rm 명령어로 디렉터리를 삭제해 봅시다.

    rm old_projects

    "Is a directory"와 같은 오류 메시지가 나타날 것입니다. 이는 디렉터리와 그 안의 내용이 실수로 삭제되는 것을 방지하기 위한 rm의 안전 장치입니다.

  3. 디렉터리와 그 안의 모든 내용을 삭제하려면 -r (recursive, 재귀적) 옵션을 사용해야 합니다.

    rm -r old_projects

    -r 옵션은 rm에게 디렉터리와 그 내부의 모든 것을 재귀적으로 삭제하도록 지시합니다.

    여기서 어떤 일이 일어나고 있나요?

    • rmold_projects 디렉터리 내부로 들어갑니다.
    • 내부의 모든 파일 (project1.txtproject2.txt) 을 삭제합니다.
    • 그런 다음 old_projects 디렉터리 자체를 삭제합니다.

    이 명령어는 확인 절차 없이 지정된 디렉터리의 모든 것을 삭제하므로 매우 주의해서 사용해야 합니다.

  4. 디렉터리가 삭제되었는지 확인합니다.

    ls old_projects

    "No such file or directory"와 같은 오류 메시지가 나타나면 성공적으로 삭제된 것입니다.

문제가 발생하면 어떻게 하나요?

  • "Permission denied"가 나타나면 디렉터리나 그 내용 중 일부를 삭제할 권한이 없음을 의미할 수 있습니다. 이 실습 환경에서는 권한이 있지만, 실제 상황에서는 sudo rm -r을 사용해야 할 수도 있습니다 (이때는 극도로 주의해야 합니다!).

  • 디렉터리가 비어 있지 않은데 -r 옵션을 사용하지 않으면 rm은 삭제를 거부합니다. 이는 데이터 손실을 방지하기 위한 안전 조치입니다.

  • rm -r을 사용하기 전에 항상 디렉터리 이름을 다시 확인하십시오. 잘못 사용하면 순식간에 방대한 양의 데이터를 삭제할 수 있으며, rm -r로 삭제된 파일은 복구하기가 매우 어렵습니다.

대화형 삭제를 위한 -i 옵션 사용하기

-i 옵션은 각 파일을 삭제하기 전에 확인 메시지를 표시하여 추가적인 안전 계층을 제공합니다. 이는 중요한 파일을 다루거나 삭제 대상을 신중하게 검토하고 싶을 때 특히 유용합니다.

  1. 먼저 important_file.txt 파일이 존재하는지 확인합니다.

    ls important_file.txt

    파일명이 나열되어야 합니다.

  2. 이제 -i 옵션을 사용하여 파일을 삭제해 봅시다.

    rm -i important_file.txt

    파일을 삭제할 것인지 묻는 프롬프트가 나타납니다. 프롬프트는 다음과 같은 형태일 것입니다.

    rm: remove regular file 'important_file.txt'?
  3. 삭제를 승인하려면 y ("yes"의 약자) 를 입력하고 Enter 를 누릅니다. 마음이 바뀌어 파일을 유지하고 싶다면 n ("no"의 약자) 을 입력하고 Enter 를 누르면 됩니다.

    여기서 어떤 일이 일어나고 있나요?

    • -i 옵션은 rm이 각 삭제 작업 전에 확인을 요청하도록 합니다.
    • 각 파일 삭제에 대해 명시적으로 "yes"라고 답해야 합니다.
    • 이를 통해 삭제 작업을 검토하고 잠재적으로 취소할 기회를 얻게 됩니다.
  4. 파일이 삭제되었는지 확인합니다.

    ls important_file.txt

    삭제를 승인했다면 (y 입력), 파일이 존재하지 않는다는 오류 메시지가 나타나야 합니다. 삭제하지 않기로 선택했다면 (n 입력), 파일 이름이 그대로 나열되어야 합니다.

문제가 발생하면 어떻게 하나요?

  • 실수로 y를 눌러 보관하려던 파일을 삭제한 경우, 안타깝게도 복구할 쉬운 방법이 없습니다. 이것이 중요한 파일은 항상 백업해 두는 것이 좋은 습관인 이유입니다.

  • rm -i로 여러 파일을 삭제하는 경우 각 파일마다 확인 메시지가 뜹니다. 도중에 마음이 바뀌면 Ctrl+C 를 눌러 작업을 중단할 수 있습니다. 이미 삭제를 승인한 파일은 사라지지만, 나머지 파일에 대한 삭제는 중단됩니다.

-i 옵션은 여러 파일을 삭제하면서 각 삭제 건을 개별적으로 검토하고 싶을 때 특히 유용합니다. 중요한 파일의 실수에 의한 삭제를 방지하는 데 도움이 됩니다. 다만, 삭제할 파일이 아주 많을 경우 매번 확인하는 과정이 번거로울 수 있다는 점을 유의하십시오.

요약

이 실습에서는 Linux 에서 파일과 디렉터리를 삭제하기 위해 rm 명령어를 사용하는 방법을 배웠습니다. 다음 내용들을 연습했습니다:

  1. 단일 파일 삭제하기
  2. 여러 파일 삭제하기
  3. -r 옵션을 사용하여 디렉터리 삭제하기
  4. 대화형 삭제를 위해 -i 옵션 사용하기

rm 명령어는 강력한 도구이지만 주의해서 사용해야 한다는 점을 기억하십시오. 삭제된 파일이 종종 "휴지통" 폴더로 이동하는 그래픽 인터페이스와 달리, rm은 파일을 영구적으로 삭제합니다. 특히 중요한 파일이나 디렉터리를 다룰 때는 Enter 를 누르기 전에 항상 명령어를 다시 한번 확인하십시오.

기억해야 할 주요 사항:

  • 단일 파일을 삭제하려면 rm filename을 사용합니다.
  • 여러 파일을 삭제하려면 rm file1 file2 file3을 사용합니다.
  • 디렉터리와 그 내용을 삭제하려면 rm -r directory를 사용합니다.
  • 삭제 전 확인을 거치려면 rm -i filename을 사용합니다.

rm 사용이 익숙해지면 확인 메시지 없이 강제로 삭제하는 -f나 삭제된 파일을 출력해 주는 -v와 같은 다른 유용한 옵션들도 접하게 될 것입니다. 하지만 이러한 고급 옵션들을 사용할 때는 항상 각별히 주의해야 합니다.