Как удалить файл со специальными символами в имени
inconvenient
special files delete
rm
Как удалить файл со специальными символами в имени
Многие сталкивались с проблемой удаления файлов с нестандартными именами например, содержащие пробелы и специальные символы в ОС GNU/Linux.
Простой способ удалить такие файлы - это из консоли запустить команду
rm имя_файла
В имени файла специальные символы экранируются с помощью обратной косой черты \\. Например:
rm имя\_файла\ с\ пробелами
Скрытые файлы начинающиеся с точки можно увидеть командой
ls -a
Удаляются тем же способом, только точка не экранируется. Отметим, что если набрать точку, а потом нажать клавишу Tab для автодополнения, то точка исчезнет, для правильной работы автодополнения нужно после точки набрать еще хотя бы один символ имени файла.
Файлы, начинающиеся с символа тире \- удаляются следующим способом:
rm -- -foo
rm ./-foo
При распаковке архивов, созданных в ОС Windows и содержащих файлы с именами на кириллице часто создаются файлы с символами не отображаемыми в консоли. Первый способ удаления файлов для них не подходит команда rm выдаст сообщение, что файл не найден.
В этом случае необходимо сначала определить уникальный номер файла inode с помощью команды
ls -li
Затем удалить файл с помощью команды
find . -inum [inode] -exec rm -i {} \;
Те, кто не любит возиться в консоли, для удаления файлов могут использовать файловый менеджер mc midnight commander.