Невозможно выполнить & rdquo; rm & rdquo; файл с именем & ldquo; () -. & rdquo; из-за & ldquo; Нет такого файла или каталога & rdquo;

Сценарий, который я написал, назвал файл "() -." согласно Filezilla. Filezilla не смог удалить его с сервера, поэтому я попытался «rm» () -. »Изнутри содержащейся папки и получил« rm: невозможно удалить »() -.:: Нет такого файла или каталога». Затем я использовал «ls», который показывает ...

 () -  .                                               03_The_Kill_30_Seconds_to_Mars.mp3                 Crooked X (Crooked X) - 08 Nightmare.mp3
01 Attack - 30 Seconds to Mars.mp3                     03 Wave of Mutilation - Pixies.mp3                 Danzig (Danzig) - 01 Twist Of Cain.mp3

Он перечисляет файл, о котором идет речь, хотя здесь похоже, что он может содержать ведущее пространство и mabey два пробела между «-» и «.». Таким образом, я попытался «rm» много комбинаций пробелов, смешанных между другими персонажами, без успеха.

Я также попытался переименовать его, но с той же ошибкой.

он с 0KB-файлом с тем же именем, но я бы скорее его удалил (read-я OCD, и это раздражает меня, что он появляется в «ls»)

Спасибо за любую помощь.

Я OCD, и меня раздражает, что он появляется в «ls»

1
задан 3 December 2012 в 23:31

3 ответа

Поскольку имя файла содержит пробелы, вам нужно указать имя файла в кавычках.

Одна из проблем, почему вы не можете удалить файл, состоит в том, что у вас могут не быть разрешений для этого.

Итак, попробуйте sudo rm " () - .".

Это должно сделать трюк. Также обратите внимание на конечное пространство после '.'

1
ответ дан 25 May 2018 в 03:42
  • 1
    Спасибо за ответ, все же была такая же ошибка. – Seminecis 3 December 2012 в 23:47

То, что я обычно делаю в подобных случаях, - это использование табуляции, чтобы убедиться, что все происходит правильно. Шагами будут:

открыть терминал и перейти к папке с неправильным именем файла в ней типа «rm \» (обратная косая черта, сопровождаемая одним пробелом), нажать tab, который должен расширять имя файла с помощью необходимые escape-последовательности

Предполагается, что это единственное имя файла, которое у вас есть, которое начинается с пробела - если их больше одного, вам может потребоваться вручную ввести и убрать первые пару символов, чтобы он мог различать, какой из них вы имею в виду.

1
ответ дан 25 May 2018 в 03:42

Альтернативное решение (даже если правильное использование rm может быть предпочтительным) заключается в использовании полуночного командира, например

$ sudo apt-get install mc
$ mc

Затем

перейдите в каталог, содержащий файл (используйте стрелки вверх / вниз для выбора каталогов и введите в него cd), выберите файл, который вы хотите удалить (CTRL-T), удалите файл (F8)
0
ответ дан 25 May 2018 в 03:42

Другие вопросы по тегам:

Похожие вопросы: