Bash как удалить файл

Обновлено: 04.07.2024

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

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

Что такое Bash?

Как я уже говорил, Bash - это интерпретатор команд. По сути, это обычная программа, которая запускается при старте сеанса оболочки. Мы могли бы запускать не Bash, а скажем, интерпретатор python или ruby, и тогда нам пришлось бы выполнять методы этих языков вместо команд Bash для администрирования системы.

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

Команды Bash

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

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

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

Но если команда находится в одной из сторонних папок, то необходимо ввести ее полный адрес:


Иначе оболочка не сможет найти исполняемый файл команды.

Объединение команд

Кроме того, Bash позволяет объединять команды по времени выполнения. Существуют такие операторы для объединения команд:

  • && - выполнить первую команду, а вторую выполнять только если первая завершится успешно;
  • || - выполнить первую команду, а вторую выполнять только если первая завершится неудачей;
  • ; - выполняет последовательно каждую следующую команду, как только завершится предыдущая;
  • & - запустить команду в фоне и сразу же вернуть управление в командную оболочку для выполнения следующей команды.

Например, сначала выполняем загрузку файла, а затем открываем его в плеере, если загрузка прошла успешно:


Чтобы продолжить этот пример, мы можем удалить загруженный файл, если произошла ошибка:

Чтобы выполнить обновление системы, а затем завершить работу выполните:

sudo apt update ; shutdown -h now

И наконец, вы можете запустить какой-либо сервис или приложение, например, браузер в фоне и свободно продолжить работу в терминале:


Управляющие символы Bash

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

Чтобы вставить в положение курсора предыдущую команду напишите . Например, чтобы выполнить последнюю команду с sudo достаточно выполнить:


Чтобы выполнить не последнюю команду, а скажем, предпоследнюю или выполненную еще раньше, то после восклицательного знака нужно указать ее номер:

Если вы укажите один восклицательный знак и несколько символов, то выполнится последняя команда, которая начиналась на эти символы:


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

Если перед командой написать пробел, то она не сохранится в истории:


Символ $? позволяет вывести код завершения последней команды:

Символ звездочки возвращает массивом содержимое текущей папки:


С помощью символа ^ можно заменить несколько букв из предыдущей команды. Работает это вот так:


В результате файл будет удален.

Горячие клавиши Bash

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

  • Tab - автодополнение, наберите начало команды или пути и нажмите Tab, если такая команда только одна оболочка ее дополнит. Если доступно несколько вариантов, нажмите два раза Tab чтобы их увидеть;
  • Стрелка вверх - предыдущая команда в истории;
  • Стрелка вниз - следующая команда в истории;
  • Ctrl+R - поиск по истории. Просто нажмите эту кнопку и начните вводить нужную команду;
  • Ctrl+G - выйти из режима поиска;
  • Alt+. - предыдущее слово последней команды;
  • Ctrl+L - очистить вывод терминала;
  • Ctrl+A - перейти в начало строки;
  • Ctrl+E - в конец строки;
  • Ctrl+K - удалить символы начиная от курсора и к концу команды;
  • Ctrl+U - удалить символы от курсора до начала команды;
  • Ctrl+W - удалить все символы этого слова слева;
  • Ctrl+Y - удалить все символы этого слова справа;
  • Ctrl+S - остановить вывод на экран;
  • Ctrl+Q - возобновить вывод на экран.

Это все основные сочетания клавиш, которые вам понадобятся чтобы пользоваться bash. Конечно, существуют и другие, но эти основные.

Выводы

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

На завершение видео по теме от Акцент профи:

Favorite

Добавить в избранное

Главное меню » Linux » Как удалить файл в bash

Bash Heredoc

Л юбой файл можно удалить временно и навсегда в bash. Когда файл временно удаляется с помощью графического пользовательского интерфейса, он сохраняется в папке «Trash» и при необходимости может быть восстановлен. Файл, который был удален безвозвратно, не может быть восстановлен позже обычным образом. Команда rm используется для окончательного удаления файла с компьютера. Если какой-либо файл был случайно удален этой командой, его можно восстановить из резервной копии. В этой статье показано, как удалить любой файл из терминала и графический интерфейс пользователя.

Удаление файла с помощью команды `rm`:

Команда rm может использоваться с опцией и без опции для различных типов удаления. Синтаксис команды rm приведен ниже.

Синтаксис:

Пример-1: Удаление файла с помощью команды `rm` без опции

Пример-2: Удалите файл с помощью команды `rm` с параметром -i

Следующий сценарий запросит разрешение у пользователя перед удалением файла для параметра «-i». Здесь имя файла будет взято у пользователя в качестве ввода. Если файл существует и пользователь нажимает «n», то файл не будет удален, иначе файл будет удален.

Пример-3: Удалите файл с помощью команды `rm` с параметром -v

Пример-4: Удалить несколько файлов с помощью команды `rm`

Заключение:

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

Читать Шаблон соответствия в заявлении case в Bash

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Favorite

Добавить в избранное

Bash Heredoc

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

В этой статье вы узнаете обо всех основных методах удаления папок в Bash.

Есть два метода удаления папок или каталогов. Это следующие:

Давайте попробуем эти два метода на нескольких примерах удаления папок.

Команда rmdir

Если вы пользователь Linux и хотите удалить пустую папку, вы должны использовать команду «rmdir». Итак, в самом начале вы должны проверить, сколько папок в настоящее время присутствует в вашем домашнем каталоге, следующим образом:

Удалить одну папку

Во-первых, создайте новый каталог с именем «Folder1», используя следующую простую команду, и снова перечислите все каталоги. Вы увидите недавно созданную папку в списке каталогов.

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

Перечислите все каталоги, и вы увидите, что конкретная папка была удалена и отсутствует в списке.

Удалить папку в папке

Составьте список всех имеющихся у вас каталогов. Создайте новый каталог с именем «Folder2» с помощью команды «mkdir» следующим образом:

Теперь создайте другую папку, «Test1», во вновь созданной папке с именем «Folder2».

Вы также можете создать папку внутри папки, выполнив команду «cd», как показано ниже:

Читать Как одновременно переименовать несколько файлов в Linux

Итак, вам нужно удалить папку «Test1», используя следующую команду:

Вы также можете попробовать другой метод удаления папки в папке, используя команду «cd» вместо пути к папке, как показано ниже:

Удалить несколько папок

Чтобы удалить несколько папок за раз, вы должны сначала создать несколько папок. Итак, создайте три папки с именами «Test1», «Test2» и «Test3» с помощью команды «mkdir». Перечислите все вновь созданные папки, используя команду ls.

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

Если у ваших папок разные имена, попробуйте следующую команду, чтобы удалить их:

В этой команде знак «*» показывает, что она выберет все папки, которые начинаются с определенного слова «folder».

Команда rm

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

Теперь создайте новую папку с именем «New», а также создайте в этой папке другие папки, такие как «Test1», «Test2», «Test3» и т. д.

Проверьте доступные в настоящее время папки в вашем домашнем каталоге.

Теперь пора использовать команду «rm», чтобы удалить непустую папку. Для этого используйте следующую команду «rm», за которой следует имя удаляемой папки:

В этой команде флаг «-r» означает, что сначала нужно удалить все содержимое папки.

Вы также можете использовать заглавную букву «R» вместо маленькой буквы «r». Вы увидите, что папка будет удалена. Не только это, но и все папки внутри папки «New» также удаляются вместе с ним.

Читать Как использовать Sed для добавления новой строки в конец каждой строки

Есть еще одна команда с небольшим изменением для удаления непустой папки, как показано ниже:

В этой конкретной команде флаг «-r» удалит все подпапки или файлы в этой конкретной папке, а затем перейдет к папке, которую необходимо удалить. С другой стороны, флаг «f» используется для принудительного удаления этой папки без отображения запроса.

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

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

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

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

  • ls - список файлов в директории;
  • cd - переход между директориями;
  • rm - удалить файл;
  • rmdir - удалить папку;
  • mv - переместить файл;
  • cp - скопировать файл;
  • mkdir - создать папку;
  • ln - создать ссылку;
  • chmod - изменить права файла;
  • touch - создать пустой файл.

А теперь перейдем к подробному рассмотрению всех этих команд.

1. ls - просмотр содержимого папки

Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:


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

Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:


Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:


2. cd - изменить папку

Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:


Вы также можете указать полный путь к папке:


Команда cd .. переходит в папку, которая находится выше на одну в файловой системе:


Вы также можете вернуться в предыдущую рабочую папку:

3. rm - удалить файлы

Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:


Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:

Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:

rm -r /home/user/photo/

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

4. rmdir - удалить папку

Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:


Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.

5. mv - перемещение файлов

Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:

mv file newfile


Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/

mv file /home/user/tmp/

6. cp - копирование файлов

Эта cp и mv - это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.

cp file newfile


Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:

cp -r /etc /etc_back

7. mkdir - создать папку

Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:


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

8. ln - создание ссылок

Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, вы создадим ссылку на папку с загрузками:

ln -s /home/user/Downloads/ /home/user/test/


Для создания жесткой ссылки никаких опций задавать не нужно:

ln /home/user/Downloads/ /home/user/test/

9. chmod - изменить права

chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:

chmod +x script.sh


Чтобы убрать флаг исполняемый используйте опцию -x:

chmod -x script.sh


Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.

10. touch - создать файл

Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:


Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.

11. mc

Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander - это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:

sudo apt install mc

После завершения установки достаточно выполнить команду mc:


Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:


Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.

Выводы

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

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

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

В Linux для удаления файлов предусмотрена стандартная утилита rm. Как и все остальные, стандартные утилиты в имени rm тоже заложена определенная идея. Это сокращение от английского слова Remove.

Удаление файлов в Linux

Чтобы удалить файл linux достаточно передать в параметрах команде адрес файла в файловой системе:

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

Эта команда удаления файла в linux должна использоваться очень осторожно, чтобы не удалить ничего лишнего. В утилите есть опция -i, которая заставляет программу спрашивать пользователя перед тем, как удалить файл linux:

rm: удалить пустой обычный файл «/home/user/file»?

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

rm -f /home/user/file*

Для удаления директорий, вместе с файлами и поддиректориями используется опция -R, например:

rm -Rf /home/user/dir

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

Не стоит выполнять эту команду в своей системе, как видите, она удаляет все файлы в файловой системе Linux.

Удаление файла в linux также возможно с помощью утилиты find. Общий синтаксис find:

find папка критерий действие

Например, мы хотим удалить файл linux по имени:

find . -type f -name "file" -exec rm -f <> \;

Будут найдены все файлы с именем file в текущей папке и для них вызвана команда rm -f. Можно не вызывать стороннюю утилиту, а использовать действие delete:

find . -type f -name "file" -delete

Удалить все файлы в текущей директории, соответствующие определенному регулярному выражению:

find . -regex '\./[a-f0-9\-]\.bak' - delete

Или удалить файлы старше определенного строка, может быть полезно для удаления старых логов:

find /path/to/files* -mtime +5 -exec rm <> \;

Будет выполнено удаление файлов через терминал все файлы в папке старше 5-ти дней.

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

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

Выводы

Вот и все. Теперь вы знаете как удалить файл в Ubuntu, как видите, делать это не так уж сложно. Если у вас остались вопросы, пишите в комментариях!

Читайте также: