Вопрос или проблема
Я изучил эту страницу (Как удалить отдельный файл из каталога /usr?) и попробовал
sudo rm /usr/share/applications/Eclipse Mars C/C++.desktop
в терминале, но это не сработало.
Я думаю, причина в том, что я использую другую версию (у меня Ubuntu 14.04).
Есть ли какое-либо решение или другая команда для Ubuntu 14.04, чтобы удалить ненужные файлы?
Это потому, что имя файла содержит пробелы. Поэтому команда rm
интерпретирует его как несколько аргументов, что не задумывалось и, очевидно, неудачно.
Вам нужно заключить имя файла в кавычки, чтобы оно передавалось как единый аргумент:
sudo rm "/usr/share/applications/Eclipse Mars C/C++.desktop"
Но, как особенно указал @JacobVlijm, Eclipse Mars C/C++.desktop
не является действительным именем файла, потому что это почти единственный символ, который не может быть включен в имена файлов, так как он разделяет каталоги: /
(косая черта).
Если команда, описанная выше, действительно сработала, это означает, что у вас есть файл C++.desktop
внутри каталога /usr/share/applications/Eclipse Mars C
, что крайне маловероятно, поскольку такая структура не является рекомендованной для каталогов .../applications
.
Но если предположить, что этот файл действительно существует, как описано в предыдущем абзаце, есть еще один способ правильно ввести имя файла. Вы можете экранировать все пробелы с помощью \
(обратная косая черта) вместо того, чтобы заключать все имя в кавычки:
sudo rm /usr/share/applications/Eclipse\ Mars\ C/C++.desktop
Но имейте в виду, что rm
удаляет только файлы, а не каталоги. Поскольку мы предполагаем (поскольку все остальное теоретически невозможно), что Eclipse Mars C/C++.desktop
не является файлом, а файлом в подкаталоге, мы еще не достигли того, чего хотим, так как должен остаться (вероятно, пустой) каталог /usr/share/applications/Eclipse Mars C
. Чтобы также удалить этот подкаталог и все содержащиеся в нем файлы (поэтому вы можете пропустить вышеуказанные команды для удаления только файла), мы должны использовать один из нижеуказанных вариантов команды:
sudo rm -r "/usr/share/applications/Eclipse Mars C"
sudo rm -r /usr/share/applications/Eclipse\ Mars\ C
Обратите внимание, что теперь мы ссылаемся не на имя файла, а только на имя каталога. И мы используем параметр -r
для rm
, который обозначает “удалить рекурсивно”.
Попробуйте ввести команду так:
sudo rm /usr/share/applications/Eclipse\ Mars\ C
И нажмите TAB. Она авто-дополнится, после чего вы должны запустить команду, и она удалит. Заключение в кавычки может сработать, но в имени есть также /
, так что это может вызвать ошибки, поэтому лучше позволить Bash сделать это за вас.
Попробуйте:
sudo rm /usr/share/applications/Eclipse\ Mars\ C\/C++.desktop
Или просто пусть терминал напечатает имя, введя:
sudo rm /usr/share/applications/Eclipse
и нажав TAB, на случай, если я ошибаюсь с обратными слешами.
У меня была проблема с удалением значка списка приложений. Та же проблема, что и у вас. Я установил escan и не имел разрешений на удаление значков рабочего стола. Они не появлялись в обычном каталоге Home/.local/share/applications. Они находились в каталоге Computer/usr/share/applications. У меня не было разрешений? Неизвестно, почему. Файлы были escan-gui.desktop, escan-gui-root.desktop и escan-help.desktop. Я использовал команду: $ sudo rm -r “/usr/share/applications/escan-gui.desktop”, это сработало идеально. Я использовал ту же команду с другими именами файлов и удалил их всех. Не возникло запроса или ошибки, связанной с разрешениями 🙂 Большое спасибо 🙂
Ответ или решение
Удаление файла из директории /usr/share/applications
в Ubuntu 14.04 может требовать определенных знаний командной строки и учёта особенностей синтаксиса. Если вы столкнулись с проблемами при выполнении команды sudo rm
, в данном руководстве мы подробно рассмотрим необходимые шаги и возможные ошибки.
Шаг 1: Понимание проблемы
Наиболее распространенной причиной, по которой команда не срабатывает, является наличие пробелов или специальных символов в названии файла. Например, если файл называется Eclipse Mars C/C++.desktop
, командная строка может интерпретировать это как несколько аргументов. Чтобы избежать этой проблемы, важно правильно оформить название файла.
Шаг 2: Использование кавычек
Самый простой способ передать файл с пробелами в названии — использовать двойные кавычки. В вашем случае команда будет выглядеть так:
sudo rm "/usr/share/applications/Eclipse Mars C/C++.desktop"
Шаг 3: Экранирование пробелов
Если по какой-то причине использование кавычек не сработает, вы можете экранировать пробелы с помощью обратной косой черты \
. Ваша команда будет выглядеть следующим образом:
sudo rm /usr/share/applications/Eclipse\ Mars\ C/C++.desktop
Шаг 4: Удаление директории
Если файл, который вы пытаетесь удалить, является частью директории, и вам нужно удалить не только его, но и саму директорию, необходимо использовать параметр -r
для рекурсивного удаления. Например, если вы хотите удалить директорию вместе со всеми её содержимым, выполните следующую команду:
sudo rm -r "/usr/share/applications/Eclipse Mars C"
Либо:
sudo rm -r /usr/share/applications/Eclipse\ Mars\ C
Шаг 5: Автозаполнение
Чтобы избежать возможных ошибок в написании пути к файлу или директории, вы можете воспользоваться функцией автозаполнения терминала. Для этого начните вводить путь к файлу и нажмите клавишу TAB
. Это позволит терминалу автоматически завершить название файла (или показать доступные варианты).
Примечание о правах доступа
Вы также можете столкнуться с проблемами, связанными с правами доступа, особенно если файл был установлен с использованием популярных приложений или пакетов. Использование sudo
позволит запустить команду с правами суперпользователя, что необходимо для удаления файлов в системных директориях.
Заключение
Теперь вы знаете, как удалить файл или директорию из /usr/share/applications
на Ubuntu 14.04. Убедитесь, что вы следуете всем шагам, и используете либо кавычки, либо экранирование для имен с пробелами. Если вы удовлетворите все эти условия, проблема с удалением должна быть решена.
Если у вас возникнут дополнительные вопросы или возникнут трудности, не стесняйтесь обратиться за помощью в сообщество Ubuntu или к профессиональным IT-экспертам.