Я в итоге по ошибке удалил все приложения из папки. Собирался удалить один конкретный файл, но нажал Enter, прежде чем полностью набрать текст. В итоге ввел эту строку и не понял, что сделал, пока не стало слишком поздно:
sudo rm -r /usr/share/applications
Я новичок в Ubuntu, и мой ноутбук не поддерживает двойную загрузку.
Я пытался восстановить файлы разными способами, но безуспешно.
Теперь я не могу войти в свой ноутбук напрямую. Вход зациклился, и я не могу сделать это через виртуальную консоль (неправильный вход). На виртуальной консоли появляются следующие сообщения:
Я вошел через Ubuntu (Unity). Обычно я использую Ubuntu(Gnome). Данные не были утеряны.
Я все еще не могу открыть ни один файл и внешние устройства (типа USB) не открываются. Большинство приложений отсутствуют. У меня все еще есть nautilus.
Как я могу это исправить?
решение1
Как и в Windows, инструменты командной строки для удаления файлов (в случае Linux — rm
команда) не копируют данные в корзину. На самом деле они их удаляют.
Linux также унаследовал наследие UNIX, которое предполагает, что вы знаете, что делаете, и поэтому не запрашивает подтверждения для многих вещей, особенно для основных команд, таких как 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