어젯밤에 실수를 해서 파일 서버의 1800GB를 실수로 삭제했습니다.

어젯밤에 실수를 해서 파일 서버의 1800GB를 실수로 삭제했습니다.

어제 테스트 머신에서 이 명령을 실행했는데 SSH를 통해 연결된 파일 서버였습니다.

sudo rm -rf /tmp/* !(lost+found)

내 터미널 에뮬레이터는 Konsole입니다. 내 시스템은 데비안 7입니다.

질문:

이 명령이 /tmp에 있는 파일 이외의 파일을 삭제했습니까?

답변1

Bash의 올바른 구문은 다음과 같습니다.

rm /tmp/!(lost+found)

~처럼@금화꽃 썼다주석에서 원래 명령은 쿼리를 확장합니다(폴더의 모든 파일을 삭제한 /tmp다음 현재 작업 폴더(귀하의 경우 home폴더)의 모든 파일을 삭제합니다).

일부 데이터를 복구할 수 있는지 확인할 수 있습니다. Linux 데이터 복구에 대해 질문이 있습니다여기.

답변2

!(lost+found)명령에 rm잠재적으로 치명적인 오류가 있습니다 .

1978  rm -rf /tmp/* !(lost+found)
1979  sudo rm -rf /tmp/* !(lost+found)

bash정확히 무엇을 하는지는 모르지만 다음 명령은 내 콘텐츠와 /tmp/현재 디렉터리(현재 ) ~에 있는 모든 내용을 인쇄합니다.

echo /tmp/* !(lost+found)

관련 정보