it-swarm-ko.tech

가장 큰 명령 줄 실수?

한 번의 오타/오타/오타 명령 줄로 인해 발생한 (어떤 종류의) 가장 큰 피해는 무엇입니까? 예를 들어, 예를 들어 실수로 프로덕션 시스템 데이터베이스를 삭제했지만 운이 좋았고 (즉, 백업) 영구적 인 데이터 손실, 돈 손실, 재산 피해 등은 없었습니다.

가장 중요한 것은 (투표의 경우) 다시는 발생하지 않도록하기 위해 무엇을합니까?

35
Peter Hilton

SQL 서버의 프로덕션 시스템 :

update customer set password = '' <enter>

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

이를 완화하기 위해 이제 일반적으로 select 문을 먼저 작성하여 where 절이 올바른지 확인한 다음 돌아가서 편집하여 set 절을 삽입합니다. 문을 update로 변경합니다.

46
Greg Hewgill

가장 큰 실수? 내가 설정하지 않았을 때 두 가지 변수를 설정했다고 생각했습니다. 그래서 rm -rf $ VARIABLE/$ VARIABLE2는 rm -rf /가되었습니다. FreeBSD는 최근에 rm 도구를 업데이트하여이 실수로 인해 rm -rf/더 이상 정확하게는 불가능합니다!

37
X-Istence
shutdown -h now 

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

26
vartec

종료 명령에서 -r 생략. 원격 서버에서. 국가 반대편에. 원격 사무실에 IT 직원이 없습니다.

우리는 모두 해냈습니다.이 단계에서는 거의 통과 의례와 같습니다.

26
Maximus Minimus

VMS 시스템에서 저는 ASSIGN DCL 명령을 사용하여 논리적 이름을 할당했으며 이전 ASSIGN 명령 줄을 다시 호출하고 싶었습니다. 이제 VMS에서는 명료하게 만들기 위해 명령의 문자 수만 입력했습니다. 그래서 타이핑하려고 했어요

REC 엉덩이

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

REQ ASS

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

25
Kevin

Solaris 시스템 : "killall dataLoader".

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

24
kbyrd

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

chown -R user * .*

that 무엇을하는지 맞춰보세요?

16
chaos

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

rm /usr/bin/i*g*

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

rm /usr/bin/i*

다시, 아무것도./usr/local/bin,/usr/sbin 및 내가 생각한 다른 모든 작업을 수행 한 후 'ls'명령을 잘못 입력했음을 깨달았습니다.

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

16
goldPseudo
setup.exe

Windows Vista였습니다.

16
Even Mien

/ dev/sdb를 파괴하려고했지만 다행히도 좋은 최신 백업이있었습니다.

dd if=/dev/urandom of=/dev/sda
15
Zoredache
select * from <File1> join <file2>

생산 상자에. on 절이 없습니다. :-) 두 테이블 모두 수백만 개의 행 테이블이었고 이것은 90 년대 중반의 AS/400에 있었는데, SQL이 실행되고 나면 그것을 죽일 수 없었습니다.

14
WaldenL

데이터 프로덕션 서버 중 하나에서 내 루트 중 하나가 다음을 입력했습니다.

chmod -R 777 /

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

그 직후, 그의 개인 키가 모든 서버에서 제거되었고 그는 데이터 프로덕션 서버에서 1TB 데이터 복원을 처리했습니다.

14
Oct

몇 년 전 저는 집에서 프로젝트 관리자 인 제 친구와 함께 프로젝트를 진행하면서 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을 제거하고 inner 명령 만 실행하면 다음과 같습니다.

rm -rf /

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

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

덜 흥미로운 또 다른 이야기는 몇 년 전 제가 직장에서 미션 크리티컬 박스에 대한 작업을하고 있었다는 것입니다. 나는 다른 기계에 대해 몇 가지 용어를 열었습니다. 디렉토리에서 불필요한 것들을 제거해야했습니다. 글쎄, 나는 내 조건에서 길을 잃었고 실수로 내 로컬 디렉토리에서 . 잘못된 호스트 (잘못된 용어) !!. 응용 프로그램 서버에서/tmp 대신/var/lib/mysql에서 명령을 실행했습니다 (다른 용어). 말할 필요도없이 프로덕션 데이터베이스를 지 웠습니다. 다행히도 저와 동료가 백업과 대기에서 기본을 재 구축하는 동안 우리는 웜 대기 상태로 전환했습니다. 그렇게하는 데 약 18 시간이 걸렸습니다.

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

12
Cloaked1

제가 가장 좋아하는 것은 제가 대학에있을 때였습니다. 나는 응용 프로그램을 만들고 있었으며 (나는 무엇을 기억하지 못합니다) 루트가 아니기 때문에 나는 그것을 만들었습니다.

PREFIX=~username/usr/local

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

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

대신. 당연히 다시 시작하면 삭제하기 위해 실행했습니다.

rm -rf ~username

소스 디렉토리에서.

왜 이렇게 오래 걸리는지 궁금해서 ....

:-)

그러나 최악의 경우는 solaris 워크 스테이션으로 작업 할 때 모든 설정을 완료 한 후 라이브 구성을 위해 구성을 지우고 싶었습니다. 그래서 나는 처형했다

sys-unconfig

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

connection closed by foreign Host.

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

12
Vagnerr

한때 디렉토리에있는 여러 파일을 삭제하고 싶었습니다.

del *.*

그런 다음 컴퓨터는 "확실합니까? [y/N]"라고 생각했습니다. "당연히 확실합니다. 그렇지 않으면 darn 명령을 입력하지 않았을 것입니다! Sheesh stupid computers grumble .. . "

Y <enter>

C:\Windows>_

음 ... WTF? 내 Windows 디렉토리를 지웠습니까? ....

undelete *.*

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

짧은 버전

#/bin/bash
$0&
$0
11
BCS

둘 중 첫 번째 ...

Solaris 상자에는 AIX 시스템의 tar 백업이 있습니다.

개발자 중 한 명이 다음을 입력했습니다.

tax xvf AIX_Backup.tar

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

11
Brian G

내가 한 가장 어리석은 일은 외부 방화벽 클러스터에서 기본 경로를 제거하고 수백 마일 이상 떨어진 데스크톱에 VPN을 사용하는 것이라고 생각합니다.

다행히도 계획된 다운 타임으로 지정된 기간 이었지만 (경우에 따라) 방화벽을 현장에서 다시 구성하기위한 200 마일 왕복 여행을 절약하지 못했습니다. 또한 이것이 내 여행 및 후속 수정 기간 동안 인터넷에 노출 된 프로덕션 시스템을 제거하는 데 도움이되지 않았습니다.

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

11
Iain

이야기는 나에게 말했다.

다른 지점은 로컬 PBX에 문제가 있었기 때문에 호출했습니다. 몇 가지 조사 후, 서버를 업데이트했지만 별표 구성은 업데이트하지 않았다는 사실을 알게되었습니다. 따라서 관리자는 지점 직원에게 다시 실행하도록 지시하기로 결정했습니다. 구성.

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

Guy : "OK."

관리자 : "이제 cp /var/..." 입력

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

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

10
Juliano
rm -rf / some/path 

대신에

rm -rf /some/path 

운 좋게도 나에게 일어난 일이 아닙니다 ;-)

9
vartec
source ~/.bash_history

내 의도는 소스 .bashrc 이었지만 탭 완성으로 너무 성급했습니다 ...

9
Dave Pretty

이것의 라인을 따라 뭔가 :

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

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

8
Zifre

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

ifconfig eth0 down && ifconfig eth0 upp

요즘에는 이와 같은 것을 시도하기 전에 누군가가 머신 근처에 있는지 확인합니다 (iptables도 좋은 후보입니다). 아무도 거기에 없었을 때

sleep 600; reboot

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

나는 그 실수에서도 배웠고 (ctrl + c는 절전 모드로 재부팅됩니다) 이제

sleep 600 && reboot

ctrl + c를 사용할 수 있습니다.

8
mihi
ifconfig eth0 down

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

8
SpliFF

XCOPY은 강력한 짐승입니다. 실행이 무자비하고 명령 줄 인수가 Window의 COPY 및 UNIX의 cp에서 역순으로 진행된다는 사실 때문에 지체됩니다.

며칠 전 실수로 다음과 같이 썼습니다.

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

XCOPY은 (는) 내 src 디렉토리를 ... 아무것도 덮어 쓸만큼 친절했습니다! 그리고 오래된 파일을 휴지통에 넣는 것도 번거롭지 않았습니다.

아, 그리고 XCOPY은 실제로 새 섹터를 할당하는 대신 디스크의 동일한 섹터를 덮어 씁니다. 3 개의 디스크 복구 프로그램을 시도해 보았는데 가장 좋은 프로그램은 손실 된 10 개의 파일 중 3 개만 복구 할 수있었습니다. 물론 그 3 개의 파일은 vshost.exe와 그 친구들. 팽창!

8
Frank Krueger

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

죄송합니다!

6
nabrond

내가 왜 모든 숨겨진 파일과 디렉토리를 제거하려고 멍청했는지 말해 줄 수있는 모든 사람에게 무료 쿠키 :

rm -rf. *

6
Matt Simmons

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

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

나는 백업이 없었습니다.

5
dpzeh

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

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

다음과 같이 가능한 많은 재난 실수를 입력하지 않도록 보호하기 위해 :

  • / tmp/*
  • 임시/*
  • 당신은 아이디어를 얻습니다

마지막 명령을 내립니다.

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

JBoss 사용자는 자신에게 속하지 않는 중요한 파일을 제거하기가 어렵다는 것을 알게 될 것입니다.

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

4
Francisco Canedo

옛날 옛적에 (아마도 System III 일 수 있지만 오래 전이었을 것입니다) 올바른 Shell 인용문을 사용하여 *라는 파일을 만들 수있었습니다. 내 홈 디렉토리에서 하나를 찾았을 때 rm *를 입력하고 무언가 망설이는 일이 생겼을 때 리턴 키를 손가락으로 눌렀습니다.

다른 사용자를 위해 그러한 파일을 만드는 것은 일반적인 장난이었습니다.

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

다른 (덜 해로운) 장난은 제거하기 훨씬 더 어려운 후행 공백 (또는 공백 만)으로 파일 이름을 지정하는 것입니다.

4
RBerteig

응용 프로그램을 구성하기 위해 구성 파일을 편집하는 데 몇 시간 씩 작업하고 임시 파일에 대한 구성 파일을 혼동하고 삭제합니다. 젠장 자동 완성 (그리고 내 부주의!)

2
Shalom Craimer

% dd if = linux_boot_floppy.img of =/dev/hda

대신에:

% dd if = linux_boot_floppy.img of =/dev/fda

/ dev/hda == 하드 드라이브

/ dev/fda == 플로피 드라이브

첫 번째 생각은 "오 와우, 빠르 네요"였습니다. 두 번째 생각은 "오 ****"입니다.

2
David Poole

$ HOME 디렉토리에서 cleanlinks를 실행했습니다. 분명히 일부 링크는 더럽게 유지되어야하고 일부 빈 디렉토리는 중요합니다 (예 : 사서함 폴더에있는 링크). Feh.

2
Telemachus
Thinking: "Before i do this upgrade, I'd better be safe than sorry, and take a backup."
Writing: tar xzvf backup.tgz /path/to/production_site &
... time passes
... checking size of backup.tgz
Thinking: Why is this file not growing?
... thinking some more
... time freezes, realising that a week of development on the site is gone, overwritten by an old backup.
2
Kristian

새로운 주니어 관리자에게 무언가를하는 방법을 가르치면서 그는 오타를 만들었고 그가 엔터를 누르기 전에 우리는 그것을 잡지 못했습니다. 그래서 대신 :

kill -9 <somepid>

우리는 :

kill -%9 <somepid>

Solaris 7 시스템에서 이것은 분명히 "중지"로 변환됩니다. (정확한 오타를 잘못 기억할 수 있지만 %가 관련되어 있습니다).

기계는 고객 사이트에서 차로 3 시간 거리에 있습니다. 우리는 그들에게 전화를 걸어 기계를 다시 켜달라고 간청해야했습니다.

2
Kyle Hodgson

나는 리눅스 랩 관리자 였는데, 학생 중 한 명이 Joomla가 작동하도록 설치하려고했습니다. 그녀는 파일 중 하나에 실행 권한을 추가해야했습니다. 많이 알지 못하는 그녀는 다음과 같이하려고했습니다.

chmod -R 777 /path/to/joomla/

그녀가 한 것을 제외하고는 :

chmod -R 777 /path/to/joomla /

그녀의 전체 파일 시스템 (/ etc/passwd,/etc/shadow ...)은 777이었습니다.

모든 모드를 지정하지 않으면 해당 모드와 함께 사용할 권한을 제거하려는 것으로 간주됩니다. 따라서 모든 것이 이제 모드 0777 (즉, 끈적임 없음, 사용자/그룹 ID 설정)이었습니다. su와 같은 set-uid에는 중요한 것들이 많이 있습니다.

2
Kevin M

내가 기억하는 가장 성가신 실수는 하드웨어가 비싸고 우리가 종종 하드웨어보다는 소프트웨어 라우터/방화벽을 사용했던 몇 년 전의 실수였습니다. 어느 날 밤 우리는 꽤 나쁜 DDoS에 맞았습니다. 이것을 디버깅하려고 시도하고 내가 무엇을 할 수 있는지 알아 내려고 메인 라우터에 로그인하고 tcpdumps를 시작했지만 시스템이 너무 반응하지 않아 Id는 방화벽 규칙을 삭제하는 것이 더 낫다고 생각했습니다. . 그래서 입력했습니다.

ipchains -F

문제는 모든 체인의 기본 정책이 삭제되었다는 것입니다. 한밤중에 상사에게 전화를 걸어 택시를 타고 키 카드를 가져온 다음 현장에 가서 라우터를 수동으로 재부팅해야했습니다.

2
Rune Nilssen

도스의 암흑기에는 내가 기억하는 한 killtree라는 유틸리티가 있었는데, 확인없이 디렉토리 트리를 삭제했습니다.

그런 다음 키보드가있는 \ 아래의 Return.

Norton Commander에서 c : \의 디렉토리 트리를 삭제하고 싶었으므로 선택을 완료 했으므로 다음을 입력합니다.

killtree Right CtrlReturn

CtrlReturn 조합은 선택 항목 아래의 파일/디렉터리 이름을 명령 줄에 삽입하는 데 사용되었습니다.

문제는 Right Ctrl, 내 손가락은 \...

2
macbirdie

DOS 프롬프트에서 컴퓨터에 다음 명령을 입력했습니다.

C :\deltree/y *. *

이제 삭제할 항목을 마우스로 선택하고 삭제합니다.

2
setatakahashi

한 번은 slashdot 주석에서 이해하지 못했던 "bash magic"스크립트를 복사/붙여 넣기 한 적이 있습니다.이 스크립트에는 경고가 없었고 해당 라이너 외에는 주석이 없었습니다. 그건 그냥 멍청한 일입니다.

사악한 라인이 루프에서 bash 프로세스를 생성하여 서버가 완전히 응답하지 않는 것으로 나타났습니다. 다행히 XEN을 기반으로하고 xm 재부팅을 사용하여 재부팅 할 수있었습니다 (수동 재부팅을 위해 데이터 센터에 전화하는 것은 항상 지저분합니다). 반면에 dom0에 즉시 액세스 할 수 없었습니다.

배운 교훈-모르는 내용은 복사/붙여 넣기하지 마십시오. :)

2
Karolis T.

구성 스 니펫을 제거 할 때 방금 코어 mpls 라우터에 추가했습니다. 입력하여 수행했습니다.

no

그런 다음 제거 할 줄에 붙여 넣습니다. 불행히도 내 붙여 넣기 버퍼에 잘못된 줄이 있습니다. 나는 생각했다

vll id X

나는 틀렸고 여전히 버퍼에 이전 명령이 있습니다. 응답을 중지하기 전에 라우터에서 마지막으로 본 것은

router(config)#no router mpls

고맙게도 대역 외 관리가 있었기 때문에 백업에서 모든 mpls 구성을 복원하고 복원 할 수있었습니다.

다시는 발생하지 않도록 확인하십시오. 먼저 저는 상위 경영진과 스위치 네트워크에서했던 것처럼 자동 서비스 배포가 있어야한다고 주장했고 "라우터 mpls"가 다시는 내 붙여 넣기 버퍼에 가까워지지 않도록했습니다. 저는 항상 그 줄을 손으로 입력했습니다.

2
Haakon

루트로 :

find / -type d -exec chmod 755 {} \;
find / -type f -exec chmod 644 {} \;

나는 결국 상자를 재건했습니다.

... 실화.

1
tomdeb

shutdown -h 이제 프로덕션 데이터베이스 시스템에서 원격 ssh 터널을 통해 연결되었습니다. 상자를 닫는 대신 "connection closed by remote Host ";)

1
ipozgaj

그리고 이제 Win XP 명령 줄 완료 나사 :

C :\Somedir> cacls.exe */r Someuser

예상보다 훨씬 더 나쁜 일을 했어

1
Johan Buret

모든 "~"백업 파일 (passwd ~, group ~, resolv.conf ~)을 제거하고 싶었고 스웨덴어 키보드에서 ~ 버튼과 space "~"를 쓰고 내가 한 일은 :

$ rm  * ~

/ etc에서

1
rkthkr

Ubuntu 10.10, 파티션에 3GB 만 남았으므로 파일을 정리했습니다.

나는 아 글쎄, 오래된 커널을 제거하는 것이 좋을 것이라고 생각했습니다 (GRUB 화면도 너무 커졌습니다).

Sudo apt-get remove --purge 2.6.28*

별표는 약간 ... 탐욕 스러웠습니다 (그러나 2.6.29 및 .30과 어떻게 일치하는지 아직 모르겠습니다).

Epic freakout은 ctrl + c를 사용하지 않았습니다 (제거 된 커널보다 더 나쁜 것은 무엇입니까? 맞습니다, 반 제거 된 커널입니다). 최신 커널을 실행하고 다시 설치하십시오. 심지어 gedit에서 편집 된 문서를 열어서 재시작을 차단합니다 (알아요, 알아요 ...).

1
orlp

간단합니다. 명령 줄로 돌아 가기 위해 화면이 위로 스크롤되었을 때 ENTER를 누르십시오. 이 작업을 수행하면서 잘못된 명령을 몇 번 실행했습니다. 대신 CTRL-C를 누르는 습관이 생겼습니다.

1
McJeff

클라이언트의 보고서를 보관하는 디렉토리를 업데이트하는 FTP 스크립트가 있습니다. 스크립트는 이렇게 생겼습니다 ...

ftp www.ourcompany.com
cd <ClientsDirectory>/
put *.html ( including index.html ) 

그렇다면 <ClientsDirectory>가 없으면 어떻게 될까요?

고객의 색인 페이지를 회사 홈페이지로 가져옵니다. Opps

1
Brian G

재귀 적으로 트리를 삭제하는 사용자 지정 도구를 작성하고 "다음 파일 찾기"항목 중 하나로 ".."을 반환하지 않는 네트워크 드라이브에서 테스트 한 사람을 알고 있습니다.

".."을 반환 한 드라이브에서 처음 실행했을 때 루트에 백업하고 볼륨을 정리했습니다.

1
piCookie

나는 다른 디렉토리 대신 /에 있었고 아래 명령을 수행했습니다.

rm -Rf *

명령을 취소했을 때 거의 모든/usr/디렉토리가 제거되었습니다.

0
Dereck Martin

저는 인터넷 마케팅 회사에서 시스템/데이터베이스 관리자로 일했습니다. 저는 동료 직원 (지금은 좋은 친구)에게 우리가 구축하고있는 웹 광고 시스템에 대한 읽기/쓰기 액세스 권한을 부여했습니다. 일종의 DoubleClick.net 플랫폼 스타일이지만 우리만을위한 것이므로 다양한 네트워크에서 모든 광고를 관리 할 수있었습니다. 우리는 무언가 또는 다른 것에 대한 데이터를 수집하기 위해 새로운보고 모듈을 작성하고 있었고 그는 놀면서 고전적인 SQL 초보자 실수를 저질렀습니다.

update advertisements set url='something' 

Where 절없이. 그래서 그날 오후 상사가 들어 와서 "왜 우리의 모든 배너 광고가 비극적 인 힙을 가리키는가?"라고 물었습니다. 저는 정말 몰랐습니다 ... Hip은 인기있는 캐나다 밴드 였고, 제 동료는 기본적으로 우리가 고객을 대신하여 구입 한 수만 달러 상당의 광고 공간을 우연히 자신이 좋아하는 밴드의 웹 사이트에 보냈습니다. 우리 둘 다 일을 계속할 수 있었지만 그루밍이 개입되었습니다.

그 후 Netsaint (Nagios의 전임자)와 잘 어울 렸고 SQL 초보자에게 프로덕션 액세스 권한을주지 않는 법을 배웠습니다.

0
Kyle Hodgson

Grep을 사용하여 메일 서버에 대한 로그 구문 분석을 수행하고 있었으므로 다음을 입력했습니다.

grep -r event_string /var/log > output

불행히도 나는 /var/log 타자 할 때마다 문자열과 일치 할 때마다 확인하던 디렉터리에있는 파일에 문자열을 썼습니다 ... 그 파일에 도달했을 때 파일은 할 수없는 공간을 먹는 짐승이되었습니다. 먹이다. 전체 기계를 가득 채웠고 메일 서버 였기 때문에 상당히 시급한 문제를 일으켰습니다.

0
Satanicpuppy

과거의 Windows NT 4 도메인 컨트롤러에서 :

C:\WINNT\System32>DEL *.*

나는 하위 폴더 (내 생각에 WINS)에서 작업하고 있었고 해당 폴더를 삭제할 것으로 예상했지만 대신 System32의 대부분을 지 웠습니다.

다시는 이런 일이 발생하지 않도록하려면 어떻게해야합니까? 요즘은 조금 느리게합니다. Enter를 누르기 전에 명령 줄을 다시 확인하십시오.

0
Aaron Parker
net send /domain "Hello World"

Oh sh! +, 이것은 실험실 도메인이 아닙니다 .....

0
squillman

표준 면책 조항부터 시작하겠습니다. 몇 년 전이었고 막 시작했습니다. 저는 멍청하고 정직했습니다!

시스코 라우터에서 무언가를 디버그하려고했지만 (무엇인지 기억조차하지 못함) 정확히 필요한 것이 무엇인지 파악할 수 없었습니다. IOS에서 디버그 명령을 시도해 본 적이 있다면 무슨 뜻인지 알 것입니다. 모든 명령에는 수많은 하위 명령, 인수, 옵션 등이 있습니다.

드디어 훌륭한 아이디어가 떠 올랐습니다! 난 그냥 "모두 디버그"한 다음 쓸모없는 것들을 제거합니다. (나는 이것을 시도한 다른 사람들의 신음 소리를들을 수 있습니다).

간단히 말해서, 그것은 라우터를 죽였습니다. 제가 일하던 ISP의 핵심 라우터였습니다. 30,000 명의 사람들이 갑자기 인터넷에 접속할 수 없었습니다.

네, 멍청했습니다. 예, ISP는 초보자가 감독없이 코어 라우터를 돌아 다니도록 허용해서는 안됩니다. 예, 우리는 상시 대기해야했습니다. 기타 등등 :)

0
DictatorBob

DOS 시절에 저는 그들이하는 일을보기 위해 다른 명령을 시도했습니다. 나는 fdisk 나 포맷을 엉망으로 만들지 않을만큼 충분히 알고 있었지만 recover .....라는 깔끔한 명령을 보았습니다. 전체 시스템을 지 웠습니다 .... 명령이 무엇인지 알지 못하는 한 명령을 실행하지 않도록 가르쳐주었습니다.

0
StubbornMule

한 동료가 재미 있기로 결정하고 다음과 같이했습니다.

net send  /DOMAIN *my_username* Hey How You Going!

불행히도 내가 메시지를받는 대신 전체 층에 다음과 같은 팝업 창이 표시됩니다.

my_username Hey How You Going

운 좋게도 관리자가 "회사 자원 낭비"로 나를 학대하기 위해 달려가더라도 바닥 라우터에서 메신저 항목이 차단됩니다.

0
marty
DROP TABLE [dbo].[WRONGTABLEHERE]

그런 다음 내가 그것을 실행하자마자 즉시 공포의 느낌.

0
Tom Alderman

내 친구가 Windows/IIS에서 실행되는 광고 사이트에서 작업합니다. 이 사이트에는 더 이상 데이터베이스에서 참조되지 않는 웹 서버의 디스크에 많은 이미지 파일이 저장되어 있으므로 그는 빠른 정리 스크립트를 작성하기로 결정했습니다. 그는 다음과 같이 스크립트를 생성하는 작은 프로그램을 작성했습니다.

List<string> imagesInFileSystem = Directory.GetFiles(imageDirectory);

foreach (string file in databaseImages) {
    if (!imagesInFileSystem.Contains(file)) {
        Console.Out.WriteLine("del " + file);
    }
}

그리고 다음 출력을 생성합니다.

del c:\images\image1.jpg
del c:\images\image2.jpg
...
etc

꽤 좋아 보였습니다. 그러나 그가 프로그램을 실행했을 때 사이트의 대부분의 이미지가 삭제되었습니다! 그는 한 가지를 잊었습니다. 서버의 파일 시스템은 대소 문자를 구분하지 않지만 데이터베이스에 대한 그의 검사는 그렇지 않았습니다.

영업 담당자는 다음 이틀 동안 사람들을 불러 파일을 다시 업로드하도록해야했습니다.

0
Luke Quinane

주말 작업 12 시간 후 hostXYZ 서버의 IP 주소를 확인하고 HP-UX MC/ServiceGuard 클러스터 노드에 로그인 한 상태에서 다음을 입력했습니다.

hostname hostXYZ

나는 즉시 식은 땀으로 뒤덮였다. :) 다행히도 ServiceGuard가 무슨 일이 일어 났는지 깨닫기 전에 이전 호스트 이름으로 되돌릴 수있었습니다. :)

0
Miljan

많은 사람들이 rm -rf. 가장 까다로운 명령이 아니라는 점을 지적하고 싶습니다. 정말 당신이 걱정해야 할 것은 Sudo rm -rf. 내 전체 Python site-packages 디렉토리를 삭제 한 후 이제 해당 명령을 "핵 옵션"이라고합니다.

0
Jason Baker

조웨어 광고 도구를 사용하여 useraccountcontrol 속성에서 사용자 계정을 512 (활성)에서 514 (비활성화 된 사용자)로 변경해야하는 스크립트가있었습니다.

명령은 다음과 같습니다.

 admod -b "userdn" useraccountcontrol::514

그러나 나는 또한 2> nul을 끝에 넣어 출력을 리디렉션하려고 시도했지만 공간을 놓 쳤고 514가 5142가되어 AD가 사용자 계정을 컴퓨터 계정으로 변경하도록 만들었습니다. 이는 모두에 대해 프로덕션 도메인에서 실행되었습니다. 계정.

0
benPearce

일부 작업을 수행하기 위해 루프 모드에서 내 홈 디렉토리를 chroot에 마운트했습니다. chroot가 너무 많은 공간을 차지하고있어서 제거해야했고

rm -rf /path/to/the/chroot

루프 마운트 홈 디렉터리에서 문서를 완전히 제거하고 있다는 사실을 깨닫기 전에 생각했던 것보다 너무 길었습니다 ...

0
ℝaphink

가장 최근의 재미있는 사고는 동료가 새 Solaris 10 영역을 설치하는 것입니다. 처음으로 그는 스왑 장치를 무작위로 선택하고 영역을 설치하고 매우 행복하게 실행했습니다. 두 번째로 그는 루트 드라이브 인 장치를 선택했습니다.

상자가 다시 나오지 않았습니다. 아, 그것은 생산 시스템이었습니다.

0
Alex

루트 권한 : Tru64 시스템에서 rm ./*. 예, "/"로 표시됩니다. 예, 프로덕션 머신에서.

나는 이것을하지 않았다 – 다른 어떤 바보가했다.

회복의 (긴) 이야기는 여기에 있습니다 : h t t p :// slashdot.org/~Noryungi/journal/212909

내가 뭘 한거지? 아무것도. 또 다른 더 큰 바보 (CTO)는 모든 프로그래머가 루트 암호에 액세스 할 수 있어야한다고 주장했습니다. (한숨)

일반 사용자 : rm -fv ./* in my/home on a Linux machine. 큰 피해를 방지 할만큼 빠르게 Ctrl + C를 눌렀습니다. 이후 며칠 동안 백업 해준 크 툴루에게 감사를 표했다.

0
ANonymous

여기 좋은 것들. 나는 그들 중 많이했습니다. SQL에서 누락 된 WHERE 절을 피하기 위해 이제 다음을 사용합니다. alias mysql = 'mysql --i-am-a-dummy'

흥미로운 점은 원격 서버를 업데이트하는 동안이었습니다 : mv/home/home_old && mv/home_new/home mv/var/var_old && mv/var_new/var mv/lib/lib_old && mv/lib_new/lib

/ usr/lib가 사라지면 Linux가 실행 (또는 부팅)을 중지하는 것 같습니다. 이제 원격 서버에는 IMPI 카드 또는 다른 서버에 대한 직렬 콘솔 lnk와 드라이브에 부팅 CD가 있습니다.

0
Ray
rm -vfr /*

내가 지금하는 일 : rm -vfr ./*

0
Jordan S. Jones

cd /

rm -rf ./

0
Cawflands

Tar 파일에서 파일을 추출하는 데 필요합니다. 문제 없어요:

tar cvf filename.tar somefile

방금 SunOS4를 다시 설치하고 백업에서 로컬 파일을 복원하고 rm -rf/usr을 입력했을 때 임시 위치에서 복원 된 파일을 제거하고 정리하는 중이었고 왜 그렇게 오래 걸리는지 궁금했습니다. .

0
pgs

임시/백업 파일의 내 홈 폴더를 정리하려고 할 때 :

이것을 실행하십시오 :

rm -rf *~

# OOPS! DON'T RUN THESE:
rm -rf *  # OOPS! Deleted all files in $PWD
rm -rf ~  # OOPS! Deleted all files in $HOME
rm -rf ~* # OOPS! Deleted all users' home folders!!!
0
JeffG

rm -rf * .o 작업을 수행했지만 지금까지 본 것 중 최고는 다음과 같습니다.

userdel -r root

그것은 초보자에 의해 이루어졌고 그는 배우고있었습니다.

0
adamo

오늘은 이상한 파일이있어서 지울 수 없어서 터미널로갔습니다. 파일이 "?"로 시작되었으므로 다음을 수행했습니다.

rm? *

폴더를 제외한 모든 파일을 지 웠습니다. 그런 다음 "?"는 단일 문자를 의미하므로 내가 한 것처럼 다음과 같이 기억됩니다.

rm *

0
brunoqc

빌드 디렉토리를 정리하기 위해 다음을 사용하여 프로젝트의 모든 소스 코드를 제거했습니다.

rm * .o

그 이후로 내 프로젝트의 첫 번째 항목은 cleanMakefile 대상입니다.

0
goedson

rm -f /bin

instead of

rm -f ./bin

예전 FreeBSD 시스템에서 (물론) 루트로. 다행스럽게도/usr/local/bin 및/usr/bin의 모든 명령은 설치 CD/bin에서 바이너리를 복사하고 시스템의 압축을 풀기에 충분했습니다.

0
hurfdurf

다음 명령으로 플로피 디스크를 정리하려고 할 때 전체 홈 디렉토리를 제거했습니다.

rm -rf * /mnt/floppy
0
goedson

내가 본 최악의 경우 :

/ var/www //에서 [rm -r var]로 폴더를 제거하는 대신

그는 [rm -r/var]로 전체/var 폴더를 제거했습니다. 하나의 슬래시로 많은 작업을 수행 할 수 있습니다.

예, 그 사람은 백업을 시도하는 것이 즐거웠습니다. 서버를 종료하고 복구를 수행하면 모든 것을 마지막 작은 업데이트까지 되돌릴 수 있기 때문에 문제가 더 악화되었습니다. 백업은 일주일에 한 번만 수행되었습니다.

0
HTDutchy

쉬운 것-그리고 나는 그것을 두 번 이상했습니다.

Some_Table의 Del

아무 자격없이. 항상 먼저 '선택'을 수행하여 올바른 데이터를 얻었는지 확인하십시오.

0
Marko Carter