У меня есть каталог в моей домашней директории, но я не могу удалить его каким-либо образом.
Использование команды 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
РЕДАКТИРОВАТЬ для OmP:
Я переместил файл в / var / tmp / новое имя, но я не могу удалить его оттуда. Следующие команды также не сработали, они заморозили консоль.
Только команда 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
Внимание, то, что ниже, довольно опасно, сделайте резервную копию ваших данных раньше:
У вас может быть скрипт, работающий в эту папку ... (ваш lsof показывает команду bash)
обязательно быть вне папки и иметь права администратора (sudo или root.)
Убить все возможные процессы, которые имеют доступ к этой папке:
kill -9 `lsof -t /MyFolder`
, тогда вы сможете удалить ее :
rm -rf /MyFolder
MyFolder - это папка, которую вы хотите удалить.
Если это не сработает, пожалуйста, покажите нам, что выводит команда mount
С уважением.
Это действительно странно - кажется, поврежденная запись (количество ссылок очень и очень подозрительно). Я хотел бы сначала сделать резервную копию , а затем попытаться принудительно проверить диск при следующей перезагрузке.
Обратите внимание, что очень важно сделать резервную копию всех данных, которые у вас есть в разделе, если вы подозреваете, что это может быть повреждение диска.
Чтобы принудительно проверить файловую систему для следующей перезагрузки, сначала определите устройство; из каталога, 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/
). Оттуда это обычно можно удалить.
Я бы предложил переместить его в другое место.
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
здесь будут перечислены все процессы в системах, использующих этот файл. Вы можете остановить эти процессы и удалить, а затем попытаться удалить файл снова.