Linux 파일 삭제

LinuxBeginner
지금 연습하기

소개

이 랩에서는 rm 명령어를 사용하여 Linux 환경에서 파일을 효율적으로 관리하는 방법을 배우게 됩니다. 파일 관리는 Linux 시스템을 사용하는 모든 사람에게 기본적인 기술입니다. rm (remove, 삭제) 명령어는 사용자가 시스템에서 파일과 디렉토리를 삭제할 수 있는 강력한 도구입니다.

단일 파일, 와일드카드 (wildcard) 를 사용하여 여러 파일, 그리고 재귀 옵션을 사용하여 전체 디렉토리를 삭제하는 방법을 배우게 됩니다. 이 랩을 마치면 다양한 시나리오에서 rm 명령어를 효과적이고 안전하게 사용하는 방법에 대한 확실한 이해를 갖게 될 것입니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 98%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

rm 명령어로 단일 파일 삭제하기

rm 명령어 (remove 의 약자) 는 Linux 에서 파일과 디렉토리를 삭제하는 데 사용됩니다. 이 단계에서는 시스템에서 단일 파일을 삭제하는 방법을 배우게 됩니다.

먼저 old_predictions 디렉토리에 어떤 파일이 있는지 확인해 보겠습니다.

ls ~/project/old_predictions

다음과 유사한 출력을 볼 수 있습니다.

prediction-01.txt  prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

이제 rm 명령어를 사용하여 prediction-01.txt 파일을 삭제해 보겠습니다.

rm ~/project/old_predictions/prediction-01.txt

rm 명령어는 작업이 성공하면 어떤 출력도 생성하지 않습니다. 이는 많은 Linux 명령어에서 흔히 볼 수 있는 동작으로, "no news is good news" - 즉, 오류 메시지가 없으면 명령어가 성공적으로 실행되었음을 의미합니다.

파일이 삭제되었는지 확인하려면 디렉토리의 내용을 다시 나열합니다.

ls ~/project/old_predictions

이제 출력 결과에서 prediction-01.txt가 더 이상 존재하지 않음을 보여줍니다.

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

rm 명령어는 파일을 영구적으로 삭제합니다. Windows 또는 macOS 와 달리, 명령줄 인터페이스에는 휴지통이나 쓰레기통이 없습니다. rm을 사용하여 파일이 삭제되면 쉽게 복구할 수 없습니다.

와일드카드 사용해서 여러 파일 삭제하기

종종 여러 파일을 한 번에 삭제해야 할 필요가 있습니다. Linux 는 이 작업을 더 쉽게 하기 위해 와일드카드를 제공합니다. 와일드카드는 파일 이름에서 하나 이상의 문자를 나타낼 수 있는 특수 문자입니다.

일반적인 와일드카드를 살펴보겠습니다.

  • * (별표): 임의의 수의 문자 (0 포함) 와 일치합니다.
  • ? (물음표): 정확히 하나의 문자와 일치합니다.
  • [] (대괄호): 대괄호 안의 모든 문자와 일치합니다.

먼저 old_predictions 디렉토리의 현재 파일을 확인해 보겠습니다.

ls ~/project/old_predictions

다음과 같은 출력을 볼 수 있습니다.

prediction-02.txt  prediction-03.txt  prediction-04.txt  prediction-05.txt

이제 prediction-02.txt, prediction-03.txt, 그리고 prediction-04.txt 파일을 한 번에 삭제해 보겠습니다. 중괄호 {}를 사용하여 여러 옵션을 지정하는 패턴 매칭을 사용할 수 있습니다.

rm ~/project/old_predictions/prediction-{02..04}.txt

이 명령어는 02, 03, 04로 확장되는 범위 표기법 {02..04}를 사용합니다. 쉘은 실행 전에 이 명령어를 확장하여 다음과 같이 효과적으로 실행합니다.

rm ~/project/old_predictions/prediction-02.txt ~/project/old_predictions/prediction-03.txt ~/project/old_predictions/prediction-04.txt

또 다른 일반적인 접근 방식은 별표 와일드카드를 사용하는 것입니다. 예를 들어, 모든 예측 파일을 삭제하려면 다음과 같이 사용할 수 있습니다.

## 이것은 예시일 뿐입니다 - 지금 이 명령어를 실행하지 마세요
## rm ~/project/old_predictions/prediction-*.txt

디렉토리에 어떤 파일이 남아 있는지 확인해 보겠습니다.

ls ~/project/old_predictions

이제 다음만 볼 수 있습니다.

prediction-05.txt

이는 세 개의 파일이 성공적으로 삭제되었고 prediction-05.txt만 남아 있음을 보여줍니다.

rm -r 명령어로 디렉토리 삭제하기

기본 rm 명령어는 디렉토리가 아닌 파일만 삭제합니다. 디렉토리와 그 내용물 (파일 및 하위 디렉토리) 을 모두 삭제하려면 -r (재귀적, recursive) 옵션을 사용해야 합니다.

archive 폴더에 어떤 디렉토리가 있는지 살펴보겠습니다.

ls ~/project/archive

다음과 같은 출력을 볼 수 있습니다.

2008  2009  2010

이제 2009 디렉토리 안에 어떤 파일이 있는지 확인해 보겠습니다.

ls ~/project/archive/2009

출력 결과는 다음과 같아야 합니다.

august.txt  july.txt  june.txt

전체 2009 디렉토리를 모든 내용물과 함께 삭제하려면 rm 명령어와 함께 -r 옵션을 사용합니다.

rm -r ~/project/archive/2009

이 명령어는 디렉토리와 모든 내용물을 재귀적으로 삭제합니다. -r 옵션은 "재귀적 (recursive)"을 의미하며, rm에게 디렉토리와 그 안에 있는 모든 것을 삭제하도록 지시합니다.

디렉토리가 삭제되었는지 확인하려면 archive 디렉토리의 내용을 다시 확인합니다.

ls ~/project/archive

이제 다음만 볼 수 있습니다.

2008  2010

2009 디렉토리와 모든 내용물이 성공적으로 삭제되었습니다.

중요 참고 사항: rm -r을 사용할 때는 특히 와일드카드와 함께 사용하거나 루트 사용자로 사용할 때 극도로 주의해야 합니다. 잘못 입력된 명령어는 심각한 데이터 손실로 이어질 수 있습니다. 일부 시스템 관리자는 각 파일을 삭제하기 전에 확인을 요청하는 -i 옵션 (대화형, interactive) 을 추가 안전 조치로 사용합니다.

## 이것은 예시일 뿐입니다 - 지금 이 명령어를 실행하지 마세요
## rm -ri ~/project/archive/2010

또 다른 유용한 옵션은 -v (상세, verbose) 로, 각 파일이 삭제될 때마다 표시합니다.

## 이것은 예시일 뿐입니다 - 지금 이 명령어를 실행하지 마세요
## rm -rv ~/project/archive/2010

요약

이 랩에서는 rm 명령어를 사용하여 Linux 환경에서 파일을 관리하는 방법을 배웠습니다. 다음은 다룬 주요 개념입니다.

  1. 기본 파일 삭제: rm 명령어를 사용하여 단일 파일 삭제
  2. 다중 파일 삭제: 와일드카드 (wildcard) 및 중괄호 확장 (brace expansion) 을 사용하여 여러 파일을 한 번에 삭제
  3. 디렉토리 삭제: -r 옵션을 사용하여 디렉토리와 그 내용물을 재귀적으로 삭제

rm 명령어는 Linux 파일 관리에서 강력한 도구이지만, 삭제된 파일은 쉽게 복구할 수 없으므로 주의해서 사용해야 합니다. 특히 와일드카드 또는 재귀적 옵션을 사용할 때는 항상 명령어를 다시 확인하십시오.

Linux 여정에서 유용할 수 있는 추가 옵션:

  • rm -i: 대화형 모드 (Interactive mode), 각 삭제 전에 프롬프트 표시
  • rm -f: 쓰기 보호된 파일도 포함하여 프롬프트 없이 강제 삭제 (Force removal)
  • rm -v: 상세 모드 (Verbose mode), 수행 중인 작업 설명

이러한 파일 관리 기술은 초보자부터 고급 사용자까지 Linux 시스템을 사용하는 모든 사람에게 기본적인 것입니다.