Эта команда сначала запросит пароль администратора, а потом сотрёт содержимое текущей директории.
Для тех, кто говорит, что нефть получилась из динозавров, сформируем Государственный Единый Отряд Легкодоступного Объяснения Геологии (ГЕОЛОГ).
это так не работает. особенно если передан ключ -f, что значит force/принудительно. уже ничего не спросит.
На самом деле на диске было, к примеру, 13 гиг инфы разной, я устанавливала что-то через Homebrew, оно не становилось потому что мак старый, был другой способ установить, но нужно было удалить то, что там загрузилось. Через sudo, блин. Начало удаляться что-то много всего. Я остановила процесс. А в процессе еще спросило разьеденить ли ключи, я нажала "да". И вот информации так осталось на диске занято 13 гиг, но я ее не вижу. Восстановить ключи обычным способом, описанным в интернете не получилось(
baobab себе поставьте. оно показывает в виде дерева, что занимает место, и можно достаточно легко найти файлы. может быть в папках начинающихся с точки (типа скрытых). просто идете по лучу который самый большой оно вам будет показывать лучики дальше и так пока не попадете в нужное место
brew install baobab (если для мака)
Баобаб это не файловый менеджер. Это специальная тулза для анализа где и что занимает место на диске.
Это Вы с парнем можете даже прямо во время соития передумать.
А *NIXы в консоли ошибок не прощают. У консольных команд в 95% случаев нет "корзины", trashcan ставят единицы. Если удалили - значит удалили. Насовсем. Если ОЧЕНЬ быстро спохватитесь и рубанете питание, то после долгой ебли специалист вам восстановит ваши файлы. Но очень зависит от типа FS, квалификации специалиста и многого другого.
Я ответила на троллякино "зачем удаляла" по-троллячьи, не берите в голову. На самом деле вот так все было: #comment_250043043
А юниксы разве при удалении не просто помечают сектора как свободные для записи? И в чем пттом проблема вытащить инфу, если поверх ничего не писалось?
В том, что это не дос и у практически любого никса продолжает работать куча служб, фоновые сервисы, пишутся логи, идет работа с фс. И повезет ли именно Вам, что система обойдет стороной недавно освобожденные сектора - вопрос.
Ну и куча вариантов фс не облегчают задачу восстановления, ладно если это более-менее известная ext4. А если что-то поэкзотичнее?
Как то раз я проебался и удалил файлы оракла под редхатом. Меня спасло то, что nix не удаляет файлы физически и если они открыты на запись, то программа, которая их открыла продолжает с ними работать.
`zfs rollback` )
Но перед этим надо создать снепшот, на который можно будет в случае чего этот самый роллбэк.
Ну, теоретически, если там hdd, а не ssd, то можно попробовать вытянуть инфу. Но это не быстро и не дёшево, а вернуть как было точно не получится.
А какая разница HDD или SSD? Хотите сказать, что они ведут себя по разному в случае быстрого удаления файлов? Типо SSD подтирает не только файловую таблицу, но и сами данные?
Если мы про восстановление удаленной информации, то в первую очередь важен физический принцип записи. Чтобы окончательно удалить что-то с hdd нужно в тебе сектора(физические) записать что-то (например нули), удалить это, снова записать и снова удалить, тогда точно ничего уже не восстановишь.
Я про быстрое удаление фалов. При быстром удалении файлов подтирается участок в файловой таблице, сами данные зачем трогать? И для HDD и для SSD это справедливо.
Так ведь то что система называет удалением, на самом деле не удаление, а разрешение системе писать поверх ячеек, где раньше располагался этот файл. Физически с данными ничего не происходит, вне зависимости от типа носителя.
Можно без пароля, если в конфиг /etc/sudoers добавить строку:
/dev/random
Но это медленно и энтропия быстро кончится, лучше /dev/urandom
Но это опять же неэффективно и медленно, да и смысла нет.
Лучше будет dd of=/dev/sda if=/dev/zero bs=1048576
Так и чтение будет быстрое и запись неплохая.
А нафига? shred работает на уровне файлов. dd мы можем минуя все абстракции файловых систем и томов записать прямо в блочное устройство.
я ж говорю, "man shred", бро.
shred работает на уровне файлов И на уровне блок-девайсов тоже, прям как дд. и ещё шреду можно сказать как именно блок-девайс затирать и сколько раз.
Гуманный ты человек, посоветовал без привязки к системному диску, так хоть не все себе систему уничтожат
Я б еще порекомендовал перемонтировать систему в виртуальный диск в оперативной памяти, тогда система больше проживет пока будет все удалять. Скорее всего даже продолжит работать когда все диски будут чистые до первой перезагрузки )
Я только поверхностно понял что вы тут говорите, но мне показалось что для вас уже уготованно отдельное место в аду)
Но чтоб её добавить понадобится пароль, но можно и без него. Перезагружается, нажимаем e в меню grub, после в конце строчки которая начинается на linux пиши init=/bin/bash, f10, mount / -o remount,rw вставляешь строчку и перезагружаешься
http://neolurk.org/wiki/Rm_-rf
Только в данном случае вместо rf используется fr, что похоже на сокращение от французского языка, ну и удаляется содержимое текущей папки, а не всего диска.
Короче, вредный совет такой.
Ну, если сервер боевой, то начальник админу после исполнения этой команды точно задвинет между булок.
Это смотря что надо. Для домашних задач большинства пользователей (фильмы, музычка, интернет и т.д.) можно просто из коробки ставить, и в большинстве современных дистрибутивов всё будет работать. Как бы, там и мануалы курить не надо, и вообще ничего менять.
-fr это 2 опции
-f - Игнорировать несуществующие файлы и аргументы. Никогда не выдавать запросы на подтверждение удаления.
-r - Удаление директорий и их содержимого. Рекурсивное удаление.
А удаление происходит из корневого раздела. На что указывает "/" в конце, что равноценно удалению всей системы
Вроде так
Только перед /, есть точка, а это уже значит текущая папка. Корневая идет без точки, домашняя юзера это тильда:~
Только здесь не корневой раздел, а текущий. Корневой без всяких —no-preserve-root удалить не выйдет в большинстве систем.
Вот, нашел
#comment_217752463
Есть огромная разница между /* и ./* Учите матчасть. Эта точка тут значит очень многое. Это раз. И я не знаю, в каком лохматом году вы проводили такой эксперимент. Современные системы не лалут так просто снести, прилётся хотя бы дописать —preserve-no-root. Только вместо тире два дефиса, у меня автозамена срабатывает с телефона.
окей, и почему там "*", по вашему?
мой пойнт - чтобы удалить все не-скрытые файлы и директории в корне, но не трогать сам корень. именно поэтому --preserve-no-root не нужен (потому что сам корень не удаляется).
а ваш пойнт про "*" каков?
А не будет «пойнта», честно говоря. Во-первых, я на «новопидорском» (не в обиду, иронизирую над молодёжным сленгом, вспоминая недавний мем) не говорю, потому не очень понимаю, какой смысл вы вкладываете в слово «пойнт». Во-вторых, боюсь, спор просто будет лишён смысла, ибо слишком много деталей, и всё проверить я не могу.
И man rm как-то не особо помогает.
Условно, shell, bash, zsh уже могут вести себя по-разному. А в разных ОС и ещё по-разному. Из интереса ввел команду у себя, меня спросили, действительно ли я хочу снести всё в /Users/EHOTnOTACKYH. Включая скрытое. Только проблема уже есть, я то вводил rm -rf /*. А не rm -rf /Users/EHOTnOTACKYH. То есть, макось, например, не даёт мне выполнить команду вне моей папки by default и by design так, как я попросил это сделать. Ну и ключ -rf как бы указывает, что меня переспрашивать не надо, а меня переспрашивают всё равно.
Логика в ваших рассуждениях ясна и понятна, но проблема в том, что оно не работает так, как должно практически в любом современном дистрибутиве. Хоть смейтесь, хоть плачьте, но даже роутер под OpenWRT не даёт себя вот так убить.
Ёбаные системы, считающие себя умнее того, кто ими управляет 🤷🏻♂️
ваш пойнт - доебаться до слова "пойнт", а не по делу камент написать, я понял.
короче. в линуксе при конструкции "/*" никаких --preserve-no-root не нужно. от шелла это не зависит, опции парсит сама команда, а * во всех нормальных шеллах значит одно и то же.
на маке видимо есть отдельная защита пользовательской директории, на мэйнстрим линуксах её нет.
Да. Вы правы.
Я один раз систему попортил из за глупой, казалось бы, ошибки. Мне нужно было удалить директорию var внутри какого то проекта, но я зачем перед названием поставил /. Что привело к удалению уже из корня системы очень важной на тот момент папки /var. Восстановить я ее не смог, поэтому пришлось переустанавливать систему :)
Сдаётся мне, сударь, вы сказки тут рассказываете. Ибо если просто ввести в терминале «rm -rf», то удалит эта команда ровно нихуя.
Ну а ещё, чтобы не говорили, что забыли дописать косую черту, можете ввести на Маке «rm -rf /» и наблюдать такое сообщение:
rm: “/“ may not be removed
Удалялось через rm -rf /* лет 7-8 назад только в путь, ради прикола проверяли и делали ставки на HP-UX, Debian, SUSE и Ubuntu.
снес систему и установил заново
Вот честно, я с трудом себе представляю, что нужно сделать с макосью, чтобы понадобилось переустанавливать систему. Я с 2006-го года, когда взял себе первый MacBook, делал это ровно два раза: первый раз, когда навернулся жёсткий диск и я поставил новый, второй раз буквально через один час после этого, когда оказалось, что я разметил диск при установке, как чувствительный к регистру символов, и ряд софта, вроде Фотошопа, с такой файловой системой не дружит. Итого, за 16 лет две, а, по сути, одна переустановка, и та по причине поломки винта, а не системы.
В 2019-ом, если только у вас не совсем древняя система была, пришлось бы сначала перезагрузить комп, удерживая зажатыми Cmd+R, отключить через терминал SIP, и только после этого система дала бы себя сломать. SIP в macOS появился в 2015-ом. И версия с древней системой тоже сомнительна, ибо вы пишете, что использовали Мак для разработки, а разработчиков Apple заставляет пользоваться свежими версиями: если Xcode вообще крайне требователен к сведести ОС, то даже если сам он и не нужен, то всё равно без всяких xcode-tools тот же homebrew не заведётся, а собирать всё из бинарников — ну, такое себе. 🤷🏻♂️
Мне просто реально было лень разбираться что там у меня тогда проебалось, какие библиотеки и тд, и тп
Скажите, есть способ восстановить данные? Я французский не удаляла, а вообще из текущей папки да, еще связку ключей зачем-то с перепугу разъеденила( а там были фотки мамы( и я вижу что информация место занимает, как ее вытащить непонятно
Данные восстановить можно только в случае, если вы ничего не писали. обычно в таком случае тушат сразу систему, гшрузятся с чего-то внешнего и делают бинарную копию раздела (через dd) потом с нее восстанавливают то, что удастся. Если система после этого работала и была интенсивная запись (а браузер для кеширования дофига пишет, логи система тоже пишет) то с большой вероятностью данным жопа.
Кстати, если у вас ссд и файловая понтирована с аналогом линуксовой опции discard (а мне почему-то кажется что это дефолтно на маке), то после удаления диску будет отправлена команда которая говорит, что можно использовать эти области заново. ССД иногда перезаписывают данные сами чтобы избежать прокисания, он держит еще одну таблицу, которая мапит области которые файловая считает областями на диске на реальные сектора) . так что после этого даже если вы вычитаете раздел бинарно накопитель вам ничего не вернет, нужно будет нести к специалистам, чтобы они выпаивали чипы и вычитывали инфрмацию с них.
команда rm (remove) выполняет удаление флаги r (recursive) f (force) удалят все файлы во всех вложенных папках. т.е. если запустить команду из корневой папки системы то команда почистит весь диск в том числе и систему
IT-юмор
5.8K пост52.7K подписчиков
Правила сообщества
Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору