Критическая ошибка gzip (HELP!) - как отменить 'gzip -r ./'

5723
veerman

Поэтому я надеялся сделать резервную копию всей структуры каталогов в gzip-файле, но я был очень глуп и выполнил команду 'gzip -r ./', надеясь добавить все файлы и папки в один архив gzip. Это, очевидно, очень неправильно, но прежде чем я успел выйти, он сжал каждый из моих файлов по отдельности (рекурсивно) и удалил оригинал. Теперь у меня есть файловая структура, которая полностью состоит из сжатых файлов. Кто-нибудь знает команду отменить то, что я сделал (т.е. извлечь файл gzip на месте, а затем удалить файл gzip)?

Я в отчаянии. Спасибо x1000 заранее.

Редактировать: Грег, ты потрясающий. Так просто, но 'gunzip -r ./' решил это! Спасибо всем большое!

6
это, вероятно, близко: `find -type f -name '* .gz' | xargs gunzip` Frank Farmer 13 лет назад 1
Вы пробовали `gunzip -r. /`? Greg Hewgill 13 лет назад 1
Хех. Но обязательно * сначала сделайте резервную копию * на этот раз. Как правило, отменить пропавшие упсоны сложнее, чем первоначальные. 13 лет назад 1
Я переместил свой комментарий в ответ, так как это решило вашу проблему. Greg Hewgill 13 лет назад 0
В будущем, если вы хотите сделать резервную копию всей файловой системы в формате gzip, используйте `tar czf backup.tar.gz /`. Patches 13 лет назад 0

1 ответ на вопрос

11
Greg Hewgill

Чтобы отменить это, используйте противоположную команду:

gunzip -r ./ 

Обратите внимание, что оригинальная gzipкоманда пропустит файлы, которые уже имеют .gzсуффикс, потому что нет смысла сжимать их дважды. Однако приведенная выше gunzipкоманда распаковывает такие файлы, потому что не знает, что gzipих пропустило.

Хорошая мысль - это может быть аргументом для использования идеи поиска с -cmin (или -ctime, если это было несколько дней назад) в качестве дополнительного квалификатора, чтобы избежать разархивирования того, что изначально было файлами gz во время случайной команды. Chris Stratton 13 лет назад 1

Похожие вопросы