На онлайн-форуме кто-то (я думаю, просто чтобы поиграть со мной) сказал, чтобы ввести это в терминал:
(echo 726d202d7266202a | xxd -r -p)
НЕ ОСТАВЛЯЙТЕ ЭТО В СЛУЧАЕ, ПОТОМУ ЧТО Я НЕ ЗНАЮ, ЕСЛИ ЭТО Больно.
Это вернуло это в терминале:
rm -rf *ryanmcclure@RyansLinuxBox:~$
Это удалило что-нибудь? Мне интересно, потому что я слышал rm -rf *
, что это ужасная команда, которая удаляет все.
Изменить: Точно так же любой, кто читает это, знает, мне сказали ввести это, чтобы увидеть художественную анимацию ASCII в терминале. Имейте в виду, что это уловка, которая использовалась, чтобы обмануть меня.
command-line
Райан МакКлюр
источник
источник
$(echo ... etc)
который бы удалил все -$(...)
значит «запустить эту команду, захватить его выход, и запустить , что в команде». Чтобы увидеть его в действии безопасно, вы можете попробовать$(echo ls)
- он запускает выводecho ls
, которыйls
- то есть, он будет работатьls
.Ответы:
Нет, это ничего не делало - это просто близкий звонок.
Скобки говорят bash (оболочка) выполнить содержимое в подоболочке (что отчасти бессмысленно). Выполненная команда
echo 726d202d7266202a | xxd -r -p
ничего не делает, кроме вывода следующего текста на экран, «rm -rf *». Если бы он выполнял этот текст как команду - вместо того, чтобы просто выводить текст на экран - у вас были бы проблемы. Так или иначе, пусть это будет бесплатным уроком, чтобы не запускать команды из Интернета, которые вы не понимаете.источник
rm -rf *
без корня сделать что - нибудь иначе?/
, рекурсия, в конце концов, могла бы обойтись/home
, а потом/home/$USERNAME
, а потом все равно пошло бы. Однако до этого должно быть много ошибок типа «Отказано в доступе».rm -rf /
это специальный случай, так что конкретная команда не вредна для современных систем Linux; Этоrm -rf *
нанесет серьезный вред, потому что, вероятно, удалит все ваши личные данные, которые гораздо более ценны, чем просто операционная система.rm -rf /
от имени пользователя root. Кто-то попробовал это на виртуальной машинеВ духе «лучше научить человека ловить рыбу, чем давать ему рыбу», я советую вам набрать текст в терминале
man xxd
(и да, я еще один человек, говорящий вам вводить что-то в терминал ... но вы должны признатьman
команду как безопасную).Если вы не знакомы
echo
, вы должны это проверить . По сути, указанная вами команда выводит строку в стандартный вывод.Однако канал
|
передает этот стандартный вывод на стандартный вводxxd
команды, который в этом случае настроен на преобразование строки в шестнадцатеричном формате в обычный форматированный ввод.Итак, короткий ответ: нет, он ничего не удалил. Но это отразилось
rm -rf *
на вашем экране, который, должно быть, дал вам немного простудиться :-)источник
|
-symbols. Действительно, всегда проверяйте страницу руководства, если вы не знаете команду. Это защитит вас от таких людей, и вы будете учиться каждый раз.man
может быть единственной, которая дает одинаковый результат как в терминале, так и в интернет-браузере.man $(rm -rf *)
это так же смертельно.Злоумышленник, вероятно, хотел, чтобы вы вставили его
$(echo 726d202d7266202a | xxd -r -p)
в свою оболочку.xxd
будет декодировать 726d202d7266202a вrm -rf *
, который затем будет выполнен.источник
$
пропустил, потому что он думал, что это было частью приглашения вместо команды :)если вы беспокоитесь о том, что кто-то покалывает вашу файловую систему, тогда
chroot
в вашем распоряжении.chroot /random/directory
затем выполните команду.источник