Как я могу удалить файл, который есть там, но система говорит, что там нет?
Глядя на ваши скриншоты, я вижу, что у вас установлена группа root. Я бы попробовал использовать chown и посмотреть, решит ли это проблему.
sudo chown -hR [username]:[username] /home/[username]
Замена [username] на ваше имя пользователя.
Вы получите пару ошибок.
покажи нам терминал ... сделай ll | grep panorama
и покажи нам это; добавьте его в свой вопрос ...
Я предлагаю сделать как root rm -f panorama.jpg
.
в человеке Р.М. я нашел это:
-f, --force
ignore nonexistent files, never prompt
Я знаю, что это старый файл, но у меня была та же проблема, что и у вас, только с папкой, а не с файлом. Ни один из предложенных здесь методов не сработал.
Мне удалось решить проблему, создав папку в том же положении и с тем же именем, что и я, которую я не мог удалить. Папка была создана правильно и «заменила» несуществующую. Затем я просто удалил новую папку, и проблема исчезла. Просто так.
У меня была такая же проблема. Это была проблема в индексных записях раздела. Я решил это, запустив Windows, если у вас двойная загрузка, или вставьте live CD Windows XP или Windows 7, а затем выполните следующие действия:
cmd
верно -click -> Запуск от имени администратора. chkdsk /f/x D:
(где D - буква вашего диска). 100% работают
Непечатные символы в именах файлов могут вызывать такие проблемы, как пробел. Попробуйте интерактивную опцию rm и скажите 'Y' файлу, который вы хотите удалить "
rm -i" * pan * "Обратите внимание на использование * s для сопоставления любым (даже не печатным) символам .
Может быть, был удален inode, но не запись в каталоге. Попробуйте ls -i, чтобы увидеть inode. Fsck файловая система, чтобы решить эту проблему.
Предупреждение: для использования этих инструкций потребуется
debugfs
. Они могут вызвать потерю данных.Они адаптированы к исходной проблеме и могут быть точными или неточными для любых будущих посетителей этой страницы. Любая потеря данных может быть непоправимой или даже усугублена
blockquote>fsck
.Это может быть потерянный инод. Пожалуйста, запустите
ls -li
, чтобы получить список номеров инодов, затем вы можете попытаться сбросить указанный инод. Например, если вашls -li
выглядит следующим образом:rarkenin@ubuntu-alt-64-vbox-1:~$ ls -li total 58672 4980758 -rwxr-xr-x 2 rarkenin rarkenin 4096 Sep 23 18:45 panorama.jpg ---SNIP---
, то номер индекса равен 4980758, как показано в списке в качестве первого столбца.
Затем вы можете попытаться сбросить индекс. Пожалуйста, прочитайте весь пост, прежде чем делать что-нибудь .
Запустите
debugfs
от имени пользователя root:rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs [sudo] password for rarkenin: debugfs 1.42 (29-Nov-2011) debugfs:
и введите команду
open /dev/sda1
с правильным блочным устройством для вашего раздела.Затем дайте команду, чтобы сбросить индекс, номер которого вы получили ранее:
cat <4980758>
, используя
<
и>
вокруг номера индекса.Если он читает какой-то случайный текст, закройте терминал и откройте его снова. Запустите
debugfs
еще раз и снова введите командуopen
.Теперь вы можете попробовать удалить файл. Это может привести к серьезному повреждению файловой системы.
debugfs: rm [filename] debugfs: unlink [filename] debugfs: kill_file [filename] debugfs: kill_file <inode>
Обратите внимание, что это можно сделать, даже если выяснится, что в файле никогда не было inode. Попробуйте команды по одной в порядке, указанном выше. Выйдите из debugfs и проверьте, существует ли файл. Если нет, начните снова, но следуйте следующей инструкции.
Сделайте резервную копию, если это возможно!
У меня была такая же проблема с файлом, созданным пользовательской веб-базой EMR (электронная медицинская карта) в Chrome. sudo touch /forcefsck
с последующим перезапуском сработало у меня и ароматически удалило файл. Получена справка на следующих страницах
Linux Mint 18.3 Мой несуществующий файл был «filename.pdf.crdownload». Он появился на моем рабочем столе в виде пакета, то есть zip-файла в Windows. Для этого я щелкнул правой кнопкой мыши Свойства, Открыть с помощью, который показал нулевые приложения, поэтому я изменил его на Открыть с помощью «Менеджера архивов». Сразу файл исчез с моего рабочего стола. кб
Как сказал ubfan1, непечатные символы в именах файлов могут вызвать такие проблемы.
работал для меня, так как «touch» перекрывал поврежденный файл.
Сначала войдите в систему как пользователь root с помощью sudo -s
Вы можете попробовать выполнить rm -v <file>
и просмотреть подробный вывод, чтобы увидеть, что происходит при попытке удалить файл. Проверьте параметры для команды ниже.
Если это не помогло, вы можете использовать опцию Force, как и все остальные. Вы также можете попробовать удалить весь каталог, принудительно выполнив рекурсивное удаление: rm -rfv **full directory address here**
ОПИСАНИЕ
rm [OPTION]... FILE...
ОПИСАНИЕ
rm removes each file. By default, it does not remove directories.
If a file is unwritable, the standard input is a tty, and the -f or
--force option is not given, rm prompts the user for whether to remove
the file. If the response is not affirmative, the file is skipped.
ОПЦИИ
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files, never prompt
-i, --interactive
prompt before any removal
--no-preserve-root do not treat '/' specially (the default)
--preserve-root
fail to operate recursively on '/'
-r, -R, --recursive
remove directories and their contents recursively
-v, --verbose
explain what is being done
--help display this help and exit
--version
output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or
-R) option to remove each listed directory, too, along with all of its
contents.
To remove a file whose name starts with a '-', for example '-foo', use
one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to
recover the contents of that file. If you want more assurance that the
contents are truly unrecoverable, consider using shred.
Попробуйте так:
cd dir-to-delete
find ./ -exec rm -rf {} \;