Я нашел файл в каталоге названным "." не "." указание на каталог, но фактический файл с содержанием в нем. Это, как можно предположить, вызывает все виды проблем. Проблема, я не могу выяснить, как удалить ее. Как был бы я удалять файл, названный ".", не удаляя весь текущий каталог. Вот список только, чтобы показать Вам:
drwx------ 2 mysql mysql 36864 Jun 28 14:11 .
drwxrwxr-x 5 mysql mysql 4096 Jun 26 06:46 ..
-rw-r--r-- 1 user1 users 2287 Jun 24 14:32 .
-rw-rw---- 1 mysql mysql 65 Jun 21 21:16 db.opt
-rw-r--r-- 1 mysql mysql 0 Jun 28 14:11 .hidden
Вы видите каталог (.), но можно также видеть файл, принадлежавший "user1", названному "." размера файла 2287. Как я удалил бы это? (Рабочий RHEL 4.6).
Один путь состоит в том, чтобы использовать inode число
ls -i
Получите inode количество плохого файла, притворитесь, что это 42
find . -inum 42 -exec rm -i {} \;
Перепроверка, с которой это не имеет пространства ls -alQ
:
drwxr-xr-x 2 adam adam 4096 2010-06-28 14:23 "."
-rw-r--r-- 1 adam adam 0 2010-06-28 14:23 ". "
drwxr-xr-x 71 adam adam 4096 2010-06-28 14:23 ".."
find -user user1 -print
find -user user1 -delete
Мое предположение это действительно не называют '.'. Существует, вероятно, управляющий символ или подобен. Вышеупомянутое удаляет его на основе владельца. -print
пробный прогон должен избежать неожиданностей.
Вы уверены, что это называют '.'. Это не имеет никаких пробелов или чего-либо, это называют '.'?
По умолчанию комната не удаляет каталоги, итак, почему не просто используют
rm -i .