
Як я можу видалити файл, який є, але система каже, що його немає?


Як я можу видалити файл, який є, але система каже, що його немає?

Відповіді:
Я знаю, що це по-старому, але у мене була така ж проблема, як у вас, тільки з папкою, а не з файлом. Жоден із запропонованих тут методів не працював.
Мені вдалося вирішити проблему, створивши папку в тому самому положенні та з тим самим іменем, що та, яку я не міг видалити. Папка створена правильно і вона "замінила" неіснуючу. Тоді я просто видалив нову папку і проблеми не було. Просто як це.
У мене була така ж проблема. Це була проблема в індексних записах розділу. Я вирішив це шляхом запуску Windows, якщо ваша система є подвійним завантаженням або вставити живий компакт-диск Windows XP або Windows 7, а потім виконайте наступні дії:
cmdклацніть правою кнопкою миші -> Запустити як адміністратор. chkdsk /f/x D: (де D - ваша літера диска). 100% працює
Попередження. Ці інструкції потребують використання
debugfs. Вони можуть спричинити втрату даних.Вони адаптовані до оригінальної проблеми і можуть бути або не бути точними для будь-яких майбутніх відвідувачів на цій сторінці. Будь-яка втрата даних може бути непоправною або навіть посилена
fsck.
Це може бути втрачена індея. Будь ласка, запустіть, ls -liщоб отримати список номерів inode, тоді ви можете спробувати скинути згаданий inode. Наприклад, якщо ваше 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як корінь:
rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
[sudo] password for rarkenin:
debugfs 1.42 (29-Nov-2011)
debugfs:
і дайте команду open /dev/sda1з правильним блоковим пристроєм для вашого розділу.
Потім дайте команду скинути вклад, чий номер ви отримали раніше:
cat <4980758>
за допомогою <і >навколо номера inode.
Якщо він прочитає якийсь випадковий текст, закрийте термінал і відкрийте його знову. Запустіть debugfsще раз і дайте openкоманду знову.
Тепер ви можете спробувати видалити файл. Це може призвести до серйозної пошкодження файлової системи.
debugfs: rm [filename]
debugfs: unlink [filename]
debugfs: kill_file [filename]
debugfs: kill_file <inode>
Зауважте, що це можна зробити, навіть якщо виявляється, що у файлі ніколи не було inode. Спробуйте команди по черзі у порядку, показаному вище. Вийдіть з налагодження та перевірте, чи існує файл. Якщо ні, почніть знову, але дотримуйтесь наступної інструкції.
debugfsпризначений лише для типів файлової системи ext2, ext3 та ext4.
покажіть нам термінал .... зробіть ll | grep panoramaі покажіть нам це; додайте його до свого питання ...
Моя пропозиція - це зробити як корінь rm -f panorama.jpg .
в людині РМ я знайшов це:
-f, --force
ignore nonexistent files, never prompt
Спочатку увійдіть як root з sudo -s
Ви можете спробувати зробити rm -v <file>і подивитися багатослівний вихід, щоб побачити, що відбувається під час його спроби видалити файл. Ознайомтеся з параметрами команди нижче.
Якщо це не вдасться, ви можете скористатися опцією сили, як сказали всі. Ви також можете спробувати видалити весь каталог, вимусивши рекурсивне видалення:rm -rfv **full directory address here**
З посібника з командування UNIX:
СИНОПИС
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.
Дивлячись на ваші скріншоти, я бачу, що ви встановили групу як root. Я б спробував використати chown і побачити, чи вирішує він проблему.
sudo chown -hR [username]:[username] /home/[username]
Заміна [ім'я користувача] на ваше ім'я користувача.
Ви отримаєте пару помилок.

Недруковані символи у іменах можуть спричинити такі проблеми - як пробіл. Спробуйте інтерактивну опцію ет, і сказати , «Y» файл , який ви хочете видалити »
ет -i" * каструля * "Зверніть увагу на використання * s , щоб відповідати будь-якому (навіть і НЕ printint) символи.
Може бути инод було видалено, але не запис каталогу. Спробуйте ls -i, щоб побачити вставки. fsck файлова система, щоб виправити подібну проблему.
Спробуйте таким чином:
cd dir-to-delete
find ./ -exec rm -rf {} \;
У мене була така ж проблема з файлом, створеним спеціальною веб-базою EMR (електронний медичний запис) під хромом. sudo touch /forcefsckпісля чого перезапуск працював для мене та ароматично видаляв файл. Візьмемо довідкову форму на наступних сторінках
Linux Mint 18.3 Мій неіснуючий файл був ¨filename.pdf.crdownload¨ Він відображався на моєму робочому столі у вигляді пакету, тобто zip-файлу в Windows говорять. Для чортви цього я зробив правою кнопкою миші, Властивості, Відкрити з, яка показала нульові програми, тому я змінив її на "Відкрити за допомогою" Менеджера архівів ". Одразу файл зник з мого робочого столу. кб