У меня есть каталог в домашнем каталоге, но я не могу его удалить никакими способами.
Использование rm -rf JsZ-r6K.50/ приводит к краху консоли. Я также пробовал использовать sudo rm, но результат тот же.
drwxr-xr-x 3 volkan volkan 4096 Nov 5 03:19 .installjammerinfo/
drwxrwxr-x 4 volkan volkan 4096 Aug 6 15:28 .java/
drwxr-xr-x 2 volkan volkan 86122496 Nov 8 22:25 JsZ-r6K.50/
drwx------ 5 volkan volkan 4096 Nov 8 02:58 .kde/
Как удалить этот каталог?
РЕДАКТИРОВАТЬ:
volkan@ubuntu:~$ lsattr -d JsZ*
----------I--e-- JsZ-r6K.50
EDIT для OmP:
Я переместил файл в /var/tmp/newname, но удалить его оттуда тоже не могу. Следующие команды также не дали результата, они заморозили консоль.
Только lsof
команда дала следующее:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 3935 volkan cwd DIR 8,6 86122496 914129 new
rm 4177 volkan 3r DIR 8,6 86122496 914129 new
rm 4177 volkan 4r DIR 8,6 86122496 914129 new
решение1
Внимание, то, что описано ниже, довольно опасно, сделайте резервную копию своих данных перед этим:
У вас может быть скрипт, работающий в этой папке... (ваш lsof показывает команду bash)
обязательно находитесь вне папки и имеете права администратора (sudo или root).
Уничтожьте все возможные процессы, имеющие доступ к этой папке:
kill -9 `lsof -t /MyFolder`
то вы сможете удалить его:
rm -rf /MyFolder
MyFolder — папка, которую вы хотите удалить.
Если это не сработает, пожалуйста, покажите нам, что выводит команда mount.
С наилучшими пожеланиями.
решение2
Это действительно странно --- похоже, что запись повреждена (количество ссылок очень и очень подозрительно). Что бы я сделал, так этово-первых, резервная копияа затем попробуйте принудительно проверить диск при следующей перезагрузке.
Обратите внимание, что очень важно сделать резервную копию всех данных, имеющихся в разделе, если вы подозреваете, что диск мог быть поврежден.
Чтобы принудительно проверить файловую систему перед следующей перезагрузкой, сначала идентифицируйте устройство; из каталога , df .
будет выведено что-то вроде этого:
(0)samsung-romano:~% df .
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda6 503315720 140840260 336901780 30% /home
Итак, устройство — /dev/sda6. Теперь принудительно выполните проверку при следующей перезагрузке. Есть разные способы сделать это, я обычно использую принудительное высокое число монтирований на устройстве, например
sudo tune2fs -c 100 /dev/sda6
sudo tune2fs -C 100 /dev/sda6
Первый говорит о необходимости проверки файловой системы на устройстве каждые 100 монтирований, а второй устанавливает количество монтирований равным 100, чтобы проверка производилась при следующей загрузке.
Наиболее вероятно, что проверка обнаружит его и удалит/переместит в lost+found
каталог в корне файловой системы (в моем случае это был бы /home/lost+found/
). Оттуда его обычно можно удалить.
решение3
Я бы посоветовал попробовать переместить его в другое место.
mv /path/to/filename /var/tmp/newname
Если это сработает, я думаю, вы закончили и можете удалить его оттуда.
также попробуйте сделать
file /path/to/filename
это должно сказать вам, какой это тип файла. если ничего не работает, попробуйте
cp /dev/null /path/to/filename
rm /path/to/filename
это сделает файл размером 0 байт, и затем вы сможете легко удалить его.
чтобы проверить, почему удаление этого файла приводит к сбою вашего терминала.
lsof /path/to/filename
это выведет список всех процессов в системе, использующих этот файл. Вы можете остановить эти процессы и удалить их, а затем попробовать удалить файл еще раз.