Как создать файл с “#\” символ на имя в Unix?

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

5
задан 16.11.2014, 01:34

2 ответа

Два канонических способа создать/удалить файлы с "забавными символами"

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

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

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

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

  • zsh: unsetopt interactivecomments
  • удар: shopt -u interactive_comments

С ними Вы можете просто touch #; rm # без стычки.

11
ответ дан 07.12.2019, 16:51

Сделать...

touch "#file"

Удалить...

rm "#file"
5
ответ дан 07.12.2019, 16:51

Теги

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