Как удалять файлы и каталоги с помощью командной строки Linux

Длинный у нас получился заголовок получился, но он указывает на суть проблемы, которая будет здесь описана. Недавно я столкнулся с не очень хорошей ситуацией. Сортируя на жёстком диске и очищая его от ненужного, я обнаружил, что один из файлов не удаляется, а появляется ошибка следующего содержания: «Файловая система не поддерживает такие длинные имена исходных файлов. Попробуйте перенести файл в папку с меньшей длиной пути или укажите более короткое имя файла и повторите попытку».

Слишком длинный путь к источнику — почему?

Сразу хочу объяснить, почему появляется такое системное предупреждение и не удаётся произвести с файлом (папкой) элементарные действия копирования или удаления…

В самом уведомлении написан ответ на этот вопрос — файловая система Windows не поддерживает (не понимает) имена исходных файлов длиннее 255 символов.

Но имя файла или папки у Вас короткое, например, «Фото из отпуска»? Дело в том, что «глупая» система воспринимает весь путь к файлу как его имя. Если Ваш файл или папка лежат где-то слишком глубоко в файловом менеджере, то его имя для неё будет выглядеть примерно так…

Вот и собираются символы имени в банду из более 255 штук.

Как удалить неудаляемый файл или папку в таком случае? Очень просто — нужно сократить имя файла (пути) методом переименования вложенных друг в друга папок.

Что такое длинные имена файлов?

Длинные имена файлов унаследованы от Windows 95 и ее архитектуры MS-DOS. Система LFN указала имена файлов и каталогов длиной до 255 символов. Это было изменение по сравнению с более старым соглашением об именах файлов 8.3, состоящее максимум из восьми символов (после любого пути к каталогу), за которым, возможно, добавлялось расширение имени файла, состоящее из точки [.] И не более трех символов.

Поскольку Windows обладает обратной совместимостью, мы будем использовать это «взаимопревращение» между двумя системами именования файлов, чтобы решить нашу проблему, потому что иногда имена файлов выходят за установленные для них ограничения.

Многие программы для Windows ожидают максимальная длина пути быть короче 255 символов. Это ограничение исключает путь к файлу, под которым он находится. Но когда вы копируете файл из одного места, он учитывает весь путь к файлу.

Файлы со слишком длинными именами файлов могут быть продуктом других операционных систем. Он также может быть создан как файл кэша стороннего программного обеспечения. Или это может быть медиа-файл с очень длинным именем. Иногда эти файлы также создаются, если они существуют в более глубоких каталогах, таких как сетевой ресурс.

Вы можете управлять такими файлами с помощью программного обеспечения, которое их создало. Но если это не поможет, вот гораздо более простое решение.

Что делать, если слишком длинный путь к источнику, как удалить такой файл?

При наличии файла, который не удаляется из-за длинного имени, решить проблему можно несколькими вариантами. Например, файл вложен в несколько каталогов, допустим, пять или даже десять папок, которые имеют названия по 10-20 знаков, то это и может быть причиной не удаления файла. Дело в том, что Windows не поддерживает любые файлы, в названиях которых больше 260 символов. Если этот предел превышен, то появится ошибка, которую я показал выше. Количество папок, имеющие свои названия и само имя файла в сумме должны давать менее 260 символов. В системе также есть одна особенность – при превышении этого ограничения мы всё-таки можем переименовывать папки. А это значит, что необходимо переименовать все папки на короткое имя, например, буква или цифра.

Такая проблема может появиться не только из-за того, что вы дали такое длинное название. У меня это произошло тогда, когда я решил загрузить себе файлы сайты с сервера и кое-что сделать. Так как файлы уже были не нужны, я удалил весь каталог с файлами сайта, но как оказалось он содержал файл с очень длинным именем, плюс названия папок и это не дало мне всё это удалить.

Метод второй поможет, если с первым не удалось. Дело в том, что не все папки, ведущие к файлу с длинным именем, могут переименовываться и будет вылетать всё так же ошибка файловой системы. Тогда вы можете создать виртуальный диск, используя любую из вложенных папок, ведущих к не удаляемому файлу. Сейчас я покажу, как это сделать.

Что делать, если слишком длинный путь к источнику, как удалить такой файл?

Открываем командную строку. Для этого нажимаем сочетание Win+R и вводим команду cmd . Можно нажать правой кнопкой мыши по меню Пуск (Либо сочетание клавиш Win+X) и выбрать там командную строку.

Читайте также:  Как максимально сжать файлы в ZIP, RAR или 7z (7-zip) архив

Теперь вы пишите такую команду, которая сделает для нас виртуальный диск:

Нужно выбрать такую букву диска, которая не занята другими. Системный раздел обычно указывается буков C, а второй раздел, как D или E, тогда выбираем любую другую.

Путь к папке нужно указывать от диска. Если у вас это вызывает сложность, то откройте ту папку, которая будет выступать в качестве виртуального диска и в проводнике вверху скопируйте путь до неё.

У меня эта команда выглядит следующим образом:

Когда мы зайдем в Мой компьютер, то там вы должны увидеть диск, с той буквой, которую мы ей присвоили из командной строки. Таким образом, путь к файлу сократиться практически в два раза, а это значит, что общая длинна символов может составлять менее 260 знаков. Теперь вы можете попробовать избавиться от неудаляемого.

Что делать, если слишком длинный путь к источнику, как удалить такой файл?

Для того, чтобы виртуальный диск удалить нужно ввести команду:

subst БукваДиска /d

Как удалить каталог в linux через терминал

Как удалить пустую папку в Linux через терминал

Если вам нужно удалить пустую папку в Linux через терминал, то для этого проще всего использовать команду rmdir. Данная команда используется для удаления пустых папок из файловой системы Linux. Каталоги с файлами или другими каталогами данная команда не удаляет.

Синтаксис команды rmdir выглядит следующим образом:

rmdir [-p] [-v | —verbose] [—ignore-fail-on-non-empty] directories …

Разберем доступные параметры подробней:

rmdir —help Получение справки о команде rmdir rmdir -p Удаление всех пустых папок по всему указанному пути. rmdir -v или rmdir —verbose Вывод подробной информации о всех удаляемых объектах. rmdir —ignore-fail-on-non-empty Игнорирование ошибок, которые возникают при попытке удаления не пустых папок.

Для того чтобы просто удалить пустую папку нужно ввести «rmdir foldername». Где «foldername» это название удаляемого объекта. При желании можно удалить сразу несколько папок, для этого достаточно перечислить их через пробел.

Если необходимо удалить каталог, в котором есть другие каталоги (без файлов), то можно воспользоваться параметром «-p». Для этого нужно ввести «rmdir -p» и указать полный путь. Например, если в каталоге folder1 есть другой каталог folder2, то мы можем удалить их сразу одной командой «rmdir -p folder1/folder2».

При использовании параметра «-v» в консоль будет выведена подробная информация о процессе удаления каталогов.

А при использовании параметра «ignore-fail-on-non-empty» команда будет игнорировать ошибки, которые будут возникать при попытке удаления непустых каталогов.

Нужно отметить, что также существует команда «mkdir», которая предназначена для создания папок и обладает точно таким же синтаксисом.

С ее помощью вы можете создать папки по одной или целым деревом (при использовании параметра «-p»).

Как удалить папку с содержимым (с файлами) в Linux

Если нужно удалить папку с каким-то содержимым, например, с файлами, то тут уже нужно использовать команду «rm». Данная Linux команда предназначена для удаления файлов, но с ее помощью можно удалять и каталоги, если использовать параметр «-r», который включает рекурсивное удаление.

Синтаксис команды rm выглядит следующим образом:

rm [OPTION]… FILE…

Разберем основные параметры команды rm:

-f, —force Игнорировать несуществующие файлы, ничего не спрашивать. -i Спрашивать перед каждым удалением. -I Спрашивать перед удалением более чем 3 файлов и при использовании рекурсивного удаления. -r, -R, —recursive Удаление каталогов и их содержимого рекурсивно. -v, —verbose Вывод информации об удаляемых каталогах. —help Вывод справочной информации о команде. —version Вывод информации о версии.

Для удаления папок с файлами нам нужно использовать параметр «-r». Введите «rm -r» и укажите название папки, которую нужно удалить. Например, если у нас есть каталог folder1 с какими-то файлами, то мы можем ее удалить, введя команду «rm -r folder1»

Если необходимо, чтобы удаление папок сопровождалось запросом, то вместе с параметром «-r» можно использовать параметр «-i». В этом случае каждая операция, которую будет выполнять команда, будет требовать разрешения пользователя. При этом команда для удаления папки folder1 будет выглядеть как «rm -ri folder1».

Обратите внимание, во всех примерах предполагается, что удаляемый объект находится в текущей папке. Но, при необходимости вы можете удалять каталоги используя полный путь.

Например, вы можете указать «rm -rv /home/aleks/folder1» для того, чтобы удалить папку folder1 с выводом подробной информации.

Как удалить все файлы в папке Linux

В некоторых случаях может возникнуть необходимость удалить все файлы в папке при этом не удаляя саму папку. Для решения такой задачи можно использовать вот такую команду «rm -rf /path/to/directory/*». Данная команда удалит все файлы и папки (рекурсивно удалит все содержимое) по указанному пути.

Если же нужно удалить все файлы в папке, но оставить вложенные папки, то это можно сделать командой «rm -f /path/to/directory/*».

Альтернативный вариант — это удаление самой папки со всем содержимым (включая скрытые файлы и каталоги) и повторное ее создание.

Читайте также:  Как обновить операционную систему Windows XP

Для этого подойдет команда «rm -rf foldername && mkdir foldername».

Слишком длинный путь к источнику? Используйте SuperDelete для удаления файлов, содержащих такие ошибки в Windows

РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы исправить ошибки Windows и оптимизировать производительность системы.

Вы когда-нибудь видели ошибку в Windows File Explorer, которая говорит, что файл, который вы обрабатываете, имеет длинный путь ? Это потому, что Windows поддерживает только пути меньше 260, У вас могут быть файлы с путями, превышающими эту длину, но Windows Explorer не сможет выполнить определенные действия с этим файлом. В большинстве случаев источником этих файлов являются другие операционные системы и среды, в которых эти файлы поддерживаются и выполняются. Если вы хотите удалить такие файлы с вашего компьютера, мы разработали небольшую утилиту под названием «SuperDelete«Это может помочь вам.

Слишком длинный исходный путь

Затем вы можете получить диалоговое окно «Слишком длинный путь к источнику». Microsoft предлагает вам попробовать переместить файл в другое место. Но если это не поможет, используйте SuperDelete.

Удалите файлы с длинными путями с помощью SuperDelete

Теперь мы рекомендуем использовать этот инструмент для вашей ошибки. Кроме того, этот инструмент исправляет распространенные компьютерные ошибки, защищает вас от потери файлов, вредоносных программ, сбоев оборудования и оптимизирует ваш компьютер для максимальной производительности. Вы можете быстро исправить проблемы с вашим ПК и предотвратить появление других программ с этим программным обеспечением:

  • Шаг 1: Скачать PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista — Microsoft Gold Certified).
  • Шаг 2: Нажмите «Начать сканирование”, Чтобы найти проблемы реестра Windows, которые могут вызывать проблемы с ПК.
  • Шаг 3: Нажмите «Починить все», Чтобы исправить все проблемы.

SuperDelete — это бесплатная утилита командной строки для Windows, которая позволяет удалять файлы и папки с очень длинными путями. Эта утилита очень полезна, если проводник Windows не может удалить некоторые нежелательные файлы, путь которых длиннее символов 260.

Этот небольшой инструмент очень прост в использовании и настройке. Все, что вам нужно сделать, это загрузить скрипт, открыть окно CMD и выполнить команды для удаления файлов. SuperDelete поддерживает файлы с путем до символов 32767, которые значительно превышают стандартный предел символов 260. Таким образом, инструмент должен работать достаточно хорошо для обычных пользователей.

Если у вас есть права администратора, вы также можете пропустить все элементы управления ACL и напрямую удалить файл или папку. ACL или Access Control List — это список записей управления доступом, которые определяют права доступа к объекту для опекуна.

Чтобы начать, перейдите в раздел релиза репозитория GitHub и загрузите последний исполняемый файл. При желании вы можете загрузить исходный код, если хотите интегрировать SuperDelete в свои проекты или скомпилировать его самостоятельно. Получив исполняемый файл, откройте окно PDC в этой папке. Теперь вы можете запустить следующие команды для удаления файла или папки:

Слишком длинный путь к источнику? Используйте SuperDelete для удаления файлов, содержащих такие ошибки в Windows

путь

В приведенной выше команде путь — это полный путь к файлу или папке, которые вы хотите удалить. При выполнении этой команды отображается подтверждающее сообщение. Подтвердите запрос, и ваш файл будет удален с вашего компьютера.

-s Путь

Эта команда работает аналогично, с той лишь разницей, что она не отображает подтверждение. Он будет продолжен напрямую и удалит файл без запроса.

—bypassacl путь

Эта команда реализует функцию, о которой мы говорили в этом посте. Если у вас есть права администратора на диске, вы можете обойти все проверки ACL, даже если у вас недостаточно прав в списке ACL для удаления этого файла. Это полезно при перемещении диска с другого компьютера или установки Windows.

SuperDelete — это удивительный маленький инструмент, который делает свою работу. Инструмент полностью работает из командной строки, и некоторым пользователям может быть трудно получить к нему доступ. Но в целом этот инструмент работает, когда вы удаляете файлы с длинными путями, к которым Windows Explorer не может получить доступ.

Нажмите здесь, скачать SuperDelete.

Вы также можете попробовать Long Path Fixer для Windows 10. С помощью этого инструмента вы можете исправить все слишком длинные ошибки на вашем компьютере с Windows. У инструмента также есть пользовательский интерфейс, который позволяет легко перемещать или удалять файлы с длинными путями. TLPD также является искателем длинных путей к файлам для обнаружения файлов с длинными путями.

РЕКОМЕНДУЕМЫЕ: Нажмите здесь, чтобы устранить ошибки Windows и оптимизировать производительность системы

Используем архиватор 7-Zip

Для этого дела нам понадобится архиватора 7-Zip. Нажимаем правой кнопкой мыши по начальному каталогу и направляем мышь на раздел «7-Zip» и выбираем пункт «Добавить к архиву» .

Появляется окно, в котором вам нужно отметить только одну галочку «Удалять файлы после сжатия» . Потом нажимаете ОК.

Используем архиватор 7-Zip

На рабочем столе создаётся архив всего этого добра, а папки с длинным файлом просто удаляются. Сам же архив вы можете удалить без проблем.

Вот такие способы по исправлению ошибки не удаляемого файла мы рассмотрели. Может быть у вас есть еще варианты, как можно это сделать?

Используем архиватор 7-Zip

Для этого дела нам понадобится архиватора 7-Zip. Нажимаем правой кнопкой мыши по начальному каталогу и направляем мышь на раздел «7-Zip» и выбираем пункт «Добавить к архиву».

Читайте также:  WIM Witch: настройка образов Windows 10 с графическим интерфейсом

Появляется окно, в котором вам нужно отметить только одну галочку «Удалять файлы после сжатия». Потом нажимаете ОК.

На рабочем столе создаётся архив всего этого добра, а папки с длинным файлом просто удаляются. Сам же архив вы можете удалить без проблем.

Вот такие способы по исправлению ошибки не удаляемого файла мы рассмотрели. Может быть у вас есть еще варианты, как можно это сделать?

Мы в социальных сетях:

Не забывайте подписываться на RSS рассылку, а также вступайте в нашу группу Вконтакте. Вы можете стать читателем нашего твиттера и страницы в Google+. А еще у нас есть страничка в Facebook, на которую вы тоже можете подписаться.

Настройка Windows на обработку длинных путей к файлам

Если вы знаете, что будете часто использовать длинные пути к файлам и длинные имена файлов, вам будет проще заставить Windows работать. Нет смысла использовать PowerShell для выполнения работы каждый день.

Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.

Настройка Windows на обработку длинных путей к файлам

Параметры для Windows 10 Home

Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.

Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.

Настройка Windows на обработку длинных путей к файлам

Открыв редактор реестра и сделав резервную копию, перейдите в папку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem и найдите ключ LongPathsEnabled.

Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.

Выйдите из редактора реестра, и теперь вы сможете работать с безумными длинными путями к файлам.

Настройка Windows на обработку длинных путей к файлам

Параметры для Windows 10 Pro или Enterprise

Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.

Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав gpedit . Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.

Настройка Windows на обработку длинных путей к файлам

После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.

Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.

Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.

Настройка Windows на обработку длинных путей к файлам

Удаление с помощью утилиты DeleteLongPath

Если нужно удалить папку, которая вложена по слишком длинному пути, попробуйте сделать это с помощью бесплатной утилиты DeleteLongPath. Она предназначена для удаления структуры папок и всех содержащихся в ней вложенных объектов.

Сделайте запрос в интернете «DeleteLongPath» и перейдите на указанный сайт.

После загрузки извлеките файл из zip-архива и откройте.

Кликните на кнопку «Обзор», чтобы указать расположение папки, и нажмите на «Удалить». В следующем окне подтвердите действие, и дождитесь завершения удаления.

Как в Windows включить поддержку пути к файлам длиной более символов

Благодаря Anniversary Update для Windows 10 вы можете, наконец, отказаться от ограничения максимального пути в 260 символов в Windows. Вам просто нужно внести небольшие изменения в реестр Windows или групповую политику. Далее рассказано, как это сделать.

До Windows 95, операционная система Windows допускала только имена файлов длиной восемь символов с расширением файла из трёх символов, обычно называемое именем файла 8.3. Windows 95 отказалась от этого, чтобы разрешить длинные имена файлов, но по-прежнему ограничивала максимальную длину пути (которая включает полный путь к папке и имя файла) не более 260 символами. Этот предел был установлен тогда и действует до сих пор. Если вы когда-либо сталкивались с этим ограничением, скорее всего, это было, когда вы пытались скопировать папки с глубоким вложением в другие папки, например, при копировании содержимого жёсткого диска в папку на другом диске. В Windows 10 Anniversary Update наконец добавлена возможность отказаться от этой максимальной длины пути.

Есть одна оговорка. Этот новый параметр не обязательно будет работать с каждым приложением, но он будет работать с большинством. В частности, любые современные приложения должны быть в порядке, как и все 64-битные приложения. Более старые 32-битные приложения должны быть подготовлены специальным образом, что на самом деле означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. У большинства популярных 32-битных приложений проблем не должно быть. Тем не менее вы ничем не рискуете если выполните эту настройку. Если приложение не работает, единственное, что произойдёт, это то, что оно не сможет открывать или сохранять файлы, сохранённые в местах, где полный путь превышает 260 символов.