당신이 가장 좋아하는 * 고통스러운 * 유닉스 순간은 무엇입니까


34

좋아하는 레슨을 통해 배운 순간을 공유하는 것은 어떻습니까?


얼마나 많은 답변이 rm명령 과 관련되어 있는지 재미 있습니다 . 아니면 슬프다.
베리 브라운

답변:


67

chmod 000 /작동 하는지 궁금합니다 .

완벽하게. 몇 분 후 나는 구출 CD를 찾고 있었다.


11
와우, 당신이 그것을 언급 할 때까지 나는 그것을 결코 고려하지 않았습니다. 좋아요
Stefan Lasiewski

일반 파일로 작업하면 어떻게됩니까?
Luc M

@Luc 나는 당신이 그것을 다시 수정해야한다고 생각합니다
phunehehe

나는 일반적으로 아치 VM에서 이러한 '실험'을 수행합니다. 폭탄이 터지면 그냥 롤백합니다.
André Paramés

나는이 실수를 한 번했다. 매우 창피했지만 귀중한 교훈이었습니다.
Charles Sprayberry

37

내가 다니고있는 대학의 사용자 컨설턴트로 처음 일을 시작했을 때 sudo비밀번호를 잊어 버린 학생들을 도울 수있는 제한적인 권리 가 주어졌습니다 . sudo passwd <username>나의 새로운 친구였다. 오리엔테이션이 끝나고 한 시간 후에 호기심이 나아졌고 sudo passwd새로운 암호를 입력하라는 메시지가 표시되면서 공포를 쳐다 보았습니다 . 나는 비트가 무서워했다 ^C그것의 내 방식대로, 생각 나는 암호를 입력하고 즉시의 신성한 2 층 도메인에 위층을 걸어 그래서, 과도 상태에서 문제의 계정을 떠날 수도 (erroniously, 그것은 밝혀) 캠퍼스 수퍼 유저이며 주 시스템의 루트 암호를 알고 싶은지 물었습니다.


4
으악! 혼란
스런

30
두 번째 확인 프롬프트에서 불일치 암호를 입력했을 수 있으므로 영향을받지 않았으며 passwd가 종료됩니다.
Wadih M.

1
@Wadih : passwd루트로 실행할 때 우스운 행동. 예를 들어, 오타 확인에 실패하면 다시 묻습니다.
György Andrasek

방금 이전 상태로 다시 변경했을 수 있습니다.
HandyGandy 5

1
@ HandyGandy 그는 원래 루트 암호를 몰랐습니다. 그는 단지 passwd를 실행할 수있는 권리를 가졌다.
gnud

32

아직 아무도 이것을 언급하지 않았습니다.

rm -rf .*

(모든 숨김 파일 및 하위 디렉토리를 제거하는 동안 완전히이에 재귀 잊고 ...)


3
과거에는 저를 태워 버렸지 만 많은 버전의 버전에서는 rm그렇게하지 않습니다. 나는 다윈을 시도하고 오류가 발생했습니다 rm: "." and ".." may not be removed.
Stefan Lasiewski

7
나는 모든 종류의 플랫폼에서 항상 그렇게합니다. OpenBSD, NetBSD, Linux 및 OpenSolaris에서 의도 한대로 작동합니다.
polemon

당신은을 제외한 모든 dotfiles과 일치하려는 경우 ...사용을 .[^.]*. (이것은 실제로로 시작하는 모든 파일을 그리워 ..하지만 일반적으로 하나만 있습니다.)
Sven Marnach

@ Sven : 또 다른 방법은 .??*입력하기가 쉽다는 것입니다. 이 파일은와 같은 두 글자로 된 도트 파일과 일치하지 .a않지만 드문 경우입니다. grep -r .??*예를 들어 홈 디렉토리에서 구성 파일을 검색합니다 .
Neil Mayhew

31

메이크 파일 :

clean:
    @rm -f * .o

물론 make clean객체 파일 대신 소스 코드를 지우는 것은 물론 입니다.

레슨 : 버전 관리를 사용하십시오.


11
당신이 그것을 볼 수없는 경우, 사이의 공간 문자주의 *.o
데닐손 Sá 마이 아

1
나는 당신의 고통을 느끼고, 어느 시점에서 우리 모두에게 일어났습니다 :)
axel_c

레슨이 다시로드 됨 : 셸을 할 때마다 " "가 표시되면 * extra , 아니오, 추가 Extra EXTRA에 주의하십시오.
Jürgen A. Erhard

나는 실험실에서 밤새도록 잡아 당긴 후 손으로 그 일을했습니다. 이 프로젝트는 몇 시간 후에 마감되었습니다. 그것은 변장에서 축복으로 판명되었다. 새로 작성한 재 작성 버전은 내가 지운 붕대 버전보다 훨씬 낫습니다.
베리 브라운

1
의무적 인 꿀벌 참조 : github.com/MrMEEE/bumblebee/commit/a047be
Residuum

30

:() { :|:&}; :콘솔 액세스 권한이없는 원격 서버에서 친구가 실행 했습니다. 완전히 고정 된 프로덕션 서버로 재부팅 할 수 없습니다 .

좀 더 읽기 쉽도록 (요청에 따라) 분류했습니다.

:() # Define ':' as a function. Every time we say ':' execute the following code block
{ # Start of code block
    : # Call ':' again. 
    | # Pipe output to...
    : # Another ':' 
    & # Disown process. 
    # All on one line this would read :|:&, 
} # End of code block
; # End definition of ':' as a function
: # Call ':'

그것을 보는 것이 더 쉬울 수도 있습니다.

bomb() { bomb|bomb& }; bomb

1
그것이 무엇을하는지 설명해 주시겠습니까? 나는 그것을 알아낼 수없고 그것을 시도하고 싶지 않다;)
naugtur

23
포크 폭탄 같아 당신이하고있는 일을 정말로 모른다면 이것을 시도하지 마십시오.
Zaid

5
예. k 폭탄입니다. 그리고 좋은 것 :) 끝없이 구문 분석하려고 시도하면 bash 인터프리터를 포크하는 것 같습니다. 당신이 마지막을 건너 뛰면 :아무것도하지 않습니다. 그리고 메모리를 전혀 사용하지 않고 포크를 많이 사용합니다. [예, 시도했습니다 :)]. 사용자 당 프로세스 수에 대한 할당량으로 효과를 차단할 수 있습니다.
naugtur


4
위 댓글에 +1 보기보다 이해하기가 훨씬 쉽습니다.
Umang

29

나는 잘했다, 나는 정말로했다. chmod디렉토리 를 재귀 적으로 시도하고 와 교환 ./했습니다 /.

물론 근본으로는 근본으로 만 진정한 고통 (따라서 깨달음)을 얻을 수 있기 때문입니다.


23
쿼터 블 +1 + "근본이있는 사람 만이 진정한 고통 (그리고 깨달음)을 얻을 수 있습니다."
Stefan Lasiewski

21

다른 드라이브에서 작업 중이라고 생각하면서 실수로 메인 드라이브의 파티션 테이블을 닦았습니다.

스크롤 백,, df메모리 및 행운을 조심스럽게 사용 하여 정확하게 다시 작성하고 다시 작성하고 재부팅하고 희망을 가질 수있었습니다 ... 그리고 그것은 효과가있었습니다.


6
친구가 이렇게해서 테이블을 복원하도록 도와주었습니다. 불행히도 파티션 크기와 오프셋에 대한 이전 값이 없었으므로 bash 루프를 사용 하여 수퍼 블록과 파일 시스템의 시작을 찾기 위해 dd파이프 된 모든 실린더의 첫 4k 블록을 읽었습니다 file -. 이것은 라이브 CD에 있었고 우리가해야 할 모든 작업 (패키지 설치 또는 2 개 설치 포함)을 수행하기에 충분한 RAM이 없었기 때문에 다른 컴퓨터의 ssh에서 실행되는 프로세스로 파이프했습니다.
Neil Mayhew

2
아야. 그래서 항상 sfdisk -O파티션 테이블을 백업 하는 데 항상 사용 합니다. 참고 : cgsecurity.org/wiki/TestDisk@Neil Mayhew의 작업을 자동화 할 수 있습니다.
ephemient

2
나도 거기에 있었고 testdisk내 상자를 구했다
phunehehe

요즘에는 gpart파일 시스템과 유사한 것들을 찾고 그로부터 파티션 테이블을 구성하는을 가지고 있습니다.
Simon Richter

19

제 순간은 아니지만 다른 사람의 순간입니다.

원자력 과학 연구 시설에서 일할 때 우리는 여러 SunOS, Ultrix 및 Linux 컴퓨터를 운영하는 데 사용했으며 연구원들은 해당 컴퓨터에서 CPU를 공유해야했습니다. 개별 연구 그룹은 자체 연구 보조금을 받으면서 자신의 컴퓨터, 주로 SparcStation을 구입하고 시스템 관리를 직접 수행했습니다.

SunOS는 OpenView 데스크탑 및 멋진 파일 관리자와 함께 제공되었는데 다음과 같습니다. 대체 텍스트

대부분의 연구자들은 루트로 실행 중이며 누군가 루트 디렉토리를 정리하고 / bin, / etc, / tmp 및 뷰를 어지럽히는 다른 모든 요소를 ​​이동하기로 결정했기 때문에 운영 체제를 다시 설치해야했습니다. 휴지통 또는 일부 하위 폴더.

다른 사용자는 / bin 디렉토리를 정리하고 알지 못한 명령을 제거하기로 결정했습니다.

운이 좋은 사람은 백업을 받았고 대부분 테이프 드라이브를 구입했지만 백업 자체를 실행하는 전통은 없었습니다.


11
루트 디렉토리를 정리 하시겠습니까? 정말? 정말? sob
Alex B

41
TRWTF는 핵 과학 연구 시설에서 루트로 운영되고 있습니다!
반전

4
멋진 스크린 샷! 나를 그리워하게한다.
개브.

@Alex-글쎄 ... 내가 사용하지 않은이 큰 VMUNIX 파일이 있었다 ....
Martin Beckett

1
구형 Mac OS 버전에서는 거의 모든 파일을 이동할 수 있습니다. 그래서 아마도 그들이 기대했던 것입니다.
Kevin Cantu

18

90 년대 중반에서 후반에 친구와 나는 rm -rf *리눅스 박스 의 어리 석음과 언젠가는 리눅스 박스가 무너질 것이라고 이야기했다. 우리는 정적으로 링크 된 라이브러리와 동적으로 링크 된 라이브러리에 들어 갔으며 시스템이 없이도 잘 작동 할 수 있다고 생각한 /lib다음 내 워크 스테이션에서 이름을 계속 바꿨습니다. 나쁜 일이 일어 났지만 피해를 입히고 고칠 수있는 열린 콘솔 창이 여러 개 남았습니다 (종료가 더 이상 옵션이 아니 었습니다). 편집자가 실행되지 않습니다. echo명령에 대해 찾을 수있는 난해한 사용법이 놀랍습니다 .


19
이 정확한 주제에 대한 고전적인 이야기가 있습니다 : lug.wsu.edu/node/414
Alex B

1
@Alex B :이 이야기는 Unix Horror Stories의 일부이기도합니다 .
Bobby

18

viCaps-Lock/etc/passwd

  1. 화면을 올바르게 새로 고치지 않는 이전 직렬 터미널을 사용하여 이전 Solaris 상자에 연결하십시오.
  2. su -
  3. vi /etc/passwd. 는 없으며 vipw"어쨌든 약간의 수정 작업 만합니다".
  4. 히트 Caps-Lock키와 통지를하지 않습니다.
  5. j아래로 스크롤하려면 몇 번 누르 십시오. J이 줄을 다음 줄과 결합한 실제로 입력 한 ( "Join") 사실을 무시하십시오 . 직렬 터미널 화면이 올바르게 새로 고쳐지지 않았으므로 처음 5 줄을 하나의 Loooooong 라인으로 결합하여 처음 5 명의 사용자 ( '루트', '데몬'등)가 손상되는 것을 보지 못했습니다.
  6. 파일의 다른 의도 된 편집을 맨 아래에서 완료하십시오.
  7. 파일을 저장.
  8. 로그 아웃.

나는 이것을 한 번했다. 놀랍게도이 시스템은 몇 달 동안 기능을 유지했습니다. Cronjobs가 제대로 실행되었으며 로그 파일에 오류가 없었습니다.

몇 달 후 시스템을 재부팅하고 콘솔에 로그인 할 수 없을 때까지이 문제를 알지 못했습니다. ps사용자 'root'가 아닌 UID '0'이 (가) 소유 한 많은 작업을 표시했습니다.

루트로 로그인하거나 실행할 수 없으며 su또는 이 상자 su -에 없습니다 sudo. 플로피 드라이브가없고, CD-ROM이 버스트되었고 USB 포트가 없습니다 (따라서 외부 CD-ROM이 없음). root의 비밀번호를 입력해야하므로 단일 사용자 모드가 작동하지 않았습니다 /etc/passwd.


2
분명히 "J"는 "Join"(join line과 같이) 명령입니까?
dr-jan

2
잠깐만, 단일 사용자 모드로 부팅하기 위해 암호를 입력 할 필요가 없습니다. 사실 그것이 루트 암호를 잊어 버린 경우 재설정하는 방법입니다. 아니면 옛날에 다른가?
phunehehe

Solaris에서는 단일 사용자 모드로 들어가려면 루트 비밀번호를 알아야합니다. 나는 실제로 2 주 전에 이것을해야했습니다.
Stefan Lasiewski 5

@phunehehe 나는 init = / bin / sh 트릭에 대한 당신의 생각을 생각합니다. 그것은 실제로 루트 암호를 요구하지 않습니다. 그러나 런레벨 1은 여전히 ​​루트 패스가 필요합니다
Patrick

18
rm -f * ~

rm -rf ${DIR}/

DIR설정되지 않은!


4
당신은 의미 ${DIR}합니까? 때문에이 $(DIR)DIR 명령을 실행하려고합니다.
Denilson Sá Maia

16

SysRq원격 컴퓨터에 키 시퀀스 를 보내려고 시도한 것을 기억 합니다 ...

...하지만 그것은 로컬에 의해 캡처되었습니다.


14

halt몇 초 후에 로컬 셸에 있지 않고 프로덕션 서버의 전원을 다시 켤 수 없다는 간단한 인식.

교훈? 기계의 프롬프트는 이제 다음과 같습니다

[ --> root <-- @kompost:/home/echox] #

좋은 빨간 마크 업 ;-)


6
molly-guard원격으로 로그인했는지 여부를 확인하고 실제로 원하는지 묻는 도구가 있습니다 .
Simon Richter

IPMI는 정말 편리한 것입니다 :-)
Andre Holzner

13

내가 좋아하는 순간은 emacs 사용자 인 동료가 중요한 파일을 편집하고 싶을 때였습니다.

때문에 emacs너무 많이 그는 대한 설정을 별칭을 가지고 입력합니다 emacs:

alias em=emacs

충분하지 않거나 너무 많은 커피의 영향으로 그는 물론 잘못 입력했습니다 em...

글쎄, 이것은 또 다른 이유입니다 vi... ...)


이 점에서 내가 정말 좋아하는 점은 그가 emacs가 얼마나 오래 걸리는가에 관심이 있었지만 사용하지 않았다는 사실 alias e=emacs입니다.
Steven D

커피를 제외하고, 키보드에서 'e'와 'r'이 그리 멀지
않다는 것을 주목하십시오

11

또는 또 다른 경험, 개별적으로 어리석은 것처럼 보이지 않는 몇 가지 간단한 단계에서 실제로 어리석게 느끼는 방법.

1 단계 : Linux 상자를 사용하려는 경우 아이를위한 계정을 설정하십시오. 결국 이것은 가정용 시스템이며 인터넷에 노출되지 않으므로 사소한 암호를 지정하십시오.

2 단계 : 시간이 경과하므로 1 단계는 기억 나지 않습니다.

3 단계 : 방화벽에서 SSH 포트를 열어 (실제로는 라우터의 NAT) ssh에 들어가십시오. 결국, 내 계정에는 꽤 좋은 암호가 있으며 엄청난 가치가있는 것은 아닙니다.

4 단계 : ISP로부터 스웨덴 사이트로가는 DOS 활동이 있다는 알림을받습니다. 아마도 Windows 상자라고 가정하고 검사하고 강화하십시오.

5 단계 : ISP에서 계속 진행 중이라는 알림을받습니다. 세부 정보를 요청하고, 스웨덴 사이트의 IP 주소를 얻고, Wireshark를 실행하고, 공격이 어떤 상자에서 나오는지 찾으십시오.

6 단계 : 바보 같은 느낌으로 Linux 상자를 정리하십시오. 로그인은 루마니아어 주소에서 온 것입니다. 암호가없는 계정을 제거하십시오.


1
거기에 있었다. 한 번만 test : test라는 로그인 계정을 만들어 약 5 분 동안 사용하려고했습니다. 나는 그것을 삭제하는 것을 잊었고 당신과 같은 결과를 얻었습니다. 다시는 나는 모든 공개 키 인증을 간다.
ATC

1
예, 공개 / 개인 키도 사용합니다. 때로는 성가 시지만 간단한 암호보다 훨씬 안전합니다.
Denilson Sá Maia

4
인터넷에 SSH를 열 때 절대로 비밀번호 인증을 허용하지 마십시오. 공개 / 개인 키 인증 만 가능합니다.
wazoox

@wazoox : otp도 좋은 대안입니다.
Jürgen A. Erhard

라우터에서 Linux 및 Mac OS X 상자의 표준 ssh 포트로 전달되는 ssh에는 비표준의 높은 번호의 포트를 사용합니다. 나는 결코 어떤 로그인 시도합니다. 다른 컴퓨터의 ~ / .ssh / config에 바로 가기로 포트가 구성되어 있으므로 일반적으로 입력하지 않아도됩니다.
Neil Mayhew

11

내가 대학에있을 때 컴퓨터 실에서 그들은 앞뒤로 떠 다니는 많은 공을 시뮬레이트하는 화면 보호기를 가지고있었습니다. 그들은 시뮬레이션 된 중력으로 각각을 끌어 당겼습니다.

한 번 설정을 어지럽히는 동안 오류가 발생했습니다. Error: force on balls too great


10

한때 유닉스 용 장치 드라이버를 개발하고있었습니다. 포인터 문제가 있었고 테스트 중에 커널 메모리의 배열 끝을 쓰기 시작했습니다. 나는 이것을 발견하는 데 느리고 리셋 버튼을 즉시 누르지 않았다. 드라이버는 디스크 버퍼 캐시 전체를 낙서했으며 재설정을하기 전에 디스크로 플러시했습니다. 많은 블록이 inode와 디렉토리였으며, 결국 완전히 파일 시스템이 손상되었습니다. lost+found포기하고 다시 설치하기 전에 6000 개의 고아 파일을 넣은 것 같습니다 . 다행스럽게도 이것은 모든 파일이 들어있는 워크 스테이션이 아닌 테스트 시스템 일뿐입니다.


이제 작업 시스템에 그 일을하는 것은이었을 것입니다 정말 ;-) 바보
위르겐 A. 에어 하드

8

나는 / 삭제 등 후 복구 . 수업을 배운 것 같지 않습니다 ... 삭제 된 부분 /bin도 복구해야했습니다 . 내가 작업 할 때 발생하는 것 같습니다 chroot.


내가 downmodded 가지고 왜 아는 것이 매우처럼
xenoterracide

1
나는 이것도 목격했다. 시스템이 / etc 없이도 살아남을 수 있다는 것에 놀랐습니다. --- 아무것도 다시 시작하지 마십시오.
Stefan Lasiewski

7

작년 한 동료 직원이 Linux 워크 스테이션 중 하나를 사용하여 dd명령을 사용하여 플래시 디스크 복사본을 만들었습니다 . 실수로 다음과 유사한 것을 입력했습니다.

dd if=flash-image.img of=/dev/sda1

그가 실수를 깨달았을 때 (플래시 드라이브 대신 머신의 하드 디스크를 덮어 쓰는 중) 머신은 이미 호스 작업을했습니다. 우연히 우리의 모든 개발 VM을 호스팅하는 머신이기도 한 박스를 다시 만들어야했습니다 ...


2
한 - 매우 매우 될 매우 조심 dd! :-)
Josh

7

이것은 작년에 나에게 일어났다. 임시 변수를 사용하여 서버에서 일부 파일을 제거했습니다.

rm -rf ${prefix}*

맞춰봐? 변수 $prefix가 정의되지 않았습니다!
재난을 상상할 수 있습니다 ... 매우 중요한 파일이 삭제되었습니다.

나는 거의 끊어 Control-C지고 네트워크 케이블을 제거하기 위해 CPU로 달려 갔다!!

하하 나는 누군가가 이미 이것을했는지 확신합니다 ...


7

컴퓨터 과학을 공부하는 2 학년 때 우리는 C로 프로그램을 작성하여 여러 개의 서브 프로세스를 생성 fork하고 "원"으로 파이프와 통신하고 어떤 것이 "리더"가되어야하는지 알아내는 숙제를 배정 받았다. ".

당시에도 여전히 멍청한 놈이었고 대부분의 peple에는 Linux 시스템이 없었기 때문에 교수진의 메인 서버 (공식 사이트 및 직원 계정 및 사이트도 호스팅하고 있음)에서 계정을 작업했습니다. 대부분의 사람들은 숙제를 시도하는 어떤 단계에서 포크 폭탄을 썼습니다. 내 그룹의 절반 이상이 abusers파일 을 가져 왔습니다. 그것은 긴 시간에 그 서버에서 가장 높은 부하였습니다 :)


그것은 그들 중 어리석은 일입니다 ... 그들은 당신을 웹 서버 및 물건과 같은 기계에 두지 않아야합니다. (우리 학교는 같은 것이지만, 우리는 원격 포탄에 전념하여 매년 지게차가 실제로 손을 떼지 않습니다)
Spudd86

Microsoft는 교수진과 파트너쉽을 맺게되었으며 Windows와 .net은 이미 많이 홍보되었습니다. 아무도 서버에 많은
멍청한 놈을

6

대학에서 독점 Cisco LEAP 인증을 사용하도록 무선 네트워크를 전환하기로 결정했을 때 ...

충분히 끝나는 매우 긴 전투가 시작되었습니다. Linux를 실행하고 인터넷에 액세스하려는 다른 사용자를위한 설명서를 작성했습니다. 6 개월 후 그들은 PEAP 지원도 추가하기로 결정했습니다. 얼굴 때리기

내가 이겼 기 때문에 내가 가장 좋아하는 것입니다. 나는 그것을 작동시켰다.


6

Solaris에서 루트로

$ kill -9 1

... 모든 것이 무너졌습니다.

이 때문에 내 친구가 해고당했습니다.


6

저는 Linux 수업을위한 실험실 조교였습니다. 학생 중 한 명이 더 이상 su -그녀를 받고 있었기 때문에 나를 불렀습니다 permission denied. 그녀는 암호를 잘못 기억했거나 잘못 입력했습니다. 단일 사용자 모드로 재부팅하고 재설정하십시오. 뭐?! su여전히 작동하지 않습니까?! 내 의지에 절해야한다! 그래서 나는 그녀가 한 일을 찾기 위해 단일 사용자 모드로 재부팅합니다. 나는 그녀가 달렸다는 것을 깨달았다chmod -R 777 /var/www/html/drupal-6.19 /

디렉토리 이름과 마지막 슬래시 사이의 공백에 유의하십시오.

"정말로 그녀를 다시 설치하고 싶지 않기 때문에이 작업과 방법은 무엇입니까?"이후 / bin / su에 파일 권한이 있음을 알 수있었습니다 777. 또한 파일 권한으로 읽을 수 있으며 0777이로 인해 setuid 비트가 제거됩니다 /bin/su. 빨리 chmod u+s /bin/su나는 영웅이었다.


5
그것이 그녀의 시스템을 깨기 위해 변경해야 할 유일한 것입니까?
Michael Mrozek

1
나는 그것이 여전히 깨졌을 것이라고 확신하지만, 나머지 수업에는 충분히 잘 작동했을 것입니다.
Stefan Lasiewski

1
그것은 나머지 학급에서 충분히 잘 작동했습니다. 학교는 매 분기마다 모든 학생 드라이브를 다시 설치해야한다는 요구 사항이 있습니다. 그리고 이번 분기가 끝난 후 그녀는 리눅스를 사용하지 않았으므로 나머지 부분을 고치는 것은 귀찮게하지 않았습니다.
Kevin M

5

그렇게 고통스럽지 않지만 ... 재미있는 작은 순간 :

나는 sysadmin이 그러한 경우를 위해 무언가를 설치 한 것으로 잘못 입력 ls했습니다 .sl

( 데비안 , 우분투 , 젠투 , 리포지토리 에서 이미 사용 가능 )


4
그것은 고통스러운 순간보다 부활절 달걀에 가깝습니다. 나는 그것을 발견하기 전에 그것에 대해 읽었지만 결코 그것을 잘못 이해하지는 않았으므로 +1은 없습니다.
Umang

그 날에 온 후 Grinn은 .. 나는 사용자를했다 "당신은있는 거 시스템이 해킹! 11one을 내가 LS 입력 할 때 내가 ASCII 최신 애니메이션을 얻었다"
blauwblaatje

^ 너무 재미 없어!
mr_eclair

5
git init
git clean -f

리포지토리는 제거되지 않습니다. 그러면 저장소에없는 모든 것이 제거됩니다.

(온 기존의 repo 제거하고 다시 소스 제어를 시작 얻으려고 노력 후 완성 된 프로젝트의 첫 번째 버전),이 두 명령은 내 전체 코드를 핵 공격.


git rebase (스쿼시 포함) 및 git filter-branch (파일 제거 용)는 친구입니다. 나는 일반적으로 광범위한 리베이스하기 전에 현재 브랜치의 백업 사본을 만듭니다.
닐 메이 휴

5

내가 일하던 회사는 SCO에서 제품을 운영하고있었습니다. 데모 서버에서 응용 프로그램이 매우 느려지는 것에 대한 디버깅을 수행했으며 동시에 새로운 기능에 대한 데모 / 강의를받는 많은 고객이있었습니다.

그래서 나는 붙어있는 응용 프로그램을 실행하고 근본 원인을 확인하기 위해 내 물건을 만들었지 만 여전히 "고착"되었으므로 죽이려고했습니다.

pkill -9 mytestapplication

내가 배운 것은 pkill이 linux =)에서와 같이 SCO에서 정확히 동일하지 않다는 것입니다.

... 기본적으로 사용자가 액세스 할 수있는 모든 것을 죽이고 루트는 ... 모든 것입니다.)


1
SCO에서 무엇을하는지 설명해 주시겠습니까? 잘 모르겠으며 Google에서 쉽게 찾을 수 없었습니다.
Denilson Sá Maia

1
그것은 기본적으로 사용자가 액세스 할 수있는 모든 것을 죽이고 root .. its everything =)
rasjani

3

데비안에서 우분투로의 전환은 일부 파일과 디렉토리를 삭제하려고 시도한 날에 시작되었습니다.

rm -r /var/tmp/*

불행히도 "/ var / tmp /"와 "*"사이에 공백을 삽입했으며 파일 시스템의 루트에있었습니다.

root@workstation:/# rm -r /var/tmp/ *

집에서 시도하지 마십시오!


'zsh : / [yn]에있는 모든 파일을 삭제 하시겠습니까?' -그것은 매우 유용합니다
André Paramés

이렇게하면 /에서 오는 파일이 어떻게 삭제됩니까?
mr_eclair

3

Bash에는 각각 dirname및과 동등한 작업을 수행하는 깔끔한 트릭이 있습니다 basename.

${path%/*}
${path##*/}

$path후행 슬래시 가 포함되어 있을 때 그리 재미 있지 않습니다 ...


3

한 지점에 두 개의 드라이브가 설치되어 있고 두 번째 드라이브의 루트 파일 시스템이 안에있는 디렉토리에 마운트되었습니다 /mnt. 나는 그 디렉토리에 있었고 삭제하려고했지만 대신 var타이핑을 끝냈습니다 rm -rf /var. 일부 본능 말했다에 걷어차 듯 var 합니다 슬래시로 와야!

내가 한 일을 깨달았을 때 나는 즉시 Ctrl-C쳤지 만 너무 늦었다. 내 rpm데이터베이스는 오랫동안 건물을 떠났습니다. 나는 모든 것을 정상으로 되 돌리는 데 오랜 시간을 보냈다.

이제 고통스러운 부분.

나는 그 디렉토리로 돌아가서 /mnt내가하고있는 일을 재개합니다. 무엇을 입력합니까? 자, 본능이 다시 시작되었다고 가정 해 봅시다.

적어도 두 번째로 시스템을 훨씬 빨리 복원 할 수있었습니다.)


1
나는 chroot (1)에 대해 알기 전에 이것을 받아 들였다?
Kevin M
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.