Видалити файл неможливо - такого файлу чи каталогу немає


12

Я один раз видалив її, але привид все ще є :)

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

Вкладка Дозволи - спробували змінити її, але вона відновиться автоматично Це відбувається, коли я натискаю "Видалити"


Це попередження. Що написано, якщо ви вибрали "Видалити"?
Марті Фрід

Клацніть файл правою кнопкою миші, виберіть "Властивості", відкрийте вкладку "Дозволи". Візьміть скріншот і опублікуйте його тут.
Ерік Карвальо

Чи можете ви перемістити інші файли у кошик? Чи видаляється файл у тій же файловій системі, що і домашня файлова система? Чи існує каталог ~ / .Trash / існує?
Джон С Грубер

Джон, я можу нормально переміщувати інші файли у кошик, просто цей створює мені проблеми.
Валеріу

Ви намагалися видалити його з терміналу? sudo rm panorama.jpg
David M. Sousa

Відповіді:


3

Я знаю, що це по-старому, але у мене була така ж проблема, як у вас, тільки з папкою, а не з файлом. Жоден із запропонованих тут методів не працював.

Мені вдалося вирішити проблему, створивши папку в тому самому положенні та з тим самим іменем, що та, яку я не міг видалити. Папка створена правильно і вона "замінила" неіснуючу. Тоді я просто видалив нову папку і проблеми не було. Просто як це.


Тут найпростіше рішення, якщо це фактично позбудеться всієї проблеми.
освітлення

2

У мене була така ж проблема. Це була проблема в індексних записах розділу. Я вирішив це шляхом запуску Windows, якщо ваша система є подвійним завантаженням або вставити живий компакт-диск Windows XP або Windows 7, а потім виконайте наступні дії:

  1. Шукайте COMMAND PROMPT, що: cmdклацніть правою кнопкою миші -> Запустити як адміністратор.
  2. chkdsk /f/x D: (де D - ваша літера диска).
  3. Натисніть Y, якщо він запитує Y / N
  4. Перевірте свій диск на файл, який потрібно видалити. Можливо, його видалено або ви можете його видалити.

100% працює


2

Попередження. Ці інструкції потребують використання 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, як показано у списку як перший стовпець.

Потім ви можете спробувати скинути вклад. Будь ласка, прочитайте всю публікацію, перш ніж робити що- небудь .

  1. Почати debugfsяк корінь:

    rarkenin@ubuntu-alt-64-vbox-1:~$ sudo debugfs
    [sudo] password for rarkenin: 
    debugfs 1.42 (29-Nov-2011)
    debugfs:  
    

    і дайте команду open /dev/sda1з правильним блоковим пристроєм для вашого розділу.

  2. Потім дайте команду скинути вклад, чий номер ви отримали раніше:

    cat <4980758>
    

    за допомогою <і >навколо номера inode.

  3. Якщо він прочитає якийсь випадковий текст, закрийте термінал і відкрийте його знову. Запустіть debugfsще раз і дайте openкоманду знову.

  4. Тепер ви можете спробувати видалити файл. Це може призвести до серйозної пошкодження файлової системи.

    debugfs: rm [filename]
    
    debugfs: unlink [filename]
    
    debugfs: kill_file [filename]
    
    debugfs: kill_file <inode>
    

Зауважте, що це можна зробити, навіть якщо виявляється, що у файлі ніколи не було inode. Спробуйте команди по черзі у порядку, показаному вище. Вийдіть з налагодження та перевірте, чи існує файл. Якщо ні, почніть знову, але дотримуйтесь наступної інструкції.

Зробіть резервну копію, якщо це можливо!


Не працює для моєї файлової системи NTFS
Suici Doga,

@SuiciDoga debugfsпризначений лише для типів файлової системи ext2, ext3 та ext4.
нанофарад

0

покажіть нам термінал .... зробіть ll | grep panoramaі покажіть нам це; додайте його до свого питання ...

Моя пропозиція - це зробити як корінь rm -f panorama.jpg .

в людині РМ я знайшов це:

-f, --force
              ignore nonexistent files, never prompt

Спробував це кілька разів, і з -f і --force Це не допомогло!
Валерій

0

Спочатку увійдіть як 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.

0

Дивлячись на ваші скріншоти, я бачу, що ви встановили групу як root. Я б спробував використати chown і побачити, чи вирішує він проблему.

sudo chown -hR [username]:[username] /home/[username]

Заміна [ім'я користувача] на ваше ім'я користувача.

Ви отримаєте пару помилок.

приклад


mywebslave, я зробив те, що ви запропонували, показав мені те саме "Дозвіл відмовлено", як на екрані екрана. Ще не вдається видалити проклятий файл.
Валеріу

0

Недруковані символи у іменах можуть спричинити такі проблеми - як пробіл. Спробуйте інтерактивну опцію ет, і сказати , «Y» файл , який ви хочете видалити »
ет -i" * каструля * "Зверніть увагу на використання * s , щоб відповідати будь-якому (навіть і НЕ printint) символи.
Може бути инод було видалено, але не запис каталогу. Спробуйте ls -i, щоб побачити вставки. fsck файлова система, щоб виправити подібну проблему.


Забавно! Ось вихід: pastebin.com/kjCyX0yB
Валерій


0

Як сказав ubfan1, недруковані символи у іменах можуть викликати такі проблеми.

  1. дотик
  2. рм

працював на мене, оскільки "touch" переосмислив пошкоджений файл.


0

У мене була така ж проблема з файлом, створеним спеціальною веб-базою EMR (електронний медичний запис) під хромом. sudo touch /forcefsckпісля чого перезапуск працював для мене та ароматично видаляв файл. Візьмемо довідкову форму на наступних сторінках

  1. https://ubuntuforums.org/archive/index.php/t-1673273.html
  2. Примушувати безпеку fsck?

0

Linux Mint 18.3 Мій неіснуючий файл був ¨filename.pdf.crdownload¨ Він відображався на моєму робочому столі у вигляді пакету, тобто zip-файлу в Windows говорять. Для чортви цього я зробив правою кнопкою миші, Властивості, Відкрити з, яка показала нульові програми, тому я змінив її на "Відкрити за допомогою" Менеджера архівів ". Одразу файл зник з мого робочого столу. кб

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.