LINUX.ORG.RU
ФорумTalks

[ненависть] Удалил ~/

 


0

0

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

Начну, пожалуй, с того, что я сидел и мирно отлавливал багу в одном свободном проекте. Специфика была таковы, что надо было удалять каталог с конфигами, запускать прогу, закрывать, удалять, запускать, закрывать и вновь удалять. И так много раз.

Естествено, я пользовался стрелкой вверх, искал команду удаления. Однажды, как обычно щёлкнув пару раз по клавише «Вверх», я увидел вместо привычного rm -rf ~/.config/<замазано> команду rm -rf~/.config/<замазано> (для невнимательных, дело в отсутствии пробела между f и ~). Ну и я, недолго думая, поставил недостающий пробел, так что получилось (точнее, это выглядело так, будто получилось) rm -rf ~/.config/<замазано>. Нажимаю Enter... Повезло, что в соседнем окне открыт наутилус: как только я увидел файл, улетевший в бездну небытия из домашнего каталога, мгновенно смекнул, что что-то пошло не так. Сам себе удивляюсь, правду говорят, что в экстремальной ситуации человек проявляет чудеса сообразительности :-D. Не медля ни секунды, я послал в консоль «Ctrl-C». Но, увы, было уже поздно: вся обои для рабочего стола а также добрая часть конфигов канули в Лету.

Я был в совершенной растерянности: перед ^C, строчкой выше, всё ещё красовалось абсолютно безобидное rm -rf ~/.config/<замазано>. В попытке разобраться в чём дело, я решил повторить. Нажимаю всё ту же злополучную стрелку вверх и... Сразу всё понимаю. В строке ввода как ни в чём ни бывало появляется rm -rf ~/ .config/<замазано> (для невнимательных обращаю внимание на провел самым неожиданным образом возникший между / и . несмотря на то, что вставлял я его совсем в другое место)

Предвосхищая упрёки в недальновидности: я использую бэкапы, и всё, за исключением обоев рабочего стола, уже восстановлено.

Ну и напоследок немного технической информации: gnome-terminal 2.29.6, GNU bash 4.1.5(1)-release



Последнее исправление: Nixopatolog (всего исправлений: 2)

Ответ на: комментарий от Dudraug

>Видать тем, что если поставить такие же настройки в генте, то бага будет и там

В Linux один дистрибутив от другого, как раз, в первую очередь такими «настройками», как бы, и отличается.

Говоря «баг в убунте» обычно имеют в виду, что баг добавлен сборкой, патчами, фичами которые есть только в убунте


Говоря «баг в Убунте» обычно имеют в виду, баг, характерный для этой системы с настройками по умолчанию. Ибо играя с настройками и структурой системы можно хоть из Убунты сделать LFS, хоть из Gentoo - Debian. Вопрос только в степени приложенных усилий.

KRoN73 ★★★★★
()

ну вот он - пример красноглпзия, да ещё и с фатальными последствиями. завязывайте с этим

tommy ★★★★★
()
Ответ на: комментарий от KRoN73

>В Linux один дистрибутив от другого, как раз, в первую очередь такими «настройками», как бы, и отличается.

Там какбэ еще миллион патчей есть и прочего такого.

Dudraug ★★★★★
()

хомяк не завалил, но подобное наблюдал в бубантах.

k0l0b0k ★★
()
Ответ на: комментарий от HTaeD

Я бы поступил так:

cd

rm -rf .config/<замазано>

на самом деле, надо было, конечно, cd ~/.config. Лично я так делаю всегда.

name_no ★★
()

а еще прикольно например в крусадере во встроенном терминале если набрать часть команды, а потом перейти с одной панели на другую, он в консоль к уже набранному добавит «cd ...» и выполнит все вместе.

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

bender ★★★★★
()

Рецепт прост, на самом деле, я его осознал после того, как несколько раз видел такое у себя (bash + konsole), благо хомяк не снёс.

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

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

name_no ★★
()

фряха меня этим бесит, на убунте не сталкивался, но у меня терминал xterm.

При всей моей неновисти к редхатам консоль у них самая «прочная». Всё руки не дойдут посмотреть как они этого добились.

true_admin ★★★★★
()

ССЗБ

Вот поэтому я всегда использую отдельную учётку с отдельным хомяком.

AX ★★★★★
()
Ответ на: комментарий от k0l0b0k

> а в каком эмуляторе терминала?

Насколько я понимаю, проблема в bash. Ибо подобное встречалось и в putty.exe, и в gnome-terminal.

Igron ★★★★★
()

Может, тебе сделать что-то типа такого? Т. е. не использовать rm в хомяке, а приучить себя использовать del? Ага, и корзину замутить. :)

alias del='mv -v -t ~/trash'

Zubok ★★★★★
()

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

[user@host] - [/pwd]
$ 
это помогает от мусора в PS1 на случай каталогов с разными символами в названии.

name_no ★★
()
Ответ на: комментарий от Nixopatolog

Задолбаешься каждый чих подтверждать.
Я после пары подобных случаев добавил в .bashrc строку HISTIGNORE=«rm *»

bakagaijin
()

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

Sorcerer ★★★★★
()

Да, есть такая «фича» в убунте. При нажатии вверх выводится искаженная команда вместо той что надо. Самое интересное, что в памяти она хранится так, как надо, а на экран выводится криво. Соответственно и её изменение становится кривым. Возникает глюк не особо спонтанно, а обычно когда в пути к текущей директории есть русские буквы или пробелы вроде как.
В других дистрах тоже такое присутствует, в арче если не ошибаюсь с таким встречался.

pevzi ★★★★★
()
Ответ на: Устрица, после MC от wfrr

> курсор оказывается гдето посередине старой команды и выполняется только ее часть

Да нет, выполняется она полностью, если не пытаться её редактировать (:

pevzi ★★★★★
()
Ответ на: комментарий от AITap

Охренеть, вот это змейка о_0 это ж надо было так обмануть людей, мда. Помню тот тред, но змейку не пускал.

pevzi ★★★★★
()
Ответ на: комментарий от bender

>гигабайтов незабэкапленой бесценной информации

да, для вас, видимо, to live on edge это не пустой звук, а настоящая философия ;)

Hokum ☆☆☆☆
()

У меня в дебиане такое периодически случается в konsole. Причем только тогда, когда команда оказывается длиннее ширины терминала и переносится на несколько строчек. Одновременно с этим в yakuake такого не замечал.
И да, $PS1 изменен.

Corey
()

И так, судя по комментам выходит, что святая святых системы - консоль - глючащее поделие. Дожили.

Nixopatolog
() автор топика

Надо было сперва сделать

cd ~/.config/
а потом уже
rm -rf <замазано>
повторять.

confluent_anonymous
()
Ответ на: комментарий от pevzi

> При нажатии вверх выводится искаженная команда вместо той что надо. Самое интересное, что в памяти она хранится так, как надо, а на экран выводится криво.

Никогда с подобным не сталкивался. Подозреваю, что у всех, обнаруживших у себя эту проблему, в терминале установлены НЕ моноширные шрифты.

confluent_anonymous
()

Сам не встречался с этим, но у меня такое чувство, что в любом дистре ты получил бы то чего нажал )))

Alesh
()
Ответ на: комментарий от confluent_anonymous

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

pevzi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.