Как удалить директорию git linux

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

В операционной системе Linux можно выполнить большинство действий через терминал. Удаление каталога Linux — это достаточно простое действие, которое можно выполнить просто открыв файловый менеджер.

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

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

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

Другая команда, которую можно применить — это rm. Она предназначена для удаления файлов Linux, но может использоваться и для папок если ей передать опцию рекурсивного удаления -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 мы выполняем команду удаления. Таким же образом можно удалить только пустые папки, например, в домашней папке:

/ -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. Она позволяет подставить аргументы в нужное место. Например:

/ -type f -empty -print0 | xargs -0 -I <> /bin/rm «<>«

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

Читайте также:  Лучшая альтернатива проводнику windows

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

sudo apt install wipe

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

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

Выводы

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

Источник

specoff / remove_idea_etc

Как удалить любую папку, в т.ч. и .idea, и лишние файлы из Git
Создаем файл .gitignore в корне репозитария с содержимым:
.idea
logs/
——————————————————————
Подробнее можно ознакомиться на странице: https://git-scm.com/book/ru/v1/Основы-Git-Запись-изменений-в-репозиторий
Удаляем ненужные папки и файлы при синхронизации в Git репозиторий
Удалим все проиндексированные файлы:
git rm -r -f —cached .
Запустим индексацию заново:
git add .
Добавляем коммит и пушим:
git commit -m «Remove files»
git push -u origin master
————————————————————————————
# Игнор-лист файлов проекта
# Игнорировать ВСЕ файлы и директории, включая поддиректории и файлы в них
*
# —- ФАЙЛЫ —-
# Игнорирование по типу файла, будут игнорироваться в АБСОЛЮТНО всех директориях
# Например /files/data.zip, /server.log, /uploads/users/data/info.xls
*.zip
*.log
*.pdf
*.xls
# Игнорирование файла во ВСЕХ директориях
# Например /params/db/config.php, /config.php
config.php
# Игнорирование конкретного файла ТОЛЬКО в корне проекта
# (корнём считается расположение файла .gitignore)
# Например НЕ БУДЕТ проигнорирован файл /db/config.php
/config.php
# Игнорирование конкретного файла ТОЛЬКО в указанной директории
# Например НЕ БУДЕТ проигнорирован файл /prod/params/config.php
/params/config.php
# —- ДИРЕКТОРИИ —-
# Игнорирование всех файлов и папок ТОЛЬКО в конкретной директории(включая поддиректории и файлы в них)
# Например /images/user.jpg, /images/company/logo.png
# НЕ БУДУТ проигнорированы файлы и папки /prod/images/user.jpg
/images/*
# Игнорирование всех файлов и папок в ЛЮБЫХ директориях с указанным именем
# Например /images/user.jpg, /core/images/user.jpg
images/*
# Игнорирование ВСЕХ html-файлов в ОДНОЙ КОНКРЕТНОЙ директории(НЕ ВКЛЮЧАЯ поддиректории)
# Например /private/index.html
# НЕ БУДУТ проигнорированы файлы в /private/ivan/index.html
/private/*.html
# Игнорирование ВСЕХ html-файлов в КОНКРЕТНОЙ директории ВКЛЮЧАЯ поддиректории
# Например /private/info.html, /private/users/ivan/info.html
/private/**/*.html
# —- РАЗНОЕ —-
# Исключение из игнорирования
# Игнорирование ВСЕХ файлов и папок внутри директории /secret,
# за исключением файла /secret/free.txt, он не будет проигнорирован
/secret/*
!/secret/free.txt
# Игнорирование файла с именем, содержащим спецсимволы
# Например !readme!.txt
\!readme!.txt
# Игнорирование всех JPG и JPEG файлов внутри директорий,
# которые начинаются на «h» и МОГУТ содержать ещё один символ после
# Например /images/h4/user.jpg, /images/h/company.jpeg
/images/h?/*.jp?g

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Источник

Читайте также:  Установка windows через wine

Git для начинающих. Часть 8. Добавление, удаление и переименование файлов в репозитории

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

Добавление файлов в git репозиторий

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

Создайте в каталоге файл README.md любым удобным для вас способом, мы сделаем это с помощью команды touch .

Теперь проверим состояние отслеживаемой директории.

Как вы можете видеть: в рабочей директории есть один неотслеживаемый файл README.md . Git нам подсказывает, что нужно сделать для того, чтобы начать отслеживать изменения в файле README.md : необходимо выполнить команду git add , сделаем это.

Посмотрим ещё раз на состояние.

Видно, что информация о появлении нового файла попала в stage . Для того чтобы это изменение зафиксировалось в репозитории необходимо выполнить команду git commit .

Теперь в рабочей директории и в stage нет объектов, информацию об изменении которых необходимо внести в репозиторий.

В репозиторий был сделан один коммит.

Удаление файлов из git репозитория и из stage

Удаление файла из stage

Вначале разберемся со stage . Создадим ещё один файл.

“Отправим” файл main.c в stage .

Внесем изменения в README.md .

Информацию об этом также отправим в stage .

Посмотрим на состояние stage .

Если нам необходимо убрать из stage , какой-то из этих файлов (main.c или README.md), то для этого можно воспользоваться командой git –rm cashed , сделаем это для файла main.c .

Теперь посмотрим на состояние рабочей директории и stage .

Видно, что изменения в файле README.md готовы для коммита, а вот файл main.c перешел в состояние – неотслеживаемый. Отправим main.c в stage и, после этого, сделаем коммит в репозиторий.

Удаление файлов из git репозитория

Удалить файл из репозитория можно двумя способами: первый – удалить его из рабочей директории и уведомить об этом git ; второй – воспользоваться средствами git . Начнем с первого способа. Для начала посмотрим, какие файлы у нас хранятся в репозитории.

Удалим файл main.c из рабочей директории.

Уведомим об этом систему git .

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

Теперь в репозитории остался только один файл README.md .

Второй способ – это сразу использовать команду git rm без предварительного удаления файла из директории. Вновь создадим файл main.c и добавим его в репозиторий.

Удалим файл из репозитория.

Файла main.c больше нет в репозитории.

Его также нет и в рабочем каталоге.

Удалите файл README.md из репозитория самостоятельно.

Переименование файлов в git репозитории

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

Читайте также:  Asus eee pad transformer установить linux

Первый способ. Создадим файл test_main_file.c и добавим его в репозиторий.

Содержимое репозитория после этого будет выглядеть так.

Переименуем его на test_main.c .

Сделаем это в рабочей директории.

Теперь отправим изменение в репозиторий.

В репозитории и в рабочей директории будет находится только файл test_main.c .

Второй способ.

В рамках второго способа рассмотрим работу с командой git mv . Переименуем файл test_main.c в main.c . Текущее содержимое репозитория и рабочего каталога.

Переименуем файл test_main.c на main.c средствами git .

Имя файла изменилось как в репозитории так и в рабочем каталоге.

Отличный курс по git делают ребята из GeekBrains , найдите в разделе “Курсы” курс “Git. Быстрый старт” , он бесплатный!

Источник

Как удалить каталог из репозитория git?

У меня есть 2 каталога в моем хранилище GitHub. Я хотел бы удалить один из них. Как я могу сделать это без удаления и повторного создания всего хранилища?

Удалить каталог из git и local

Вы можете оформить «мастер» с обоими каталогами;

Удалить каталог из git, но НЕ локально

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

В этом случае используйте:

Чтобы удалить папку / каталог только из репозитория git, а не из локального, попробуйте 3 простые команды.

Шаги по удалению каталога

Действия по игнорированию этой папки в следующих коммитах

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

Файл .gitignore будет выглядеть так

Если по какой-то причине сказанное karmakaze не работает, вы можете попробовать удалить каталог, который вы хотите использовать, или с помощью браузера файловой системы (например, в Windows File Explorer). После удаления каталога введите команду:
git add -A
и затем,
git commit -m ‘deleting directory’
и затем
git push origin master .

Вы можете попробовать это: git rm -rf

Это заставит удалить каталог.

Если вы удалите файлы в каталоге ( git rm как объясняют другие ответы), то каталог больше не существует, если речь идет о git. Вы не можете зафиксировать пустой каталог или удалить его.

Это не похоже на Subversion, где вы должны явно svn rm emptyfolder/ , и, кстати, почему man страница для git описывает себя как «глупый трекер контента»

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

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

Вы можете сказать » git add «, и он добавит туда файлы.

Если вам действительно нужен каталог для оформления покупок, вы должны создать в нем файл. .gitignore хорошо работает для этой цели; Вы можете оставить его пустым или указать имена файлов, которые вы ожидаете увидеть в каталоге.

Источник

Оцените статью