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)

Да. Бубунта она и в африке Бубунта.

dragonfly
()
Ответ на: комментарий от FeiWongReed

если я правильно понял о чём речь, так это о том, что то, что показывается в консольке и то, где «видит» курсор система - 2 разницы. есть такая «фича». да, в бубунтах есть, как в других дистрах не знаю.

gunja
()

А меня от такого в свое время спасла папка distros весом 30гб. rm первым делом начал удалять ее.

edigaryev ★★★★★
()

Скучно же.

я использую бэкапы

Тьфу. Зря простыню читал.

Camel ★★★★★
()

Устрица, после MC

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

wfrr ★★☆
()
Ответ на: комментарий от gunja

> что то, что показывается в консольке и то, где «видит» курсор система - 2 разницы

Угу, всё верно :(

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

> вот в этом

так что получилось (точнее, это выглядело так, будто получилось) rm -rf ~/.config/<замазано>.

Я просто не мог знать, что там получилось на самом деле.

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

>надо было удалять каталог с конфигами, запускать прогу, закрывать, удалять, запускать, закрывать и вновь удалять

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


Я бы поступил так:
cd
rm -rf .config/<замазано>

И никаких rm -rf ~/<...>

HTaeD ★★★★
()

Ubuntu - это древнее африканское слово, которое означает ССЗБ

Что-то много тем сейчас на ЛОРе о том, какое убунта г. Раньше такого даже перед релизом не было.

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

wfrr> в консоле вообще лютый писец творится, курсор оказывается гдето посередине старой команды и выполняется только ее часть, в общем пипец.

Есть такая чудесная команда консоли - clear.

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

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

Которое превращается в rm -rf . config/<замазано>

Где . - это текущий каталог. Интересно, прокатит?

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

>По крайней мере поможет быстрее заподозрить неладное и нажать Ctrl-C

Ключ -i полностью игнорируется, если после него указан ключ -f. Так что это не поможет.

legolegs ★★★★★
()

Ещё одна причина бросить замашки Ъ и пересесть на какой-нибудь файловый менеджер.

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

>Ещё одна причина бросить замашки Ъ и пересесть на какой-нибудь файловый менеджер.

чтобы случайным кликом сносить сразу весь хомяк без возможности прерывания

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

>Юникод-с, локалис-с, батенька.

Нет, это бубунта. Я каждый раз, когда в бубунте работаю, отмечаю сильное неудобство консоли по сравнению с Gentoo :)

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

Мышь можно выдрать, если она жить мешает, да. Тогда случайно кликнуть не сможешь. А вот про «без возможности прерывания» это надо пользоваться правильными ФМ.

Deleted
()
Ответ на: комментарий от Quasar

> Есть такая чудесная команда консоли - clear.

^l же.

ss-v
()
Ответ на: комментарий от legolegs

> Ключ -i полностью игнорируется

точно :( Ок, с привычкой ставить -f покончено раз и навсегда!

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

Мораль: проверяйте, не напечатано ли лишних символов перед PS1, перед тем, как редактируете команду. libreadline штука не всемогущая, и может сбиться, неправильно определив, где же находится курсор.

Относится не только к бубунте.

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

Можно и в консоль мусор из буфера вставить. Проще выбросить компьютер и идти рубить лес. Задумал что-то делать — заблокируй клавиатуру, а ССЗБ не спасёт ничто.

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

> случайно кликнуть

Если брать подобного рода случайности, нельзя забывать про вероятность порчи данных случайно попавшим в жесткий диск метеоритом. В моём же случае со стороны оператора никаких случайностей допущено не было (ну разве что -f вместо -i или на худой конец хотя бы -v :)

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

>если я правильно понял о чём речь, так это о том, что то, что показывается в консольке и то, где «видит» курсор система

УМВР - ЧЯДНТ? мб проблема в терминале?

annulen ★★★★★
()

Что ж, сочуствую.
Поделюсь своим опытом: наткнулся в Talks на тред «змейка на sed», скачал, посмотрел, закладки не нашёл и запустил.
Сначала всё было нормально, я некоторое время поиграл, потом надоело, я врезался в стенку и с удивлением обнаружил, что жёсткий диск зашевелился, а в топе процессов conky стоит rm. Быстро ввожу команду killall rm и обнаруживаю, что ~30% хомяка отправилось в ту страну, где не существует команды rm :)

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

Которое превращается в rm -rf . config/<замазано>

Где . - это текущий каталог. Интересно, прокатит?

$ mkdir -p ttt/aaa/.config && touch ttt/aaa/.config/bbb && echo "adad" >> ttt/aaa/.config/bbb && cd ttt/aaa
┌ ~/ttt/aaa
└ $ rm -rf . config/bbb
zsh: correct 'config/bbb' to '.config/bbb' [nyae]? n
rm: cannot remove directory: `.'

ЧЯДНТ?

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

> мб проблема в терминале?

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

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

>А там у вас тот же bash и тот же gnome-terminal?

Да :) Я так понимаю, что тонкости где-то в настройках терминала. Но в Бубунте у меня чисто потребительское юзание (для того и стоит) и глубоко ковыряться ломает.

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

> rm: cannot remove directory: `.'

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

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

> змейка на sed

~30% хомяка отправилось в ту страну

Жестоко.

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

> Нет, это бубунта.

Нет, это кривые настройки то ли локали, то ли шрифтов в бубунте. Видел такое в терминалке физматшколы, дети там плакались.

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

ЕМНИП, помогает смена шревта в терминале.

В своей генте подобного никогда не видел и не представляю, как это сделать.

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

В консоле поставить terminus размера 11. Будет ШГ и примерно то, что описал ТС

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

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

У вас неправильная консоль. У миня все щикарно

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

>> Нет, это бубунта.

Нет, это кривые настройки то ли локали, то ли шрифтов в бубунте.


Ну и чем это отличается от того, что я сказал? :D

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

Фигасе, я помню этот тред. Еще сомневался, запускать эту змейку или нет. Хвала небесам, что проявил благоразумие.

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

Видать тем, что если поставить такие же настройки в генте, то бага будет и там. Говоря «баг в убунте» обычно имеют в виду, что баг добавлен сборкой, патчами, фичами которые есть только в убунте, что появление этого бага на других системах ->0.

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