소개
이 랩에서는 rm 명령어를 사용하여 Linux 환경에서 파일을 효율적으로 관리하는 방법을 배우게 됩니다. 파일 관리는 Linux 시스템을 사용하는 모든 사람에게 기본적인 기술입니다. rm (remove, 삭제) 명령어는 사용자가 시스템에서 파일과 디렉토리를 삭제할 수 있는 강력한 도구입니다.
단일 파일, 와일드카드 (wildcard) 를 사용하여 여러 파일, 그리고 재귀 옵션을 사용하여 전체 디렉토리를 삭제하는 방법을 배우게 됩니다. 이 랩을 마치면 다양한 시나리오에서 rm 명령어를 효과적이고 안전하게 사용하는 방법에 대한 확실한 이해를 갖게 될 것입니다.
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 환경에서 파일을 관리하는 방법을 배웠습니다. 다음은 다룬 주요 개념입니다.
- 기본 파일 삭제:
rm명령어를 사용하여 단일 파일 삭제 - 다중 파일 삭제: 와일드카드 (wildcard) 및 중괄호 확장 (brace expansion) 을 사용하여 여러 파일을 한 번에 삭제
- 디렉토리 삭제:
-r옵션을 사용하여 디렉토리와 그 내용물을 재귀적으로 삭제
rm 명령어는 Linux 파일 관리에서 강력한 도구이지만, 삭제된 파일은 쉽게 복구할 수 없으므로 주의해서 사용해야 합니다. 특히 와일드카드 또는 재귀적 옵션을 사용할 때는 항상 명령어를 다시 확인하십시오.
Linux 여정에서 유용할 수 있는 추가 옵션:
rm -i: 대화형 모드 (Interactive mode), 각 삭제 전에 프롬프트 표시rm -f: 쓰기 보호된 파일도 포함하여 프롬프트 없이 강제 삭제 (Force removal)rm -v: 상세 모드 (Verbose mode), 수행 중인 작업 설명
이러한 파일 관리 기술은 초보자부터 고급 사용자까지 Linux 시스템을 사용하는 모든 사람에게 기본적인 것입니다.



