이 실수를 어떻게 해결할 수 있나요?

이 실수를 어떻게 해결할 수 있나요?

실수로 폴더에서 모든 응용 프로그램을 삭제했습니다. 특정 파일 하나를 삭제하려고 했는데 완전히 입력하기 전에 Enter 키를 누르세요. 결국 이 줄을 입력하게 되었고 너무 늦을 때까지 내가 무엇을 했는지 깨닫지 못했습니다.

sudo rm -r /usr/share/applications

저는 Ubuntu를 처음 사용하고 있으며 노트북이 이중 부팅 상태가 아닙니다.

다른 방법을 사용하여 파일을 복원하려고 시도했지만 실패했습니다.

이제 노트북에 직접 로그인할 수 없습니다. 로그인이 루프에 갇혀 있고 가상 콘솔을 통해서도 로그인할 수 없습니다(잘못된 로그인). 가상 콘솔에 다음 메시지가 나타납니다.

여기 이미지가 있습니다

Ubuntu(Unity)를 통해 로그인했습니다. 저는 주로 Ubuntu(Gnome)를 사용합니다. 데이터가 손실되지 않았습니다.

여전히 파일을 열 수 없으며 외부 장치(예: USB)도 열리지 않습니다. 대부분의 응용 프로그램이 누락되었습니다. 아직 노틸러스가 있어요.

이 문제를 어떻게 해결할 수 있나요?

답변1

Windows와 마찬가지로 파일을 제거하는 명령줄 도구(Linux의 경우 rm명령)는 항목을 휴지통에 복사하지 않습니다. 정말 삭제됩니다.

Linux는 또한 자신이 수행 중인 작업을 알고 있다고 가정하고 특히 rm.

데이터를 백업하고 Ubuntu를 다시 설치해야 합니다. 다시 설치하는 것보다 더 빠르게 파일 삭제를 취소하는 쉬운 방법은 없습니다.

앞으로는 ls -R명령을 사용하여 rm -r.

답변2

귀하가 나열한 증상 중 다수는 이 디렉토리와 관련이 없습니다. 가상 콘솔 로그인 프로세스는 실제로 이를 전혀 사용하지 않으며 해당 시작 메시지는 일부 내부 PCIe 장치(어떤 장치인지 알아보기 위해 실행)와의 연결 문제에 대해 알려주며 , 대부분 오랫동안 lspci거기에 있었을 가능성이 높습니다.dmesg

디렉터리 /usr/share/applications에는 일반적으로 응용 프로그램 자체가 포함되지 않고 "바로 가기" 역할을 하는 .desktop 파일만 포함됩니다(Windows의 시작 메뉴와 유사). 다시 가져오는 가장 쉬운 방법은 영향을 받은 패키지를 다시 설치하는 것입니다. 여기를 참조하세요.Unix.SE 스레드사용할 수 있는 명령에 대해 설명합니다.

packages=$(dpkg -S /usr/share/applications | sed "s/: .*//; s/, / /g")

sudo apt-get install --reinstall $packages

관련 정보