Linux rm 명령: 알아야 할 모든 것

게시 됨: 2023-01-22
bash 프롬프트를 표시하는 Linux 노트북
fatmawati achmad zaenuri/Shutterstock.com
rm 명령을 사용하면 "rm filename" 또는 "rm -d directory"라는 이름을 전달하는 파일이나 디렉토리를 삭제할 수 있습니다. 디렉터리 경로도 포함할 수 있습니다. 디렉토리에 파일이 있으면 -r 옵션 "rm -r directory"를 사용하여 파일과 폴더를 재귀적으로 삭제합니다.

Linux rm 명령은 파일과 디렉토리를 삭제합니다. 이 도구를 안전하게 사용하려면 "Enter" 키를 눌렀을 때 어떤 일이 일어날지 확신해야 합니다. 여기 당신이 알아야 할 것이 있습니다.

목차

Linux에서 rm 명령이란 무엇입니까?
rm으로 파일을 삭제하는 방법
rm과 함께 와일드카드 사용
rm을 대화식으로 사용하기
rm 강제 옵션 사용
rm으로 디렉토리 삭제
rm 사용 시 실수 피하기
PPE는 무엇입니까?

Linux에서 rm 명령이란 무엇입니까?

Linux rm 명령은 주로 파일을 삭제하는 데 사용됩니다. 대부분의 사람들이 Linux를 사용하기 시작한 직후에 접하게 되는 것입니다. Linux를 처음 접하는 사람이라는 이유만으로 실수할 가능성이 높습니다. 실수로, 잘못된 이름으로 또는 잘못된 위치에 파일을 만들거나 복사하게 됩니다. 이는 모두 명령줄 학습 곡선의 일부입니다. 이러한 실수에 대한 정리 작업에는 rm 이 포함됩니다.

리눅스에서 정말 피해야 할 8가지 오타
Linux에서 반드시 피해야 할 관련 8가지 오타

rm 명령은 파일, 파일 그룹, 디렉토리 또는 전체 디렉토리 트리를 삭제할 수 있습니다. 그렇기 때문에 주의해서 사용해야 합니다. rm 을 사용하는 것은 어렵지 않지만 실패에 대한 페널티가 높습니다.

rm 으로 파일을 삭제하면 사라집니다. 휴지통으로 이동되지 않습니다. 즉시 말소됩니다. 그렇다고 rm 사용을 피해야 한다는 의미는 아닙니다. 그러나 안전하게 사용하려면 무엇을 할 수 있는지 알고 올바르게 사용하고 있는지 확인해야 합니다.

일부 도구는 다른 도구보다 더 위험하며 실수에 대한 용서가 훨씬 적습니다. 텍사스 렌치 학살 이라는 영화가 없었던 이유입니다. rm 은 렌치가 아니라 확실히 전기톱입니다.

사람들은 매일 하루 종일 전기톱을 사용하며, 책임감 있고 신중하게 사용하는 한 괜찮습니다. rm 과 같은 거래입니다. 도구 가방에서 rm 을 꺼낼 때 속도를 늦추고 명령줄을 확인한 다음 다시 확인해야 합니다.

rm 명령은 실행 가능하며 쉘의 일부가 아닙니다. 따라서 여기에서 Bash를 사용하고 있지만 특별한 Bash rm 이 아니라 표준 Linux rm 입니다.

관련: 명령줄: 사람들이 여전히 명령줄에 신경을 쓰는 이유는 무엇입니까?

rm으로 파일을 삭제하는 방법

rm 을 사용하는 가장 간단한 방법은 삭제할 파일의 이름을 제공하는 것입니다.

 rm config.gc 

파일 이름을 rm에 전달하여 단일 파일 삭제

자동으로 명령줄로 돌아갑니다. rm 은 아무 것도 불평하지 않으면 요청한 대로 수행했다고 가정할 수 있다는 고전적이고 입을 다문 Linux 입장을 채택합니다. 이와 같은 파일 이름을 제공하면 rm 이 현재 작업 디렉토리에서 파일을 찾습니다.

명령줄에 여러 파일 이름을 제공할 수 있습니다. 삭제하려는 파일이 현재 디렉터리에 없는 경우 디렉터리 경로를 제공할 수도 있습니다.

 rm memlog.sh /home/dave/dev-archive/config.gc 

파일 이름과 디렉토리 경로를 rm에 전달하여 두 파일 삭제

다시 말하지만, rm 이 지정된 파일을 삭제하도록 관리하는 경우 아무 것도 보고되지 않습니다.

관련: 알아야 할 37가지 중요한 Linux 명령

rm과 함께 와일드카드 사용

와일드카드를 사용하면 명령줄에 개별 파일을 나열하지 않고도 파일 그룹 또는 컬렉션을 지정할 수 있습니다.

별표 " * "는 없음을 포함하여 일련의 문자를 나타냅니다. 물음표 " ? ”는 임의의 단일 문자를 나타냅니다.

와일드카드가 예상한 것과 일치하는지 확인하기 위해 rm과 함께 사용하기 전에 ls와 함께 사용할 수 있습니다.

현재 디렉토리에 있는 모든 PNG 파일을 삭제하려면 “*.png”를 사용하십시오. 즉, ".png" 뒤에 오는 모든 문자 시퀀스가 ​​일치합니다. 파일이 삭제되면 ls 를 사용하여 파일이 삭제되었는지 확인할 수 있습니다.

 ls *.png
 rm *.png
 ls *.png 

별표 와일드카드를 사용하여 파일 확장자가 PNG인 모든 파일 삭제

테스트 컴퓨터에는 현재 디렉터리에 "config"로 시작하는 이름을 가진 두 개의 파일이 있습니다.

별표 와일드카드를 사용하여 이 두 가지를 모두 삭제할 수 있습니다. rm 은 "config"로 시작하고 뒤에 문자 시퀀스가 ​​오는 파일 이름을 찾기 때문에 두 파일과 일치합니다. 한 파일에서 해당 문자 시퀀스는 파일 이름 확장자인 ".sl3"입니다. 다른 파일 이름에는 "config" 뒤에 문자가 없지만 별표가 문자와 일치하거나 문자 가 없기 때문에 해당 파일 이름도 일치합니다.

 ls 구성*
 RM 구성*
 ls 구성* 

별표 와일드카드를 사용하여 파일 확장자가 있는 파일과 없는 파일 두 개 삭제

물음표를 쌍으로 사용할 수 있습니다. 이렇게 하면 파일 확장자가 두 문자인 파일이 정확히 삭제됩니다.

 ls *.??
 rm *.??
 ls *.?? 

두 개의 물음표 와일드카드를 사용하여 파일 확장자가 정확히 두 문자인 파일 삭제

관련: Bash에 대해 알아야 할 15가지 특수 문자

rm을 대화식으로 사용하기

rm 을 사용하는 안전한 방법은 각 파일을 삭제하기 전에 확인을 요청하는 것입니다. -i (대화식) 옵션을 사용하면 이 작업을 수행할 수 있습니다. 이 옵션을 명령줄에 추가하면 rm 은 삭제할 때마다 메시지를 표시하여 의도하지 않은 작업을 건너뛸 수 있는 기회를 제공합니다.

이 명령에서 -i (대화식) 옵션을 사용합니다. 단일 문자 파일 확장자를 가진 모든 파일을 삭제하려고 시도합니다.

 rm -i *.? 

각 삭제 전에 메시지를 표시하도록 rm을 대화식으로 사용

일치하는 각 파일이 차례로 표시됩니다. "y" 또는 "Y"라고 대답하면 파일이 삭제됩니다. "n"으로 대답하면 파일이 유지됩니다. 실제로 "y" 또는 "y" 이외의 다른 것으로 대답하면 파일이 유지됩니다. "Enter"만 누르면 파일이 유지됩니다.

파일 목록을 빠르게 작업하고 파일을 삭제하거나 건너뛰어 제거할 파일을 선별할 수 있습니다. 보시다시피 다른 rm 옵션과 함께 i- (대화식) 옵션을 사용할 수 있습니다.

관련: 개발자 및 매니아를 위한 최고의 Linux 노트북

rm 강제 옵션 사용

읽기 전용인 파일을 삭제하려고 하면 rm 은 파일을 삭제하기 전에 확인 메시지를 표시합니다. 그것은 좋은 안전망이지만 삭제할 파일이 많은 경우 지루할 수 있습니다.

 rm geonames.sl3 

rm 사용자에게 읽기 전용 파일을 삭제할지 확인하라는 메시지를 표시합니다.

-f (강제) 옵션은 rm 이 프롬프트를 표시하지 않도록 지시합니다. "예, 일반적으로 나에게 묻는 모든 파일을 삭제합니다."라고 말하는 것입니다. 또한 rm 이 존재하지 않는 파일에 대해 불평하는 것을 방지합니다.

 rm -f geonames.sl3 

-f(강제) 옵션을 사용하여 rm이 삭제에 대한 메시지를 표시하지 않도록 방지

-f (강제) 옵션은 중첩된 파일 및 디렉터리 집합을 삭제할 때 자주 사용됩니다.

rm으로 디렉토리 삭제

rm 명령은 포함된 파일과 함께 디렉토리도 선택적으로 제거할 수 있습니다. 이것은 rmdir 명령과 유사하지만 rmdir 은 파일이 있는 디렉토리를 삭제할 수 없습니다. 빈 디렉터리만 삭제합니다. rm 명령은 파일 및 기타 디렉토리를 포함하는 디렉토리를 쉽게 삭제할 수 있습니다.

Linux 터미널에서 파일 및 디렉토리를 삭제하는 방법
관련 Linux 터미널에서 파일 및 디렉토리를 삭제하는 방법

디렉터리 삭제는 파일 삭제와 유사합니다. 명령줄에 디렉토리 이름을 제공합니다. -d (디렉토리) 옵션을 포함해야 합니다. 파일을 삭제할 때 했던 것처럼 여러 디렉토리의 이름을 제공할 수 있습니다. 현재 작업 디렉터리에 없는 디렉터리에 대한 경로를 제공할 수 있습니다.

 rm -d 이전 프로젝트 

-d(디렉토리) 옵션을 사용하여 디렉토리 삭제

디렉토리에 파일이 포함되어 있으면 실패합니다.

디렉토리 그 내용을 삭제하려면 -r (재귀) 플래그를 사용하십시오. 이렇게 하면 디렉터리, 해당 파일 및 포함된 모든 중첩 디렉터리가 삭제됩니다.

 rm -d 아카이브
 rm -r 아카이브 

-r(재귀) 옵션을 사용하여 디렉토리 및 해당 파일 삭제

두 번째 명령이 성공합니다.

rm 을 전체 전기톱 모드로 전환하기 위해 -r (재귀) 및 -f (강제) 옵션을 결합할 수 있습니다. 이것은 rm 에게 디렉토리 트리의 모든 파일과 디렉토리가 읽기 전용인 경우에도 메시지를 표시하지 않고 재귀적으로 삭제하도록 지시합니다.

테스트 컴퓨터에는 "마이그레이션된 코드"라는 디렉터리가 있습니다. 여기에는 파일과 "6502"라는 또 다른 디렉토리가 포함되어 있습니다. "6502" 디렉토리에는 파일과 "ASM"이라는 다른 디렉토리도 포함되어 있습니다. 해당 디렉토리에도 파일이 있습니다. 일부 파일은 읽기 전용입니다.

또한 rm 이 수행 중인 작업을 알려주도록 -v (자세한 정보 표시) 명령도 포함합니다.

 rm -rfv 마이그레이션 코드 

-rfv 플래그를 사용하여 rm이 프롬프트 없이 파일과 디렉토리, 심지어 읽기 전용 파일을 제거하도록 합니다.

출력에서 파일이 제거되고 파일이 비어 있으면 디렉토리도 제거되는 것을 볼 수 있습니다.

삭제된 파일과 일단 비어 있으면 삭제되는 디렉토리를 표시하는 -rfv 플래그의 출력

rm 사용 시 실수 피하기

파일 이름에 공백 및 기타 이상한 문자가 있으면 문제가 발생할 수 있습니다. 예를 들어 하이픈 " - "으로 시작하는 파일 이름은 명령줄 옵션으로 오인될 수 있습니다. "-contributors.txt"라는 파일이 있으면 rm 은 일련의 명령줄 옵션으로 이름을 처리하려고 시도합니다.

rm 에는 " -c "라는 옵션이 없기 때문에 명령줄 구문 분석이 실패하고 파일이 삭제되지 않습니다. 파일을 삭제하려면 경로를 제공하기 위해 "./"를 앞에 붙여야 합니다.

 rm -contributors.txt
 rm ./-contributors.txt 

"./"를 사용하여 첫 문자가 하이픈인 파일 삭제 문제 해결

파일 이름의 공백도 문제가 됩니다. 전체 파일 이름을 인용하거나 탭 완성을 사용하여 파일 이름을 명령줄에 삽입하고 공백을 이스케이프합니다. 이 옵션 중 하나를 사용하지 않으면 rm 은 파일 이름의 각 부분을 개별 파일로 취급합니다.

Linux에서 파일 이름의 공백을 처리하는 방법
관련 Linux에서 파일 이름의 공백을 처리하는 방법

여기에는 "백업"과 "삭제할 백업"이라는 두 개의 파일이 있습니다. ls 를 사용하여 이러한 파일 이름의 문제를 시연할 수 있습니다. "삭제할 백업" 파일에서 ls 를 사용하려고 하고 파일 이름을 이스케이프하거나 인용하지 않으면 명령이 실패합니다.

 ls -hl 백업 삭제 

문자열을 인용하거나 공백을 이스케이프하지 않고 이름에 공백이 있는 파일에서 ls를 사용하려고 합니다.

ls 는 "to" 또는 "delete"라는 파일을 찾을 수 없다고 불평하지만 "backup"이라는 파일은 찾습니다. rm 도 그렇게 할 것입니다. 두 개의 누락된 파일에 대해 불평하고 "백업"이라는 파일을 삭제합니다. 이는 우리가 원하는 것이 아닙니다.

 삭제할 rm 백업 

문자열을 인용하거나 공백을 이스케이프하지 않고 이름에 공백이 있는 파일에서 rm을 사용하려고 합니다.

rm 은 "backup", "to" 및 "delete"의 세 파일로 작업하고 있다고 생각합니다. "to"와 "delete"를 찾을 수 없다고 불평하지만 "backup"은 찾아서 조용히 삭제합니다.

파일 이름을 인용하면 rm 이 올바른 파일을 삭제할 수 있습니다.

 rm '삭제할 백업' 

인용된 파일 이름과 함께 rm을 사용하여 파일 이름의 공백 문제를 극복합니다.

다음과 같이 백슬래시 " \ "를 사용하여 공백을 이스케이프할 수도 있습니다.

 rm 백업\ to\ 삭제 

파일 이름의 공백 문제를 극복하기 위해 이스케이프된 공백이 있는 파일 이름과 함께 rm 사용

탭 완성을 사용하여 파일 이름을 입력하면 필요한 경우 자동으로 이스케이프 처리됩니다.

PPE는 무엇입니까?

실제 전기톱과 달리 rm 과 함께 사용할 수 있는 개인 보호 장비는 없습니다.

할 수 있는 것은 rm 로 시도하기 전에 ls 로 구문을 확인하고 대화식 모드를 사용하여 삭제할 항목을 결정하는 것입니다.

그 외에는 편안하고 자신감이 생길 때까지 연습입니다. 이를 수행하는 가장 안전한 방법은 많은 희생 파일을 디렉토리에 복사하고 연습하는 것입니다.

관련: Linux에서 x일보다 오래된 파일 삭제