Удалить файл с ` в имени

Удалить файл с ` в имени

В какой-то момент я создал файл с: ` в нем. Как мне его удалить?

ls -laвозвращает:

-rw-rw-r--  1 ec2-user ec2-user     0 Sep 25 23:01 `which

решение1

Есть много способов:

  1. Укажите имя файла

    rm '`which'
    
  2. Избавьтесь от персонажа-нарушителя

    rm \`which
    
  3. Использовать подстановку оболочки (с подсказкой, если есть другие соответствующие файлы)

    rm -i ?which
    rm -i *which
    
  4. Вместо этого используйте find(обратите внимание, что, как указал @Braiam ниже, это найдет все соответствующие файлы в текущем каталоге и может удалить больше, чем вы ожидали.)

    find . -name '`which' -exec rm {} \;
    find . -name '`which' -delete
    

решение2

Если в имени вашего файла есть «забавные символы» и вы не можете их ввести, вы можете сделать следующее:

rm -i *which*

где whichчасть, состоящая из обычных символов.

(Для интерактивного режима -i) убедитесь, что вы получили запрос перед удалением любых совпадающих имен файлов, чтобы вы могли пропустить все совпадения, которые вы не хотите удалять.

решение3

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

rm \`which

и это сработает.

решение4

Это происходит. Если имя вашего файла

`which 

вам следует использовать

mv '`which' which

Вам необходимо использовать его 'вокруг имени файла, поскольку перед именем файла есть специальный символ.

Связанный контент