Linux: как удалить и создать папку, сделать файлы общедоступными

Удаление папки и ее содержимого из командной строки.

Как удалить каталог Linux

Существует несколько команд, которые вы можете использовать для удаления каталога Linux. Рассмотрим их все более подробно. Самый очевидный вариант — это утилита rmdir. Но с помощью нее можно удалять только пустые папки:

rmdir моя_папка

Другая команда, которую можно применить — это rm. Она предназначена для удаления файлов Linux, но может использоваться и для папок если ей передать опцию рекурсивного удаления -r:

rm -R моя_папка

Такая команда уже позволяет удалить непустой каталог Linux. Но, можно по-другому, например, если вы хотите вывести информацию о файлах, которые удаляются:

rm -Rfv моя_папка

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

rm -Rfv /var/www/public_html

Читайте подробнее про пути в файловой системе в статье путь к файлу Linux.  Теперь вы знаете как удалить непустой каталог в консоли linux, далее усложним задачу, будем удалять папки, которые содержат определенные слова в своем имени:

find . -type d -name «моя_папка» -exec rm -rf {} ;

Подробнее про команду find смотрите в отдельной статье. Если кратко, то -type d указывает, что мы ищем только папки, а параметром -name задаем имя нужных папок. Затем с помощью параметра -exec мы выполняем команду удаления. Таким же образом можно удалить только пустые папки, например, в домашней папке:

find ~/ -empty -type d -delete

Как видите, в find необязательно выполнять отдельную команду, утилита тоже умеет удалять. Вместо домашней папки, можно указать любой нужный вам путь:

find /var/www/public_html/ -empty -type d -delete

Перед удалением вы можете подсчитать количество пустых папок:

find /var/www/public_html/ -empty -type d | wc -l

Другой способ удалить папку linux с помощью find — использовать в дополнение утилиту xargs. Она позволяет подставить аргументы в нужное место. Например:

find ~/ -type f -empty -print0 | xargs -0 -I {} /bin/rm «{}»

Опция -print0 выводит полный путь к найденному файлу в стандартный вывод, а затем мы передаем его команде xargs. Опция -0 указывает, что нужно считать символом завершения строки , а -I — что нужно использовать команду из стандартного ввода.

Если вы хотите полностью удалить папку Linux, так, чтобы ее невозможно было восстановить, то можно использовать утилиту wipe. Она не поставляется по умолчанию, но вы можете ее достаточно просто установить:

sudo apt install wipe

Теперь для удаления каталога Linux используйте такую команду:

wipe -rfi ~/моя_папка/*

Опция -r указывает, что нужно удалять рекурсивно все под папки, -f — включает автоматическое удаление, без запроса пользователя, а -i показывает прогресс удаления. Так вы можете удалить все файлы в папке linux без возможности их восстановления поскольку все место на диске где они были будет несколько раз затерто.

Комментарии

Voland

Активный пользователь

Активный

03.02.2011
21:05

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

rm -r /путь/до/папки/*
удалит только содержимое папки.

deburger

Активный пользователь

Активный

04.02.2011
18:32

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

я вот привык как-то так:

$ rm -f папка

сносит без лишних фопросов )

deburger

Активный пользователь

Активный

04.02.2011
18:34

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

очепятнулся… ключ -rf конечно-же )

Dober

10.03.2011
21:32

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

цитата с лурка:
-Ключ -r — recursively (рекурсивно) — позволяет удалять каталоги со всем содержимым, без этого ключа команда отвечает «каталог не пуст».
-Ключ -f — force — не спрашивать подтверждения (вообще команды Linux не страдают обычным маздаевским назойливым переспрашиванием «а Вы точно уверены?», это редкое исключение (и то, только потому, что почти всегда по умолчанию в .bashrc прописано alias rm=’rm -i’).

VadimAndy

Активный пользователь

Активный

01.08.2013
13:34

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

удаляется так rm -rf /home/username/downloads (к примеру)

shonnconnory

07.07.2016
18:40

Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий

+1

Войдите, чтобы ставить лайкимне нравится

удаляется так rm -rf /home/username/downloads (к примеру)

в моем случае пришлось еще sudo дописать в начало. И неудаляющаяся директория с крестиком исчезла навсегда.

ZyozikovicH

16.08.2015
20:52

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

«rmdir /s /q c:(путь к папке)» — и будет Вам счастье)))

VadimAndy

Активный пользователь

Активный

26.08.2015
11:31

Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий

+1

Войдите, чтобы ставить лайкимне нравится

а я что написал?

Админ

25.08.2015
10:24

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

А какой командой производится групповое удаление? Например папки 10001..10099

VadimAndy

Активный пользователь

Активный

26.08.2015
11:33

Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий

+1

Войдите, чтобы ставить лайкимне нравится

rm -rf перечисление директорий через пробел (тут берегись -rf опция — удаляет без возможностей восстановить что-либо)
попробуй
rmdir+перечисление директорий через пробел

Ranye

05.06.2016
09:13

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

sudo nautilus вводи в терминале, в проводнике удаляй — что не удаляется

алекс

23.03.2017
22:13

Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий

+1

Войдите, чтобы ставить лайкимне нравится

Так нельзя делать, это нарушает безопасность системы. sudo запускайте только для консольный текстовых команд.

VadimAndy

Активный пользователь

Активный

24.03.2017
17:57

Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийРодительский комментарий

+1

Войдите, чтобы ставить лайкимне нравится

правильнее gksu (kdesu), но и sudo тоже можно. Это не нарушается безопасность системы, но дает выполнить по с правами админа, представьте, если б на винде, вы могли использовать лишь права пользователя…

Дурень

18.09.2017
18:01

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

+1

Войдите, чтобы ставить лайкимне нравится

rm -R название-папки/ (Со знаком / в конце строки пути к папке)

Ложка хороша к обеду

24.08.2020
10:59

Постоянная ссылка на комментарийПостоянная ссылка на комментарий

Войдите, чтобы ставить лайкимне нравится

Спасибо админу за сайт и инфу. Добро!

#Поиск и удаление пустых папок

#sudo find /path -empty -type d -delete;

#sudo find /path -empty -type d -exec rmdir {} ;

Ин копилка цу нах хаузэ

Команда rmdir

Команда, используемая, чтобы удалить пустую папку в Linux через командную строку — это rmdir.

Основной синтаксис этой команды довольно простой. Вот пример:

rmdir [опция] НазваниеПапки

  • rmdir — это команда
  • [опция] — опциональный модификатор, который изменяет поведение команды
  • НазваниеПапки — каталог, который вы хотите удалить

Если опция не указана, rmdir просто удаляет каталог, имя которого указано в качестве места назначения. Перед использованием этой команды вам нужно будет войти на сервер VPS через SSH. Вот статья, которая поможет вам это сделать.

Удаление Папки в Linux с Помощью Команды rmdir

Перед использованием команды rmdir мы рекомендуем вам проверить список файлов в каталоге с помощью команды ls. В нашем случае у нас есть каталог с названием Dir1.

rmdir Dir1

Эта команда удалит пустой каталог с именем Dir1. Довольно просто, правда?

Вы также можете удалить несколько каталогов, разделив их имена пробелами. Например:

rmdir Dir1 Dir2 Dir3

После выполнения этой команды каталоги с именами Dir1, Dir2 и Dir3 будут удалены.

Допустим, у нас есть папка Dir3. Dir3 содержит подкаталоги и файлы. Теперь, если мы используем команду:

rmdir Dir3

То получим ошибку:

rmdir: failed to remove ‘dir3’: Directory not empty

Как вы уже могли догадаться, rmdir работает только с пустыми каталогами.

Rmdir — умная утилита, которая позволяет удалять только пустые папки. Таким образом, она защищает данные от случайной потери. Помните, что удалённые данные в любом дистрибутиве Linux практически невозможно восстановить.

Опция -p позволяет удалить папку через командную строку, а также её родительские каталоги.

rmdir -p Dir1/Dir2/Dir3

Эта команда удалит Dir3 и его родительские каталоги Dir2 и Dir1.

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

Удаляем папки с помощью графического интерфейса

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

По возможности все-таки используйте терминал. Со временем вы поймете, что так намного быстрее и удобнее.

Вот как можно удалить файлы из операционной системы Ubuntu (для других дистрибутивов инструкция может выглядеть несколько иначе, но тут самое главное уловить суть, а уж с названием программ и файлов вы точно разберетесь самостоятельно).

  • Открываем встроенный в ваш дистрибутив файловый менеджер. Чаще всего он так и называется — «Файлы».
В Ubuntu, например, файловый менеджер закреплен в боковой панели. В оболочках типа Gnome 3 сначала нужно открыть список установленных программВ Ubuntu, например, файловый менеджер закреплен в боковой панели. В оболочках типа Gnome 3 сначала нужно открыть список установленных программ

В Ubuntu, например, файловый менеджер закреплен в боковой панели. В оболочках типа Gnome 3 сначала нужно открыть список установленных программ

  • Ищем файл, который нужно стереть и кликаем по нему правой кнопкой мыши.
Все так же, как в Windows или macOSВсе так же, как в Windows или macOS

Все так же, как в Windows или macOS

  • Затем кликаем по строчке «Переместись в корзину».
Как видно на скриншоте, вместо контекстного меню можно использовать клавишу DeleteКак видно на скриншоте, вместо контекстного меню можно использовать клавишу Delete

Как видно на скриншоте, вместо контекстного меню можно использовать клавишу Delete

  • Затем ищем корзину в файловом менеджере или на рабочем столе и кликаем по ней правой кнопкой мыши.
  • Нажимаем на кнопку «Очистить корзину».
Эта кнопка безвозвратно удалит все файлы, хранящиеся в корзинеЭта кнопка безвозвратно удалит все файлы, хранящиеся в корзине

Эта кнопка безвозвратно удалит все файлы, хранящиеся в корзине

  • На этом все. Как видите, все работает так же, как в Windows.

linux-logoСинтаксис команды rmdir

rmdir удаляет директорию(и) только если они не содержат файлов. Синтаксис команды довольно прост:

rmdir directory-name
rmdir [option] directory-name

Примеры

Откройте терминал и введите следующую команду чтобы удалить директорию /tmp/docs:

rmdir /tmp/docs

Если директория содержит файлы, то команда выдаст ошибку:

$ rmdir letters
rmdir: letters: Directory not empty

Вы можете зайти в директорию и узнать что за файлы там хранятся:

$ cd letters
$ ls

В следующем примере, удалим директорию data, foo и bar. Структура этих директорий следующая: data содержит только директорию foo, которая, в свою очередь, содержит только директорию bar, которая пуста. Удалить сразу все эти директорию можно следующей командой:

cd /home/nixcraft
rmdir -p data/foo/bar

Где,

  • Параметр -p указывает команде, чтобы было произведено удаление пустых директорий по всему указанному пути. Т.е. в нашем примере будет удалены все три директории, т.к. они не содержат никаких файлов, а только пустые вложенные директории.

Как выполнить на Linux удаление файла через терминал с помощью «rm»

Терминал на линукс представляет собой специализированный софт для ввода команд, с помощью которых можно повлиять на функционирование операционки. «Rm» — одна из таких команд для удаления файлов и папок.

В Linux удалить файл можно разными способами

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

  1. Зажать на клавиатуре ПК кнопки «Ctrl + Alt + T» для запуска терминала.
  2. В строке с мигающим курсором необходимо написать «rm_название файла».
  3. Тапнуть по «Enter» и дождаться окончания процедуры.

Обратите внимание! Вместо словосочетания в кавычках пользователю потребуется прописать точное имя файла, который он решил деинсталлировать. При этом сами кавычки убирать нельзя. Команда «rm» является сокращением слова «Remove».

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

Удалить файл линукс можно и другими способами, которые будут сложнее.

Как удалить директорию через «rm»

Директория на операционных системах Linux Ubuntu представляет собой папку или архив, в котором хранится несколько элементов. Команда «rm» также позволяет их деинсталлировать в кратчайшие сроки, используя классический терминал.

Внешний вид терминала на Linux

Алгоритм осуществления такой деинсталляции во многом аналогичен тому, что был рассмотрен в предыдущем разделе:

  1. Открыть терминал операционки сочетанием кнопок на клавиатуре. Запустить встроенный в систему софт, щёлкнув по соответствующему значку в панели задач левой клавишей манипулятора.
  2. Прописать «rm», поставить пробел и вписать название нужной директории в кавычках, чтобы очистить её содержимое.
  3. Для окончательного применения внесённых изменений рекомендуется перезапустить устройство стандартным способом.

Через Терминал

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

Весь процесс работы с директориями в Убунту ведётся при помощи одной утилиты — mkdir. Она имеет не очень много функций. Прежде всего надо научится передавать ей имя элемента.

  1. Откройте Терминал сочетанием клавиш «Ctrl+Alt+T».
  2. Введите:

$ mkdir имя_папки

Новая директория будет создана в текущем каталоге (открытом сейчас в файловом менеджере).

Если требуется создать элемент в другом каталоге, имя должно иметь такой вид:

$ mkdir Родительская /Создаваемая

Также можно указать так называемый абсолютный путь к папке:

$ mkdir ~/Родительская/Создаваемая

Когда требуется создать больше одного элемента, можно сделать так:

$ mkdir {Первая_создаваемая_папка,Вторая,Третья}

Если же создаётся каталог со вложенными элементами, поможет эта команда:

$ mkdir -p ~/Загрузки/Вложенная_папка/…/…

Удаление директорий

Если нужно удалить папку, Ubuntu предоставляет следующую возможность:

$ rm -Rf /Имя_директории/Вложенная_директория

ВАЖНО. Не забывайте указывать полный путь, иначе исполняемая команда удалит всё по указанному вами адресу. 

Тщательно проверьте удаляемый каталог на отсутствие важных системных и личных файлов.

Удаление каталогов с помощью rm

rm — это утилита командной строки для удаления файлов и каталогов. В отличие от rmdir команда rm может удалять как пустые, так и непустые каталоги.

По умолчанию при использовании без каких-либо параметров rm не удаляет каталоги. Чтобы удалить пустой каталог, используйте параметр -d ( —dir ), а для удаления непустого каталога и всего его содержимого используйте параметр -r ( —recursive или -R ).

Например, чтобы удалить каталог с именем dir1 вместе со всем его содержимым, введите:

rm -r dir1

Если каталог или файл в каталоге защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить каталог без запроса, используйте параметр -f :

rm -rf dir1

Чтобы удалить сразу несколько каталогов, вызовите команду rm , после которой укажите имена каталогов, разделенные пробелом. Приведенная ниже команда удалит все перечисленные каталоги и их содержимое:

rm -r dir1 dir2 dir3

Параметр -i указывает rm запрашивать подтверждение удаления каждого подкаталога и файла. Если в каталоге много файлов, это может немного раздражать, поэтому вы можете рассмотреть возможность использования опции -I которая предложит вам только один раз, прежде чем продолжить удаление.

rm -rI dir1

Чтобы удалить каталог, введите y и нажмите Enter .

rm: remove 1 argument recursively? y

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

rm -r *_bak

Использование регулярных расширений при удалении каталогов может быть рискованным. Рекомендуется сначала перечислить каталоги с помощью команды ls чтобы вы могли видеть, какие каталоги будут удалены, прежде чем запускать команду rm .

Дополнительная информация о командах rmdir и rm

Чтобы получить дополнительную информацию по этим командам, Вы всегда можно воспользоваться следующей стандартной командой-справочником-подсказкой-документацией:

man mkdir
man rm

Редактирование прав

Чтобы изменить права на какую-либо директорию, нужно использовать дополнительные команды. Изменить права на папку Ubuntu позволяет при помощи команды «chown».

В структуре данных, которые нужно ввести в Терминал, она будет выглядеть так:

sudo chown -R user:group /home/user/dir/

где user — имя пользователя, group — группа пользователей, а далее через пробел следует директория, для которой меняются права.

В общем случае, чтобы рекурсивно редактировать в Ubuntu права на папку, служит команда «-R».

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: