5

Я уже пробовал много команд для создания файла и удаления файла с символом # , но это не работает. Может кто-нибудь сказать мне команду для создания, а затем удалить файл, который начинается с #?

2 ответа2

11

Два канонических способа создания / удаления файлов с "забавными персонажами":

  1. Цитируя, как показал Алекс. Вы можете использовать одинарные или двойные кавычки, в зависимости от ваших потребностей расширения. Обратная косая черта может использоваться, чтобы избежать единственного забавного персонажа. Это работает до тех пор, пока имя файла не выглядит как опция (начинается с тире).
  2. Если файл выглядит как опция, добавьте путь: rm ./- "./-rf ."

Современные версии утилит Unix часто поддерживают двойную черту для обозначения конца опций. В таких системах rm -- - удаляет файл с именем - .

Обратите внимание, что вы не можете создавать или удалять файлы с косой чертой или ASCII NUL в их имени. Если у вас есть такой файл (я их видел), что-то в вашей файловой системе пошло не так.

В вашем конкретном случае с хешем # проблема связана с тем, что оболочка интерпретирует слово, начинающееся с # как начало комментария оболочки. Хорошая оболочка позволяет отключить эту функцию оболочки, называемую интерактивными комментариями:

  • zsh: unsetopt interactivecomments
  • bash: shopt -u interactive_comments

С ними вы можете просто touch #; rm # без хлопот.

5

Делать...

touch "#file"

Удалить...

rm "#file"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .