Я не'т пытались эту команду в Ubuntu (по понятным причинам), так что я не уверен, что Убунту позволит его исполнения. Но это'знаменитые удалять все. Просто из любопытства, что происходит, когда ядра и /Бин
удаляются? Как РМ
поддерживать запуск стека времени? Как РМ
удалось пообщаться с файловой системой и полное удаление? Как это взаимодействовать с оборудованием?
Это не'т имеет значения, что /Бен/РМ
удалена. Это's только выполняется один раз и на тот момент это's все загружается в память, как и все остальное, необходимое чтобы продолжать посылать удаление файловой системы и диска.
Боковая панель/обновления: В Дэвид Hoelzer'ы ответ (и упомянутых в комментариях), инода в жесткую связь /Бен/РМ
используется, чтобы указать на будет оставаться вплоть до РМ
закончил (потому что Linux держится в открытом состоянии) ** но этот факт не имеет значения; состояние диска не'т материи на всех.
Двоичный файл загружается в память перед его выполнением. Даже если бы вы могли вручную уничтожить РМ
данные с диска, она не'т повлиять или остановить удаление от завершения (если вы Don'т делать диск недоступен).
Понятия не имею, что инода или жесткую связь есть? Это ответ, где я работал его.
В любом случае, поэтому вы можете удалить пакет ток ядра без компьютера взрывается. Как долго, как вы установите другую версию, она'll быть в состоянии загрузиться.
Опять же, это работает, потому что РМ
вызывается только один раз. Следующее бы не после /бен/РМ
умер потому, что он называет ее один раз для каждого файла:
find / -exec rm {} \;
Что сказал, найти / -Exec и РМ -РФ {} +
и найти / -print0 команды | команды xargs -0 РМ -РФ будет также, скорее всего, не потому, что они оба аргумента пределы, означает, что они должны только удалять некоторое количество файлов, прежде чем снова позвонил. В какой-то момент по пути,
/Бен/РМможет истечь (*и* быть выпущена), пока остальные файлы были удалены. Это'ы, хотя не гарантируется. Если
/Бен/` последний каталог вошли, эти методы может работать.
Я не'т пытались эту команду в Ubuntu (по понятным причинам), так что я не уверен, что Убунту позволит его исполнения.
Я сделал. РМ -РФ / - нет-сохранить-корень` был запущен в корне сессия открылась прямо на машине, в то время как я был подключен через " SSH " от другой машины, с использованием учетной записи root.
Что происходит, что вы начинаете получить много сообщений:
РМ: не удается удалить '/...': операция не разрешена
или:
РМ: не удается удалить '/...': устройство или ресурс занято
Удивительно, СШ
связь осталась не раскрытой до конца операции. Это's только когда я закрыл соединение и попытался открыть его, что появилась ошибка:
читать из сокета: сброс соединения узлом
На машину, четырех каталогах остаются:
/Дев
. Это место, где хранятся файлы./тез
—в памяти файловой системы создается ядра.запуск
, стандартной файловой системы для демонов.файл/sys
. Это позволяет получить информацию о системе и ее компонентов.Это означает, что там не так много осталось и не так много, чтобы сделать там. Вы можете'т Общ
(хотя при использовании <и>вкладка</роз> имена каталогов и файлов по-прежнему отображаются). Вы можете компакт
в разных каталогах, а также вещи эхо, но такие команды, как " кот " не доступен больше.
Нет судо
либо.
выключение -сек
и перезагрузка
также исчез, так что ваш единственный вариант, кажется, чтобы повернуть машину вручную. Выход ("выход") не'т работу, даже если он показывает хороший "на выход" и текст.
Как только вы попробуете перезагрузить аппарат, вы'вновь представлены с хорошим ошибку жратвы 15, а потом ничего не происходит, и в этот момент Вы можете начать думать, что ваш РМ
могли бы сделать что-то плохое в вашей системе.
Нет, подожди, Дон'т сделать это на своей машине!
Что вы можете сделать вместо этого, чтобы запустить виртуальная машина. Виртуальные машины имеют преимущество экспериментов очень легко. Поскольку вы используете Ubuntu, вы можете быть заинтересованы vmbuilder. Это инструмент, который позволяет развертывать виртуальные машины в считанные минуты (официальная документация утверждает, что это можно сделать "в минуту", но фактическое время, даже на быстром процессоре, больше двух-трех минут.
После развертывания заканчивается, у вас есть условия, вы можете играть. Если вы в конечном итоге разрушая его, он не'т вопрос: вы снова развернуть машину, и через две минуты можно продолжать.
Если вы используете программное обеспечение, такое как VMware, вы также можете быть заинтересованы в снимки (обратите внимание, что бесплатное приложение VMware плеер не'т иметь эту возможность, нужно приобрести VMware Workstation с). Обратите внимание, что Hyper-V является бесплатным и поддерживает моментальные снимки (но вы должны работать в Windows).
Благо снимков заключается в том, что вы можете взять один в течение нескольких миллисекунд. Откат к снимку занимает больше времени, но часто в считанные секунды. Это делает эксперименты еще проще и быстрее.
Этот эксперимент не ограничивается самой операционной системы. Вы можете сделать все вещи, связанные с программным обеспечением. Получил подозрительное приложение? Проверить его на виртуальной машине—если это's вирус, он выиграл'т причинить никакого вреда. Хотите проверить работу на базе, учитывая, что это может повлиять на окружающую среду? Проверить его на виртуальной машине.
Плохие вещи случаются. Обратите внимание, что РМ
защищает тебя от самого себя: РМ -РФ / выиграл't РАБОТА: Вы должны использовать - Нет-сохранить-корень
. Все равно, что если вы на самом деле достигли, по ошибке, удалить все?
РМ
только отсоединяет файлов, однако данные по-прежнему там, на вашем жестком диске. Это дает возможность восстановить его позже (который является, почему вы должны'Т просто выбросить ваш жесткий диск с конфиденциальными данными, когда они не работают).
Это означает, что вы просто должны иметь запасной компьютер с корпус жесткого диска, чтобы на самом деле восстановить почти все файлы. Главное, чтобы ничего не писать на жесткий диск, чтобы восстановить данные, вы пишете перезапишет несвязанные файлы.
Как отмечает в статье в 200_success'комментарий, Если вы будете действовать умные, вы можете получить машину обратно, даже без запасного ПК. Если вы заботитесь только о данных, я бы'т возиться—брать его с запасной компьютер намного проще.
Причина в том, что файл именования слоев (то, что вы видите с команды ls
) действительно только для вашего удобства. Драйвер файловой системы и уход ядра только что операции. Когда файл, на который ссылается имя, она сразу же будет переведена на индексный дескриптор, который содержит все метаданные, включая разрешения, блоки данных на диске, идентификатор владельца, идентификатор группы и ссылку, граф.
Счетчик ссылок-это то, что действительно имеет значение здесь. Когда вы удаляете файл в системе Unix, реальный системный вызов отцепить
. Что'ы происходит под капотом, что количество ссылок (количество имен файлов в файл слоя именования), указывая на то, что инода уменьшается. Файловая система знает, что файл удаляется, когда счетчик ссылок достигает нуля.
Когда файл удален РМ
будет также отредактировать каталог файл (да, это's просто файл, который содержит имя файла и инода в дополнение к несколько других биты, которые не являются важными для данного ответа). Однако, это отключение, что фактически освобождает дисковых ресурсов.
Это приводит к некоторые другие интересные эффекты. Во-первых, можно открыть ссылку на файл, чье число равно нулю. Это происходит, когда РМ -РФ /удалить запись
/Бен/РМ`. Файл открыт (есть дескриптор файла для него), но инода помечается как удаленная (ссылка кол-во = 0). Дисковые ресурсы не будут освобождены и использованы повторно до тех пор, пока дескриптор файла закрывается.
Еще один интересный эффект-это то, что происходит, когда у вас есть инода с счетчик ссылок больше нуля, но ничего в файле слоя именования, указывающего на это. Это, в некотором смысле, очень хорошо спрятаны файл :). Чтобы получить к ним доступ вам придется использовать что-то низкий уровень, чтобы ссылаться на него по номеру inode, а не по имени (потому что это'т) или редактирование записи каталога указывают на дескриптор, используя HEX-редактор.
Третий интересный эффект, что произойдет, если вы уменьшите количество ссылок к нулю, но точки все равно запись в каталоге в иноде. Я'Лл оставить вас, чтобы экспериментировать с, если вы'd, как. Ясно, однако, что эти последние два оба ведут к файловой системе, в несогласованном состоянии.
Предыдущие ответы хороши, но я хочу уточнить одну деталь:
РМ
это'Т просто команду. Это программа, которая находится в "путь".
Поэтому то, что происходит, когда вы выполняете следующие:
РМ
загружается в память с аргументами РФ
и /
РМ
начинает свою деятельность (пройдя через все установленные / раздела и рекурсивное удаление ссылок на него [извините за техничность ;)])программа РМ
выгрузкеПросто ради понимания, как это работает, попробуйте установить LAMP на Ubuntu (в VirtualBox), какой-то скрипт и PHP опкод кэш, а затем вызвать эту команду зла. На удивление (если Вам повезет и ваш опкод кэша выиграл'т уведомления файл php удаление) вы сможете получить доступ к PHP-скрипты из вне через вебсервер Apache!
ЗЫ: эта команда зло даже побежал как корень не удалить "все", он не может удалить некоторые ядра привилегированные процессы из файла/proc и не может удалить некоторые вещи из устройства/dev`, которые появляются в системе как файлы. На самом деле, корень не такой всемогущий, как мы думаем, ядра с другой стороны.
ППС: также как второй мысли будут по-прежнему есть файлы, которые были заблокировано другим процессом при попытке удаления.
Как только все будет стерта с жестких дисков ядра до сих пор работает, но застрял, так как нет устройств и программ, команд и т. д. слева.
ОС выиграл'т работать больше.
И это's садится, что Оли говорит, команда загружается/выполняется в памяти и ничто не остановит его, если не убить этот процесс (конечно, если команда убьет еще присутствует ^^).
Обратите внимание, что если в системе SELinux и SELinux в принудительном режиме, и SELinux'политика настроена правильно; то ничего особенного не произойдет.
SELinux-это мандатный контроль доступа, а значит, среди многих вещей, что пользователь root не намного больше энергии, чтобы разрушить систему, чем любой другой пользователь в системе.
SELinux это действие в ядре; вы должны были бы нарушить ядра для того, чтобы обойти его.
На хорошо продуманной системе с хорошим политику SELinux, корень не смогли бы сделать многое в системе.
Более поздние версии Андроид имеют SELinux в исполнение только по этой причине.