Как удалить файл в Linux через терминал

В данном посте приведен минимальный базовый список команд для уверенной работы в командной строке Linux/Ubuntu.

rm — утилита в UNIX и UNIX-подобных системах, используемая для удаления файлов из файловой системы. Ключи, использующиеся с rm:

  • -i — выводить запрос на подтверждение каждой операции удаления.
  • -r — обрабатывать все вложенные подкаталоги. Данный ключ необходим, если удаляемый файл является каталогом, пусть даже пустым. Если удаляемый файл не является каталогом, то ключ -r не влияет на команду rm.
  • -f — не возвращать код ошибочного завершения, если ошибки были вызваны несуществующими файлами; не запрашивать подтверждения операций.

rm часто является синонимом команды rm -i, то есть команда по умолчанию запрашивает подтверждение перед удалением файлов, что позволяет предотвратить их случайное удаление. Если пользователю нужно удалить большое количество файлов без подтверждения операции, можно отменить действие ключа -i с помощью добавления ключа -f.

О правах на файл в linux

Итак, есть три категории, которым можно (и должно) прописать права на файл:

  • u [user] — владелец файла
  • g [group] — группа файла
  • o [other] — все остальные пользователи операционной системы

Данные категории составляют триаду прав на файл.

Теперь собственно о правах. Файл может быть:

  • r [read] — прочитан
  • w [write] — записан/изменён
  • x [execute] — запущен как процесс на выполнение
  • s [superuser] — выполнение от имени суперпользователя (дополнительный параметр)

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

  • r = 4 (22)
  • w = 2 (21)
  • x = 1 (20)

Именно такой (восьмиричной) записью обычно и пользуются, где 0 — означает, что прав на использование нет, 7 — разрешено всё (4+2+1) читать, менять и исполнять.

Обычные права на файл в linux 755 [-rwxr-xr-x] (полные права для владельца, а для группы и остальных только чтение и выполнение). Это позволяет читать документы и выполнять скрипты от разных пользователей, но только владелец имеет право модифицировать (изменять) свои файлы.

Читайте также:  Linux эмуляторы — лучшие программы для запуска Windows

На файлы, которые не нужно выполнять, обычно выставляются права 644 [-rw-r—r—]. Владелец может читать и менять, остальные — только читать.

Введение

Linux[email protected]:~$имя пользователясимвол @ имя системыПРИМЕЧАНИЕ:

Ады Лавлейс/home/matthewEnter

Список

  1. pwd

    pwd расшифровывается как «Print Working Directory» («вывести текущий каталог»). Эта команда возвращает ваше местоположение в файловой системе, например, /usr/share или /home/matthew. Это может оказаться полезно при склерозе, если вы забудете, где находитесь.

  2. ls

    При использовании в отдельности, команда ls выводит список всех файлов и подкаталогов в текущем каталоге. Можно также использовать ls для вывода списка всего содержимого любого каталога, не переходя к нему, за счет добавления к команде адреса этого каталога, например: ls etc/python.

  3. cd

    Эта команда приводит к смене текущего каталога на заданный. Например, команда cd /var/log перенесет вас в подкаталог log, находящийся в каталоге var.

  4. touch

    Команда touch создает пустой файл с заданным именем. Создайте файл прямо сейчас и воспользуйтесь командой cd, чтобы убедиться, что он был создан в текущем каталоге: touch examplefile.

  5. rm

    Команда rm удаляет файл. Для удаления созданного вами выше файла, введите: rm examplefile.

  6. mkdir

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

  7. rmdir

    Команда rmdir удаляет каталог. Для удаления созданного вами выше каталога, введите: rm exampledirectory.

  8. mv

    Команда mv перемещает заданный файл или каталог в указанное место. Её можно также использовать для переименования файлов и каталогов. При желании, можно сделать и то, и другое одной командой. Например, давайте переместим файл с именем sample из текущего каталога в существующий подкаталог stuff с одновременным изменением имени этого файла на example: mv sample stuff/example.

  9. cp

    Команда cp копирует заданный файл или каталог в указанное вами место, возможно, с заданным вами новым именем файла/каталога. Воспользуемся тем же примером: cp sample stuff/example. Различие между mv и cp в том, что во втором случае исходный файл остается на своём месте.

  10. man

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

Синтаксис и опции команды rm

Команда «rm» имеет множество опций, что позволяет очень тонко управлять процессом удаления файлов. Вы можете изучить все доступные опции если введете в терминал Linux команду «man rm». Здесь же мы будем рассматривать самые простые и часто используемые опции.

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

rm [опции] файлы

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

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

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

rm -r folder1/

Если права доступа к файлу разрешают только чтение, то в терминале Linux появится запрос подтверждения, и чтобы продолжить вам нужно будет ввести букву «y» (от англ. «yes»).

Чтобы избежать такой ситуации и удалять все файлы без предупреждения нужно использовать опцию «-f». Например:

rm -f

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

rm -rf folder1/

Если вы, наоборот, хотите каждый раз получать запрос подтверждения, то команду «rm» нужно выполнять с опцией «-i». Например, для того чтобы удалить все файлы в текущем каталоге с запросом подтверждения нужно выполнить:

rm -i *

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

rm -v *

Также вывод информации можно перенаправить в файл. Для этого после команды нужно использовать оператор перенаправления вывода (>) и указать название файла. Например:

rm -v * >

Естественно все эти опции можно комбинировать, в зависимости от ваших задач.

Замена текста и данных в файлах Linux

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

Например:

sed ‘s/odin/dva/g’

Заменяет в файле все слова «odin» на слова «dva».

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

sed -i "s/^#znachenie/znachenie/g" /etc/

где «^» — означает начало строки, # — символ, отвечающий за разрешение/запрещение чтения команд определенного языка программирования в выполняющем для этого файле.