Доступ к папке, которую я не могу & ldquo; назвать & rdquo; в оболочке

1111 У меня есть упрямая папка, которую, должно быть, кто-то создал случайно, и она сохранилась все это время. Я могу видеть это с помощью:

# find /var/www/html -maxdepth 1 -type d

, что дает мне:

/var/www/html
/var/www/html/files
/var/www/html/.?

, к сожалению, вопросительный знак есть не фактический символ ?, это просто Похоже, это означает, что для этого символа нет правильного символа и / или перевода. Так что что-то вроде rmdir не может быть и речи. В моей системе UTF-8 используется в качестве локали по умолчанию, как и во многих современных системах Ubuntu, но, по общему признанию, рассматриваемая папка могла происходить из коробки RHEL или CentOS (tar отредактировано и распаковано).

# env|grep LANG
LANG=en_US.UTF-8

При попытке cd .\? (как упоминалось ранее, на самом деле это не ?) я автоматически исправляюсь в . с помощью bash и фактически по какой-то причине в конечном итоге оказываюсь в /var/www/html/.. Теперь, если я не могу «назвать» эту папку с пользой, я никак не могу получить к ней доступ. Как я могу избавиться от него, не подвергая опасности всю систему?

Теперь я установил detox уже, но, похоже, он действует только на файлы, а не на папки, в соответствии с его документацией, и к тому же он все еще требует, чтобы Я могу назвать объект как-нибудь, чтобы что-то с ним сделать.

1
задан 29 February 2012 в 23:06

3 ответа

Несколько предложений, сначала попробуйте использовать завершение табуляции

cd /var/www

rm -rf ./.TabTab

используйте find

cd /var/www
find -maxdepth 1 -type d -exec rm -ri '{}' \;

Если это не помогло, попробуйте запустить fsck (с live CD).

Публикуйте любые сообщения об ошибках или странное поведение, которое вы получаете

0
ответ дан 29 February 2012 в 23:06

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

Вы также можете угадать количество символов с rm -i .??? для 3 символов (так что вы не рискуете нажать y один раз слишком много).

0
ответ дан 29 February 2012 в 23:06

Если у вас есть только эти два каталога

/var/www/html/files
/var/www/html/.?

в разделе /var/www/html/, вы можете удалить каталог без имени files с помощью команды

find . -mindepth 1 -maxdepth 1 ! -name files -exec rm -rf {} \;
0
ответ дан 29 February 2012 в 23:06

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

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