'rm -rf'만으로 파일을 삭제합니까?


16

나는 최근에 실행 rm -rf되지 rm -rf /는데 아무런 동작도하지 않습니다. 나는 다음과 같은 결과를 얻습니다.

단말기

일부 파일을 삭제했을 수도 있지만 걱정하지 않아서 무서웠습니다. 내 디렉토리에서 파일을 삭제했을 수 있습니까?


36
확실하지 않은 경우 (확실한 100 %) 명령을 실행하지 마십시오.
솔라 마이크

5
이해하지 못하는 명령을 입력하지 마십시오. 당신이 필요한 건 또는 / 그리고 많은 것들을 삭제할 것입니다.
Nelson

18
잠재적으로 위험한 명령을 실험하려면 가상 머신 설치를 고려하십시오.
musicman523

6
데이터가 안전하게 백업되는 한 원하는대로 실험하십시오. 소프트웨어 일 뿐이며 문제가 발생하면 언제든지 다시 설치할 수 있습니다. 다른 사람이 컴퓨터를 두려워하지 않도록 훈련시키지 마십시오.

3
100 % 확실하지 않은 경우 절대적으로 명령을 실행하십시오. 배울 수있는 방법은 매우 많으며 실제로 실행하는 방법 중 하나입니다. emptor를 조심하고 백업을하고 VM을 사용하십시오. 그러나 두려움에서 벗어나지 않는 것은 성장에 도움이되지 않습니다. 주의해야 할 시점이 분명해야 rm하지만 (예 :) 모든 파이프 기반 텍스트 조작 명령과 같이 많은 / 대부분의 다른 명령의 경우 종종 시도하는 것이 가장 쉽고 간단합니다. 맨 페이지를 공부하면서 함께합니다.
AnoE

답변:


49

아니요, rm -rf명령에 인수를 제공하지 않았으므로 파일을 삭제하지 않습니다.


5
그리고 때문에 -f인수없이 실행하는 것은 오류가 아닙니다. rm -r"피연산자 누락"에 대해 불평하지만 -f존재하지 않는 파일의 오류를 억제합니다. (예를 들어, 스크립트는 오류를 없애지 rm -rf /foo/bar/*않고 이미 비어있을 수있는 디렉토리를 비우는 데 사용할 수 있습니다 2>/dev/null.)
Peter Cordes

34

로부터 매뉴얼 페이지 :

rm은 지정된 각 파일을 제거합니다.

즉, 파일 목록을 사용하여 한 번에 파일 목록을 제거 할 수 있습니다.

rm -rf test1.txt test2.txt

다행히 파일 목록 만 전달하면 아무것도 삭제되지 않습니다. 또한 @SolarMike의 말 : 명령이 무엇인지 모르는 경우 실행하지 마십시오 . macOS는 최종 사용자로부터 모든 위험한 (그러나 잠재적으로 강력한) Unix 작업을 '숨기도록'설계되었습니다.


7
참고로 -r디렉토리를 재귀 적으로 삭제하지 않으면 플래그가 필요하지 않습니다. 파일 만 있으면 rm충분 -f합니다. 즉, 모든 파일에 대해 "확실히"묻지 않아도됩니다.
Tim S.

9
또한 -f를 잘못 사용하면 사용법 메시지가 표시되지 않습니다. 이것은 OP가 실행될 때 전혀 출력이없는 이유 rm -rf입니다. 지정된 파일 / 디렉토리없이 'rm -r'을 실행했다면 다음과 같은 사용법 메시지가 표시됩니다. JanNash ~ $ usage: rm [-f | -i] [-dPRrvW] file ... unlink file
Jan Nash

2
@barrycarter 그것은 전적으로 사실이 아닙니다-여전히 삭제하려고 시도 /합니다. 존재하지 않는 파일은 건너 뜁니다 xyz*(일치하지 않기 때문에 단순히 확장되지 않습니다).
푹신한

3
@barrycarter이 동작은 쉘의 globbing 구성에 따라 다릅니다. 적어도 macOS의 bash 기본값에서는 실제로 지정하지 않고 삭제 a하고 b나를 위해 수행합니다 -f. echo rm -f a b c*실제 동작을 보려면 대신 같은 명령 을 수행하십시오.
솜털

2
@barrycarter 및 fluffy : 쉘 변수 nonomatch 가 설정 되어 있는지 여부에 따라 달라집니다 .
Thomas Padron-McCarthy

13

평신도 / 리눅스 / 유닉스 초보자 :

rm 무엇을 제거해야하는지 말하지 않았기 때문에 혼자서는 아무것도하지 않습니다.

man rm 이해하면 대부분 설명 할 수 있습니다.

-r "하위 폴더에 모든 것을 포함"과 같이 재귀를 의미

-f 강제, "확인하지 말 것"모드를 의미합니다

rm -rf(이 작업을 수행하지 마십시오)//확인하지 않고 (루트 폴더) 아래의 모든 항목을 삭제한다고 말합니다 (최근 macOS 버전에서는 SIP로 인해 macOS 자체를 제거하지 못하지만 다른 많은 항목이 삭제됩니다)

rm [some file name] 해당 파일을 삭제합니다.

rm -rf /home/myuser/books폴더뿐만 아니라 myuserbooks폴더에있는 모든 항목을 삭제 합니다.


6
요즘에는 rm -rf / --no-preserve-root다리를 올바르게 쏴야합니다.
Gallifreyan

1
@Gallifreyan 다리를 올바르게 쏠 수있는 방법이 있습니까?
PascalVKooten

1
이것은 잘 작동한다고합니다. 나는 다른 :) 알지
Gallifreyan

1
macOS의 @Gallifreyan? pastebin.com/aVAsNcKC 는 달리 표시합니다
nohillside

@Gallifreyan : find / -delete"작동"해야합니다 (즉, 실제로는 삭제하므로 실행하지 마십시오.)
Peter Cordes

4

아니요, 삭제하려는 경우 예를 들면 다음과 같습니다.

/ 응용 프로그램 / 유틸리티 폴더에서 터미널을 시작한 후 cd ~ / Desktop을 입력하여 데스크탑 디렉토리로 이동하십시오. 여기에 절대로 다시보고 싶지 않은 MyFile.rtf라는 파일이있는 경우이 명령을 실행할 수 있습니다.

rm MyFile.rtf

Return 키를 누르면 파일이 손상됩니다! 사라지고, 건배되고, 역사가 될 것입니다. 당신은 그것을 다시 얻을 수 없습니다.


실제로 rm은 문서를 올바르게 이해하고 있다면 파일의 모든 참조를 제거하고 각 바이트를 덮어 써서 파일의 하드 드라이브를 문지르지 않습니다.
NoBugs

@NoBugs 그러나 공정성에서 이것은 모든 현대적인 '삭제'가 작동하는 방식입니다. 삭제 기능이 각 바이트를 덮어 쓰는 경우 그대로 광고됩니다 (주로 시간이 더 걸리고 대부분의 시간이 필요하지 않기 때문에).
Insane
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.