가장 큰 명령 줄 실수? [닫은]


35

한 번의 실수 / 잘못 입력 / 잘못 안내 된 명령 줄로 발생한 가장 큰 피해는 무엇입니까? 예를 들어 실수로 프로덕션 시스템 데이터베이스를 삭제했지만 운이 좋았으며 (즉, 백업) 영구적 인 데이터 손실, 비용 손실, 재산 피해 등은 없었습니다.

가장 중요한 것은 (투표를 위해) 다시는 일어나지 않도록 어떻게해야합니까?


9
이것은 여론 조사이므로 CW 여야합니다
Eddie

그렇다면 왜 기본적으로 CW를 폴링하지 않습니까?
Luke

4
설문 조사가 설문 조사임을 어떻게 알 수 있습니까?
Mikeage

1
메카니즘이 SO와 동일하면 질문을 편집 할 수 있어도 CW로 변경할 수 없습니다. OP 나 중재자 만 그렇게 할 수 있습니다.
혼돈

9
좋은 생각-미래의 모든 고용주가 볼 수 있도록 가장 파괴적인 실수를 인터넷에 공개적으로 게시하십시오! :)
Sam Schutte

답변:


46

SQL Server의 프로덕션 시스템에서 :

update customer set password = '' <enter>

가장 최근 백업은 일주일 전과 같습니다.

이것을 완화하기 위해, 나는 보통 절을 올바르게 select작성했는지 확인하기 위해 먼저 문장을 작성한 where다음, 돌아가서 편집하여 set절 을 삽입 하고 문장을로 변경합니다 update.


11
아야. 다른 옵션은 'BEGIN TRANSACTION'입니다. 롤백 할 수 있다는 것을 알게되어 기쁩니다. :)
Murali Suriar 09 년

5
이 두 가지를 결합하여 count (*)를 선택하여 업데이트 할 횟수를 확인한 다음 트랜잭션에서 업데이트하여 업데이트를 수행합니다. 카운트가 커밋과 일치하면 롤백하지 않으면 이유를 알아냅니다. 물론, 나는 "간단한"업데이트를 위해 이것을하지 않으며, 그것들은 항상 당신을 망치는 것입니다. :-)
WaldenL

유죄, 나는 그것을 스스로했다 :(
Jim OHalloran

8
라이브 시스템 (또는 다른 시스템에서도 사용중인 테스트 시스템)에서 BEGIN TRANSACTION에주의하십시오. 곧 커밋 또는 롤백해야합니다. 그렇지 않으면 트랜잭션이 잠금을 보유한 리소스에 대한 잠금을 기다리는 다른 프로세스가 교착 상태가 될 수 있습니다.
David Spillett

일부 시스템에서는 다음을 수행 할 수 있습니다. <enter> 대신
J. Polfer

37

가장 큰 실수? 생각하지 않았을 때 두 가지 변수를 설정했다고 생각합니다. 따라서 rm -rf $ VARIABLE / $ VARIABLE2는 rm -rf /가되었습니다. FreeBSD는 최근이 실수로 인해 rm -rf /를 더 이상 정확하게 사용할 수 없도록 rm 도구를 업데이트했습니다!


4
내가 좋아하는 그 소리를 다시 읽어 내 문장을 지적하고 싶습니다 내가 RM 근무 방식을 변경하는 이유가 있었다, 이것은 사실이 아니다. 분명히 사람들은 스크립트에서 rm을 사용하고 있었으며 동일한 일이 발생했으며 안전 장치를 추가하려고했습니다.
X-Istence

3
난 다음 내 투표를 철회 :)
콜린 피커드

나는 한 번 남자가 rm -rf / usr / local / junk를하는 것을 보았습니다 ... 나는 그것을 보았습니다.
Satanicpuppy

"rm -rf /"대신 "rm -rf / *"는 어떻습니까? 나는 그것이 BSD에서 어떻게 보이는지 잘 모르겠지만 작동해야합니다.)
Ryszard Stawiarski

26
shutdown -h now 

로컬 워크 스테이션 용이지만 프로덕션 서버에서 ssh를 통해 기록되는 동안 입력했습니다. 그 이후로 항상 내 호스트 이름이 $PS1있습니다.


적어도 당신은 아마 데이터를 잃지 않을 것입니다 ...
Zifre

사실, IPMI 나 KVMoIP는 아직 오래 전부터 인기가 없었습니다. 실제로 기술자를 잡아서 스위치를 뒤집어 야했습니다.
vartec


로컬 워크 스테이션에서도 항상 "+1"을 사용합니다.
msanford

3
호스트 이름을 프롬프트에 입력했지만, 이제 shutdown (및 관련-halt et al) 명령을 패치하여 명령을 실행하기 전에 현재 시스템 이름을 입력하라는 메시지를 표시했습니다. 그러면 잘못된 서버를 종료 한 것입니다. 문제는 일단 해당 패치를 구현 한 후에는 다시는하지 않았지만 동료의 일부를 저장 한 것입니다. :)
Moo

26

종료 명령에서 -r을 생략했습니다. 원격 서버에서. 나라의 다른쪽에. 원격 사무실에 IT 직원이 없습니다.

우리는 모두이 작업을 수행했습니다.이 단계의 통과 의례와 거의 같습니다.


25

VMS 시스템에서 ASSIGN DCL 명령을 사용하여 논리 이름을 지정하고 이전 ASSIGN 명령 행을 호출하려고했습니다. 이제 VMS에서는 명령을 명확하게하기 위해 명령의 문자 수만 입력했습니다. 그래서 나는 타이핑하려고했습니다.

녹화 엉덩이

하지만 실수로 입력했습니다

REQ 엉덩이

대신에. REQST는 REQUEST 명령에 대해 명확하지 않은데,이 명령은 운영자 권한이있는 모든 사람 (IT의 모든 사람)에게 인수를 브로드 캐스트합니다. 그래서 부서 전체가 단순히 "ASS"라는 방송 메시지를 받았습니다.



1
우리 모두가 알고 있듯이 모든 소프트웨어는 짜증납니다. IT 담당자는 왜 다른 의미로 생각해야합니까?
Adriano Varoli Piazza

24

Solaris 시스템 : "killall dataLoader"

'dataLoader'는 내가 작업했던 앱이었습니다. Linux에서 killall은 pkill과 같이 작동합니다. 인수로 주어진 문자열과 일치하는 프로세스에 신호를 보냅니다. Solaris에서 killall은 현재 사용자가 죽일 수있는 시스템의 모든 것을 죽이려고합니다. 나는 뿌리였다.


거기에, 그 일을 ...
제임스

2
저는 2 주 전 Power 5 AIX 6 시스템에서 정확히 같은 작업을 수행했습니다 ... 정확하지는 않지만 "killall -9 java":)
Andor

3
@Andor : 글쎄, 당신 java은 확실히 죽였다 . ;)
Bobby

16

한 달 전에 많은 달이 있기 전에 특정 실행 파일을 찾아야했지만 완전한 이름을 기억하지 못했습니다 (그러나 몇 글자는 기억할 수 있음). 그래서 나는 / usr / bin 디렉토리를 다음과 같이 점검 할 것이라고 생각했다.

rm /usr/bin/i*g*

이상한. 아무것도 반환되지 않았습니다. 방금 두 번째 편지를 잘못 기억했다는 것을 알고 다시 시도했습니다.

rm /usr/bin/i*

다시 한 번 / usr / local / bin, / usr / sbin 및 다른 것으로 생각한 후에 'ls'명령을 잘못 이해하고 있음을 깨달았습니다.

뇌 방울이 어디에서 왔는지 모르지만, 내가 다시 한 번 실수 한 것은 아닙니다.


이것은 ls / etc / something, Ctrl + r, Ctrl + a, Del, Del, cat, Enter와 같은 경로를 재사용 할 때 알아야 할 사항입니다.
Alex

8
내 서버에서도 아무것도 반환하지 않습니다.
Mircea Vutcovici


16

다음을 사용하여 도트 파일을 포함하여 디렉토리의 모든 항목에 대한 소유권을 변경하려고합니다.

chown -R user * .*

무엇을 추측 합니까?


10
메일을 읽습니다-정말 빠릅니다 ???
Wiren

5
. 거기, 이것은 [^.] * 정말 잘 패턴을 나에게 가르쳐
마치에이 Pasternacki

1
@chaos :이 명령은 현재 디렉토리의 모든 것을 제거하고 심지어 점 파일을 제거하는 것 같습니다
Léo Léopold Hertz 준영

2
@chaos : 그것은 ..를 제거 하지 않으며 결코 가지고 있지 않을 것입니다. 당신은 단순히 착각합니다. 이 동작을 가진 단일 유닉스 구현을 인용하십시오 (내가 본 적이 없으며 7 판 유닉스와 같은 수퍼 고대 유닉스의 동작이 아닌 것으로 문서화되었습니다).
chris

1
./.*가 이것을 막을까요, 아니면 ./../를 통해 디렉토리 트리를 계속 전파합니까?
tj111 2016 년

15

/ dev / sdb를 제거 할 수 있었지만 다행히도 최신 백업이있었습니다.

dd if=/dev/urandom of=/dev/sda

한 번 (/ dev / zero 제외) Linux 서버의 루트 파티션을 파괴하고 동일한 서버에서 다시 복사하여 복구했습니다.
Marius Gedminas

14
select * from <File1> join <file2>

생산 상자에. on절이 없다는 점에 유의하십시오 . :-) 두 테이블 모두 수백만 개의 행 테이블이며, 90 년대 중반 AS / 400에 있었으며 SQL이 실행 된 후에는이를 죽일 수 없었습니다.


14

데이터 생산 서버 중 하나에서 내 루트 중 하나를 입력했습니다.

chmod -R 777 /

일부 스크립트에서 권한 오류가 발생했기 때문에 ...

그 후 얼마 지나지 않아 그의 개인 키는 모든 서버에서 제거되었으며 데이터 생산 서버에서 1TB 데이터 복원을 처리했습니다 ...


12

내가 가장 좋아하는 것은 내가 대학에있을 때였 다. 나는 응용 프로그램을 만들고 있었고 (무엇을 기억하지 못합니까) 뿌리가 아니었을 때

PREFIX=~username/usr/local

그래서 내 홈 디렉토리에 설치할 수 있습니다. 불행히도 그것은에 설치

/home/username/src/app/~username/usr/local

대신에. 당연히 다시 시작으로 삭제하기 위해 내가 실행했습니다.

rm -rf ~username

소스 디렉토리에서.

왜 그렇게 오래 걸리는지 궁금했습니다 ....

:-)

그러나 최악의 것은 solaris 워크 스테이션으로 작업 할 때였으며 모든 설정을 완료 한 후에는 구성을 준비 할 수있었습니다. 그래서 나는 처형했다.

sys-unconfig

경고 메시지에 동의하고 머신이 재부팅되고 "공장 기본값"으로 돌아가는 대신 xterm 창이 간단히

connection closed by foreign host.

이야기의 도덕 다른 호스트에게 루트 쉘을 열어 두지 마십시오! 이제까지!!


PS1에서 호스트 이름으로갑니다. 어떤 시점에서 로컬 및 원격 로그인에 다른 색상을 사용했습니다 (사용자 / 루트에 대한 다른 색상).
Marius Gedminas

12

몇 년 전 나는 프로젝트의 관리자 인 내 친구와 함께 프로젝트를 진행하면서 PHP로 일부 내용을 코딩했습니다. 우리는 협력 노력으로 서로 IM을 나누고있었습니다. 우리는 항상 놀이에서 앞뒤로 헛소리합니다.

Perl 대 PHP의 종교 전쟁이 진행되는 동안 ssh-agent가 내 컴퓨터에서 올바르게 작동하도록하려고했습니다. 그런 다음 ssh-agent가 평가가 필요한 것에 대해 언급했습니다 (왜 그런 말을했는지 모르겠습니다). 그래서 그는 노력 으로이 메시지를 보냈습니다. 그래서 나는 내 문제를 도울 수 있다고 생각했습니다.

\# eval $(echo ssh-agent | 
perl -pe 's/h-a/m -r/' | 
perl -pe 's/^ss/r/' | 
perl -pe 's/gent/f \//')

경고! 그 명령을 실행하지 마십시오 !!!

eval을 제거하고 내부 명령을 자체적으로 실행하면 다음과 같습니다.

rm -rf /

무슨 일이 있었는지 알기 위해 4 초가 걸렸지 만 피해는 이미 끝났습니다. OS를 다시 설치해야했습니다. 다행히도 / etc iirc의 일부를 제외하고는 내 작업 중 아무것도 지워지지 않았습니다. 내가 왜 그랬는지 묻는 공포 메시지를 보냈을 때 그는 큰 웃음을 지었다. 우리는 모두 장기 시스템 엔지니어입니다. 그는 내가 그것을 실행할 것이라고 생각하지 않았고 단순히 c & p'ing 전에 그것을 확인하는 것이 더 조심스럽고 나는 그를 믿기 때문에 그가 놀고 있다고 생각조차하지 않았습니다. 말할 것도없이,이 작은 이야기는 우리 사이에 항상 떠 오릅니다. 그래서 나는 그것을 불멸로 결정했습니다.

이 문제가 다시 발생하지 않도록 어떻게 완화 했습니까? 나는 아무도 믿지 않는다!

흥미롭지 않은 또 다른 이야기는 몇 년 전 직장에서 중요한 상자에 대한 작업을하고 있다는 것입니다. 다른 기계에 몇 가지 용어를 공개했습니다. 디렉토리에서 불필요한 것들을 제거해야했습니다. 글쎄, 나는 내 용어로 길을 잃었고 실수로 rm'ed . 내 로컬 디렉토리에 있지만 잘못된 호스트에 (잘못 된 용어) !!. 응용 프로그램 서버에서 / tmp 대신 / var / lib / mysql에서 명령을 실행했습니다 (다른 용어). 말할 것도없이 프로덕션 데이터베이스를 지 웠습니다. 다행히도 저와 동료가 백업 및 대기에서 기본 서버를 재구성하는 동안 따뜻한 대기 상태를 유지했습니다. 약 18 시간이 걸렸습니다.

완화 : 명령을 실행하기 전에 명령을 실행하는 창에 대해 더주의하십시오.


직장에서 우리는 모든 서버의 .bashrc를 고유 한 색상으로 bash에 사용자 이름을 표시하도록 구성했습니다. 그렇게하면 항상 당신이 어떤 기계인지 알 수 있습니다. (좋아, 20-30 대 이상의 기계를 관리 할 때 문제가 될 수있다. 그러나 여전히 매우 편리하다.)
fgysin reinstate Monica

아무도 신뢰하지 않기 위해 +1.
Wayne Werner

11

짧은 버전

#/bin/bash
$0&
$0

그 가치가 무엇인지, 루트가 아닌 경우, 다음을 실행하십시오.kill -9 -1
BCS

3
그게 뭐에요?
Nathan DeWitt

6
일이 끝나기를 기다리지 않고 백그라운드에서 자체 호출, 다시 자체 호출 : 일명 포크 폭탄
BCS

2
@Masi : 컴퓨터가 충분히 빠르고 스크립트가 충분히 길지 않은 경우. 당신이 그것을 모르는 경우 전문.
보이저

3
을 삭제하면 #!/bin/bashbash에서 가장 짧은 포크 폭탄으로 코드 골프를 얻을 것이라고 생각합니다.
Joey Adams

11

한때 디렉토리에서 많은 파일을 삭제하고 싶었습니다.

del *.*

컴퓨터는 "당신이 확실합니까? [y를 / N은]"라고 나는! "쳇 바보 컴퓨터가 나는 확실히, 나는 그렇지에서 이놈의 명령을 입력하지 않았을거야 물론 생각 불평 ..."

Y <enter>

C:\Windows>_

음 ... WTF? 방금 Windows 디렉토리를 지우셨습니까? ....

undelete *.*

그 당시의 작은 하드 디스크에서는 c : \ windows의 모든 파일이 무엇이며 그 이름이 무엇인지 알았지 만 모든 항목을 삭제 한 후에도 시스템은 동일하지 않았습니다. 나는 "당신은 확실하다"프롬프트에 대해 약간의 존경을 얻었다. 아주 조금.


1
나는 한 번 정확히 같은 일을했다. 시스템을 부팅하고 다시 실행할 수는 있었지만 다시는 제대로 작동하지 않았습니다. 약 일주일 후 시스템을 재 구축했습니다.
Jim OHalloran 09 년

11

내가 한 것 중 가장 어리석은 일은 외부 방화벽 방화벽 클러스터에서 기본 경로를 제거하는 것이 었습니다.

운 좋게도 계획된 가동 중지 시간으로 지정된 기간 이었지만 (사실 경우에 한해) 현장에서 방화벽을 재구성하고 다시 구성하기 위해 200 마일 왕복 여행을 절약 할 수 없었습니다. 또한 이것이 내 여행 및 후속 수정 기간 동안 인터넷 노출 생산 시스템을 제거하는 데 도움이되지 않았습니다.

우리는 모두 나노초의 정의를 알고 있습니다. 오노 초는 훨씬 작으며 'enter'를 치고 실수를 깨닫는 사이의 시간입니다.


11

두 번째는 ...

Solaris 박스에는 AIX 머신의 tar 백업이있었습니다.

입력 한 개발자 중 하나 :

tax xvf AIX_Backup.tar

물론 세금의 길은 절대적이었고 우리는 유닉스의 새로운 배포판을 만들었습니다 ... Solarix ... 배포판의 유일한 문제는 부팅되지 않았다는 것입니다.


10

이야기는 나에게 말했다 :

지역 PBX에 문제가 있었기 때문에 또 다른 지점에 전화했습니다. 조사 결과, 서버가 업데이트되었지만 Asterisk 구성은 업데이트되지 않았다는 것을 알게되었습니다. 따라서 관리자는 지점 담당자에게 구성을 다시 실행하도록 지시했습니다.

관리자 : "이제 rm -rf / etc / asterisk를 입력하십시오"

Guy : "좋아."

관리자 : "이제 cp / var / ...를 입력하십시오."

Guy : "잠깐만 요, 아직 실행 중입니다 ..."

관리자 : ??? ... !!!


1
잘못 될 수 있으면 잘못 될 것입니다.
Joey Adams

9
rm -rf / some/path 

대신에

rm -rf /some/path 

운 좋게도 그것은 나에게 일어나지 않았다 ;-)


최근에 나의 반 친구에게 일어났다. 운 좋게도 그것은 단지 / etc / some / other / path와 함께있었습니다
Ikke

반드시 비활성화해야합니다! 많은 OS에서 현재 비활성화되어 있다고 생각합니다. Ubuntu rm -rf /
Lakshman Prasad

사실,이 시스템 전용 sudo는 RF RM은 / 위험 할 것
보이저

거기에
있었어


8

이 라인을 따라 뭔가 :

sudo dd if=/dev/zero of=/dev/sda

나는 sda4를 의미했다. 파티션뿐만 아니라 전체 디스크를 지 웠습니다 :-(


거기에 있었다.
Mr. Shiny and New 安 宇

8

XCOPY명령 행 인수가 Window COPY및 UNIX와 반대로 바뀌기 때문에 실행에있어 무자비한 강력한 짐승 cp입니다.

며칠 전에 실수로 썼습니다.

xcopy src \path\to\a\new\nonexistent\directory

XCOPYsrc디렉토리 를 덮어 쓸 정도로 친절 했습니다 ... 아무것도! 그리고 오래된 파일을 휴지통에 넣는 것도 귀찮지 않았습니다.

아, XCOPY실제로 새로운 섹터를 할당하는 대신 디스크의 동일한 섹터를 덮어 씁니다. 나는 3 개의 디스크 복구 프로그램을 시도했지만 가장 좋은 방법은 손실 된 10 개의 파일 중 3 개만 복구 할 수 있다는 것입니다. 물론이 3 개의 파일은 오직 vshost.exe그 파일 과 친구였습니다. 팽창!


8

네트워크에 문제가 있고 (원격 컴퓨터에서) 인터페이스를 다시 시작하고 싶었습니다.

ifconfig eth0 down && ifconfig eth0 upp

요즘에는 이와 같은 일을 시도하기 전에 누군가가 기계 근처에 있는지 확인하십시오 (iptables도 좋은 후보입니다). 그리고 아무도 없었을 때

sleep 600; reboot

다른 (화면) 터미널에 연결하여 10 분 이내에 명령을 ctrl + c 할 수 없으면 재부팅됩니다.

나는 그 실수로부터도 배웠고 (ctrl + c 수면이 재부팅을 실행합니다) 이제는

sleep 600 && reboot

ctrl + c 할 수 있습니다.


1
shutdown -r +5예를 들어 shutdown프로세스를 종료 하지 않으면 5 분 후에 시스템이 재부팅됩니다 killall shutdown.
gelraen

1
솔라리스에서 mihi의 실수를 저지른 관리자가 실수로부터 배우는 것이 gelraen의 대안을 시도하는 것을 볼 수 있습니다.
outis

8
ifconfig eth0 down

죄송합니다 . eth0 의 외부 에 있습니다. 웹 서버는 세계 반대편에있는 잠긴 방에 있습니다. 로그인 또는 재부팅을위한 네트워크 액세스 권한이 없습니다. 쓰레기.


6

숨겨진 파일과 디렉토리를 모두 제거하려고 시도한 이유가 무엇인지 말해 줄 수있는 사람에게는 무료 쿠키 :

rm -rf. *


1
명령이 현재 디렉토리 아래의 하위 디렉토리도 제거합니까?
Léo Léopold Hertz 준영

패턴이 ..하드 링크와 일치하는지 궁금합니다.
Mircea Vutcovici

BTW, 당신은 쿠키를 모두 이겼습니다 :-)
Matt Simmons

6

프로덕션 웹 서버에서 홈 폴더를 정리하는 동안 서버의 웹 루트를 홈 폴더의 위치에 심볼릭 링크 한 것을 잊었습니다. 생각하지 않고, 나는 그 폴더에서 rm -rf를 실행했고 다음으로 내가 아는 것은 사람들이 웹 사이트가 다운되었다고 부르는 것입니다!

웁스!


5

한 번은 두 폴더의 데이터를 비교하고 -d 옵션을 사용하여 rsync를 실행했습니다 (소스에없는 대상의 파일 삭제). 그런 다음 rsync를 실행할 때 소스와 대상을 전환했습니다. 백업하려는 새 파일이 모두 삭제되었습니다. 이제 -n (dry-run)으로 rsync를 실행하는 방법을 배웠습니다.

rsync -trvd --stats --progress /destination /source

나는 백업이 없었다.


4

옛날 옛적에 (아마도 시스템 III이지만 오래 전), *올바른 쉘 인용을 사용하여 이름이 지정된 파일을 만들 수있었습니다 . 홈 디렉토리에서 파일을 찾았을 rm *때 주저하고 생각할 때 리턴 키에 손가락을 댔습니다.

다른 사용자를 위해 이러한 파일을 작성하는 것이 일반적인 장난이었습니다.

파일이 디렉토리에 있으면 완화하기가 어렵습니다. ls방금 표시된 그대로 정확하게 이름을 입력하는 반사 는 매우 강력합니다.

다른 (유해하지 않은) 장난은 제거하기가 훨씬 어려운 후행 공백 (또는 공백 만)이있는 파일의 이름을 지정하는 것이 었습니다 ...


2
그것이 GUI를위한 것입니다 :)
Zifre

1
쉘 완성은 후행 공백 파일을위한 시간 절약 도구입니다. :)
Mr. Shiny와 New 安 宇

1
이것은 ca 일 것입니다. 1985, VT-100 터미널 복제본에서 전화 접속 또는 RS-232 케이블을 통해 액세스합니다. 터미널 에뮬레이터가 아니라 실제 터미널입니다. 나는 당시에 이름 완성을 한 csh를 기억하지 못합니다 ... ;-) 오늘날 GUI와 이름 완성은 둘 다 덜 위험하며, 많은 OS는 그에 의존하지 않고 그러한 파일을 만드는 것을 훨씬 어렵게 만듭니다. 디스크 섹터 편집 ....
RBerteig

./--help를 터치하면 rm --help와 rm * 모두 작동하지 않습니다 ...
mihi

적어도 Linux에서는 "touch ' '" 라는 이름의 파일을 만들 수 있습니다 . 그리고 "RM '*'는"역시 ... 작동
sleske

4

다시 시작한 후 일반적인 JBoss 취약점에 대한 나쁜 경험으로 인해 다시 시작하기 전에 JBoss의 작업 파일을 지우고 싶습니다. 나는 보통 할 것입니다 :

# cd /var/cache/jboss
# rm -rf tmp/* work/*

다음과 같이 여러 가지 재앙이 발생할 수있는 실수를 입력하지 않도록 보호하십시오.

  • / tmp / *
  • tmp / *
  • 당신은 아이디어를 얻는다

나는 마지막 명령을합니다 :

# sudo -u jboss rm -rf tmp/* work/*

JBoss 사용자는 소속되지 않은 중요한 파일을 제거하기가 어려울 것입니다.

나는 실제로 그런 실수를 한 적이 없지만, 내가하는 경우에는 안전합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.