Команда Rm rf linux

Обновлено: 21.11.2024

Когда вы новичок в Linux, вы часто сталкиваетесь с советом никогда не запускать sudo rm -rf / . Вокруг sudo rm -rf столько мемов в мире Linux.

Но кажется, что вокруг этого есть некоторая путаница. В руководстве по очистке Ubuntu для освобождения места я посоветовал запустить какую-нибудь команду, включающую sudo и rm -rf. Читатель It’s FOSS спросил меня, почему я советую, если sudo rm -rf является опасной командой Linux, которую не следует запускать.

Поэтому я решил написать эту главу о жаргоне Linux и развеять заблуждения.

sudo rm -rf: что он делает?

Давайте учиться пошагово.

Но некоторые файлы не будут удалены немедленно из-за разрешений только для чтения. Их необходимо принудительно удалить с опцией -f .

Однако команду rm нельзя использовать для прямого удаления каталогов (папок). Вы должны использовать рекурсивную опцию -r с командой rm.

И, таким образом, в конечном счете, команда rm -rf означает принудительное рекурсивное удаление данного каталога.

Вот скриншот всех вышеперечисленных команд:

Если вы добавите sudo к команде rm -rf, вы удалите файлы с полномочиями root. Это означает, что вы можете удалить системные файлы, принадлежащие пользователю root.

Значит, sudo rm -rf — опасная команда Linux?

Ну, любая команда, которая что-то удаляет, может быть опасной, если вы не уверены в том, что удаляете.

Считайте команду rm -rf ножом. Опасен ли нож? Возможно. Если вы режете овощи ножом, это хорошо. Если порезать ножом пальцы, то это, конечно, плохо.

То же самое относится и к команде rm -rf. Само по себе это не опасно. В конце концов, он используется для удаления файлов. Но если вы используете его для удаления важных файлов по незнанию, то это проблема.

Теперь переходим к ‘sudo rm -rf /’.

Вы знаете, что с помощью sudo вы запускаете команду от имени пользователя root, что позволяет вам вносить любые изменения в систему.

/ — это символ корневого каталога. /var означает каталог var под корнем. /var/log/apt означает подходящий каталог под журналом под корнем.

Согласно иерархии каталогов Linux, все в файловой системе Linux начинается с корня. Если вы удалите root, вы фактически удалите все файлы вашей системы.

И именно поэтому рекомендуется не запускать команду sudo rm -rf /, потому что вы уничтожите всю свою систему Linux.

Обратите внимание, что в некоторых случаях вы можете запустить такую ​​команду, как «sudo rm -rf /var/log/apt», что может быть нормально. Опять же, вы должны обращать внимание на то, что вы удаляете, так же, как вы должны обращать внимание на то, что вы режете ножом.

Я играю с опасностью: что, если я запущу sudo rm -rf /, чтобы посмотреть, что произойдет?

Большинство дистрибутивов Linux обеспечивают надежную защиту от случайного удаления корневого каталога.

Я имею в виду, что человек может делать опечатки, и если вы случайно набрали «/ var/log/apt» вместо «/var/log/apt» (пробел между / и var означает, что вы предоставляете каталоги / и var для удаления), вы удалите корневой каталог.

Это неплохо. Ваша система Linux позаботится о таких авариях.

Что делать, если вы одержимы идеей уничтожить свою систему с помощью sudo rm -rf /? Вам придется использовать. Он попросит вас использовать с ним –no-preserve-root.

Нет, пожалуйста, не делайте этого самостоятельно. Позвольте мне показать его вам.

Итак, у меня есть elementary OS, работающая на виртуальной машине. Я запускаю sudo rm -rf / --no-preserve-root, и вы можете увидеть, как буквально гаснет свет на видео ниже (около 1 минуты).

Команда rm — это утилита командной строки UNIX и Linux для удаления файлов или каталогов в системе Linux. В этой статье мы подробно объясним, что на самом деле может делать команда «rm -rf» в Linux.

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

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

Как удалить файл в Linux

По умолчанию команда rm немедленно удаляет только файл или файлы, указанные в командной строке, но не удаляет каталоги.

Как удалить несколько файлов в Linux

Чтобы удалить сразу несколько файлов, укажите имена файлов по одному (например, файл1 файл2) или используйте шаблон для удаления нескольких файлов (например, шаблон, оканчивающийся на .txt ) за один раз.

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

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

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

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

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

Чтобы запрашивать подтверждение при удалении каталога и его подкаталогов, используйте параметры -R и -i, как показано ниже.

Как принудительно удалить файл или каталог

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

Комбинация флагов -r и -f означает рекурсивное и принудительное удаление каталога (и его содержимого) без запроса подтверждения.

Как показать информацию при удалении

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

Выучить rm -Rf /Command

Вы всегда должны помнить, что «rm -rf» — одна из самых опасных команд, которую вы никогда не сможете запускать в системе Linux, особенно с правами root. Следующая команда очистит все в вашем корневом (/) разделе.

Создать псевдоним для команды rm в Linux

В качестве меры безопасности вы можете сделать так, чтобы rm всегда запрашивал подтверждение операции удаления каждый раз, когда вы хотите удалить файл или каталог, используя параметр -i. Чтобы настроить это навсегда, добавьте псевдоним в файл $HOME/.bashrc.

Сохраните изменения и закройте файл. Затем создайте файл .bashrc, как показано, или откройте новый терминал, чтобы изменения вступили в силу.

Это просто означает, что всякий раз, когда вы запускаете rm, он будет вызываться с параметром -i по умолчанию (но использование флага -f отменит этот параметр).

Удаляет ли rm файл?

На самом деле команда rm никогда не удаляет файл, вместо этого она разрывает связь с диском, но данные остаются на диске и могут быть восстановлены с помощью таких инструментов, как PhotoRec, Scalpel или Foremost.

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

Вот оно! В этой статье мы объяснили несколько действительно полезных примеров команды rm, а также подробно рассказали о том, что может делать команда «rm -rf» в Linux. Если у вас есть какие-либо вопросы или дополнения, которыми вы хотите поделиться, воспользуйтесь формой комментариев ниже, чтобы связаться с нами.

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

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

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

1. Команда rm -rf

Команда rm -rf — один из самых быстрых способов удалить папку и ее содержимое. Но небольшая опечатка или незнание могут привести к непоправимому повреждению системы. Вот некоторые из параметров, используемых с командой rm.

  1. команда rm в Linux используется для удаления файлов.
  2. Команда rm -r рекурсивно удаляет папку, даже пустую.
  3. Команда rm -f удаляет "Файл только для чтения" без запроса.
  4. rm -rf / : Принудительно удалить все в корневом каталоге.
  5. rm -rf * : Принудительно удалить все в текущем каталоге/рабочем каталоге.
  6. rm -rf . : принудительное удаление текущей папки и подпапок.

Следовательно, будьте осторожны при выполнении команды rm -rf. Чтобы избежать случайного удаления файла командой «rm», создайте псевдоним команды «rm» как «rm -i» в файле «.bashrc», он будет запрашивать подтверждение каждого удаления.

2. :()<:|:&>;: Команда

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

3. команда > /dev/sda

Приведенная выше команда записывает вывод «command» в блок /dev/sda. Приведенная выше команда записывает необработанные данные, и все файлы в блоке будут заменены необработанными данными, что приведет к полной потере данных в блоке.

4. папка mv /dev/null

Приведенная выше команда переместит «папку» в /dev/null. В Linux /dev/null или null device — это специальный файл, который отбрасывает все записанные в него данные и сообщает, что операция записи прошла успешно.

Приведенная выше команда переместит все содержимое пользовательского каталога в /dev/null, что буквально означает, что все, что там было, было отправлено в blackhole (null).

Приведенная выше команда загрузит сценарий из вредоносного источника, а затем выполнит его. Команда Wget загрузит скрипт, а sh выполнит загруженный скрипт.

Примечание. Вы должны хорошо знать источник, из которого вы загружаете пакеты и скрипты. Используйте только те скрипты/приложения, которые загружены из надежного источника.

6. mkfs.ext3 /dev/sda

Приведенная выше команда отформатирует блок «sda», и вы наверняка будете знать, что после выполнения вышеуказанной команды ваш блок (жесткий диск) будет новым, СОВЕРШЕННО НОВЫМ! Без каких-либо данных, оставив вашу систему в невосстановимом состоянии.

7. > файл

Приведенная выше команда используется для очистки содержимого файла. Если вышеуказанная команда будет выполнена с опечаткой или незнанием, например «> xt.conf», будет записан файл конфигурации или любой другой системный файл или файл конфигурации.

8. ^foo^bar

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

9. dd if=/dev/random of=/dev/sda

Приведенная выше команда сотрет блок sda и запишет в блок случайные ненужные данные. Конечно! Ваша система останется на несогласованной и неустранимой стадии.

10. Скрыть команду

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

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

Примечание. Не выполняйте ни одну из приведенных выше команд в своем терминале или оболочке Linux, а также на компьютере вашего друга или школьного компьютера. Если вы хотите протестировать их, запустите их на виртуальной машине. Любое несоответствие или потеря данных из-за выполнения вышеуказанной команды приведет к поломке вашей системы, за что ни автор статьи, ни Tecmint не несут ответственности.

На этом пока все. Скоро я снова буду здесь с другой интересной статьей, которую вы, люди, будете любить читать. А пока следите за обновлениями и подключайтесь к Tecmint. Если вы знаете какие-либо другие такие опасные команды Linux и хотите, чтобы мы добавили их в список, сообщите нам об этом в разделе комментариев и не забудьте оставить ценный отзыв.

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

Если вы цените то, что мы делаем здесь, в TecMint, вам следует подумать о следующем:

TecMint – это самый быстрорастущий и пользующийся наибольшим доверием сайт сообщества, где можно найти любые статьи, руководства и книги по Linux в Интернете. Миллионы людей посещают TecMint! для поиска или просмотра тысяч опубликованных статей, доступных всем БЕСПЛАТНО.

Если вам нравится то, что вы читаете, купите нам кофе (или 2) в знак признательности.

Мы благодарны за вашу бесконечную поддержку.

Похожие сообщения

41 мысль о «10 самых опасных команд, которые никогда не следует выполнять в Linux»

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

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

Сегодня я написал команду, используя один * ничего больше, и в результате весь текущий каталог был удален!

К счастью, я добавляю все резервные копии на Git bitbucket.

Есть ли какое-нибудь учение о скрытых командах?

:() <:|:&>выдает мне «bash: синтаксическая ошибка рядом с неожиданным токеном `“. Пожалуйста, помогите.

Команда

rm в UNIX означает удаление и по умолчанию используется для удаления файлов. Это простая, но мощная команда, особенно при использовании с такими параметрами, как -rf, которые позволяют принудительно удалять непустые каталоги.

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

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

Мы используем команды mkdir и touch для создания каталогов и текстовых файлов соответственно, а также команду ls для просмотра списка файлов в текущем рабочем каталоге.

Удаление нескольких файлов в Linux:

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

удаление нескольких файлов

Удаление каталога в Linux:

Чтобы удалить каталог, вы можете использовать ключ -r или -R, который рекурсивно удаляет каталог, включая его содержимое (подкаталоги и файлы). Если это пустой каталог, вы также можете использовать команду rmdir.

Удаление файлов с запросом подтверждения:

Чтобы получить запрос на подтверждение при удалении файла, используйте параметр -i.

удаление файлов с подтверждением

Удаление каталогов с запросом подтверждения:

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

удаление каталогов с подтверждением

Принудительное удаление файла или каталога:

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

Комбинация флагов -r и -f означает, что вы рекурсивно и принудительно удаляете каталог (и его содержимое) без запроса подтверждения.

Здесь мы создали текстовый файл и каталог и сделали его доступным только для чтения, получив доступ на запись с помощью команды chmod.

Отображение информации при удалении:

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

Является ли команда rm -rf надежной?

rm -rf, какой бы мощной она ни была, может обходить доступ только для чтения к вложенным файлам, а не к каталогам. Чтобы удалить каталог ( B/C ), нам нужно получить к нему доступ с правами суперпользователя.

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

Команда «rm -Rf /»:

Вы всегда должны помнить, что «rm -rf» — одна из самых опасных команд, которую вы никогда не должны запускать в системе Linux, особенно как root. Следующая команда очистит все в вашем корневом (/) разделе.

Существуют проверки для предотвращения удаления корневого каталога, но дополнительная опция –no-preserve-root обходит этот отказоустойчивый режим. Это мем в Интернете, который эквивалентен удалению system32 на диске C:\ вашей ОС Windows.

Вы не должны использовать приведенную выше команду ни в коем случае, для любопытных людей я использовал команду с --no-preserve-root. И после некоторого удаления важных файлов и каталогов у меня не осталось ничего, кроме зависшего вывода, показанного ниже.

Создать псевдоним для команды rm в Linux:

Чтобы в целях безопасности всегда использовать параметр -i, добавьте псевдоним в файл $HOME/.bashrc.

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

Теперь всякий раз, когда вы запускаете rm, он будет вызываться с параметром -i по умолчанию (но использование флага -f отменит этот параметр).

Действительно ли rm удаляет файл?

rm на самом деле не удаляет файлы, а скорее разъединяет их (освобождает память для дальнейшего использования). Чтобы окончательно удалить данные, вы можете использовать команду shred или dd.

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

Это очень специфическая программа под названием OpenFOAM для научных исследователей, поэтому я не упомянул ее.

3 ответа 3

  • rm — команда для удаления/удаления вещей.
  • -rf – это две объединенные опции
  • -r для рекурсивного удаления (обычно используется с каталогами) - -f для форсирования действия
  • linux в этой команде — это либо файл, либо каталог.

Поэтому эта команда считывает удаление папки с именем linux . Если команда действительно исходит из руководства по удалению приложения, вероятно, в этом приложении есть файлы, характерные для Linux, и другие файлы, характерные для других ОС. Некоторые приложения не имеют пакета .deb и сценариев установки; необходимые файлы сжаты в архив zip или tar, и достаточно удалить файлы, извлеченные из этих архивов. Вот почему эта команда предлагается.

Однако вы можете увидеть другую команду, которая выглядит похожей и несколько опасной: rm -rf / . Это предназначено для рекурсивного удаления всего (!) с раздела жесткого диска, где установлена ​​корневая файловая система (в терминологии Windows это будет «удалить все с диска C:\). Эта команда может быть преднамеренно (возможно, злонамеренно) предложена новичкам или невежественным пользователей как способ удаления Linux, но он не удаляет операционную систему, технически говоря, не без потери данных. Удаление операционной системы отличается от удаления приложения.

Наберитесь смелости и на всякий случай запустите rm -rf / после резервного копирования. Вы будете удивлены и, возможно, разочарованы.

@jlliagre Да, я знаю, что для этого требуется дополнительный флаг, и, по крайней мере, в Ubuntu он не позволяет работать с / Проблема в том, что смелость здесь не имеет значения.Я говорю людям не запускать его для защиты от идиотов. Если они сделают дополнительный шаг, чтобы добавить корневой флаг без сохранения, тогда это их проблема.

Хорошо, но, как вы знаете, эта точная команда безвредна (что обычно имеет место, по крайней мере, в системах, использующих версии Ubuntu не старше 10 лет и аналогичные дистрибутивы GNU/Linux, а также BSD, OS X и Solaris), лучше не указывать эту команду опасно и что «вы будете плакать и очень расстраиваться». С другой стороны, было бы полезно сообщить, что команды закрытия, такие как rm -rf /*, будут иметь катастрофические последствия.

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

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