Отменить последнюю команду линукс

Отменить команду утилиты Linux

Можно ли отменить операции, выполняемые в терминале, например, удаление файла через rm ?

  1. Искажения
  2. Утилиты Undelete
  3. Утилиты резервного копирования
  4. LibTrash
  5. Управление версиями (FUSE)

12 ответов

Для каждой операции в терминале нет общего «отмены». Если вы хотите восстановить файл после использования rm , вам нужно будет искать программное обеспечение для восстановления.

Опция предотвращения будущих ошибок заключается в том, чтобы сделать alias es для альтернативных команд для удаления файлов. Добавьте их в свой

/.bashrc и привыкнуть использовать их вместо rm .

Если вы используете rmi , вам будет предложено подтвердить удаление в будущем. Попытайтесь избежать привычки сразу нажать y после того, как вы внесете команду rmi , так как это победит цель.

Вы также можете перемещать файлы, удаленные командой trsh в терминале, в ваш корзину (в KDE и Gnome):

Если вы используете trsh , у вас будет ограниченная возможность «восстановить». Остерегайтесь, что

может по-прежнему вызывать неустранимую потерю данных.

В командной строке нет корзины.

Вы можете попробовать некоторые утилиты undelete, но нет гарантии, что они будут работать.

Вы можете использовать trash-cli , если вы используете KDE при запуске gui , Это утилита командной строки для удаления /восстановления с использованием средств утилизации KDE.

Вы можете сделать rm псевдоним для trash (сначала вам нужно установить trash ). Добавьте это в свой

Это предпочтительнее alias rm=’mv —target-directory=$HOME/.Trash’ , так как

/.Trash НЕ является папкой мусора для gnome. Лучше ИМХО позволить trash определить, где находится фактическая папка мусора.

btw Я бы разместил это в комментарии, но мне не хватает репутации.

Еще два технических решения еще не названы:

  1. libtrash : динамическая библиотека, которая может быть предварительно загружена в вашей оболочке, которая перехватывает удаление /удаление системных вызовов и перемещение файлов в папку для мусора (как и псевдоним, но работает для любого приложения при предварительной загрузке).
  2. Файловая система версий. Если вы удалите (или отредактируете или скопируете или . ) файл, вы можете просто вернуться к старому состоянию. Это можно сделать с файловой системой FUSE и одним из ее файловые системы версий .

Здесь есть большой вопрос, заслуживающий внимания. Команды Shell не чаты (они не проверяют, что вы хотите), и они ожидают, что вы знаете, что делаете. Это имеет фундаментальное значение для дизайна . Это особенность, а не ошибка.

Некоторые люди чувствуют себя мачо, когда они используют такие команды, которые, я думаю, довольно глупы, но важно понять опасности. Вы можете нанести большой урон в терминале, даже если вы не root. Я думаю, вы, вероятно, действительно заботились о rm , но, поскольку вы сказали «Можем ли мы отменить операции, выполняемые в терминале», я подумал об этом стоило сказать. Общий ответ — нет, вы не можете.

Вариант 1: см. Отменить файлы Linux из файловой системы ext2 . На этой странице указывается программа, написанная Себастьяном Хетце из компании LunetIX, которая (как следует из названия) удаляет недавно удаленные файлы из файловой системы ext2. Пример использования:

  • Исходный веб-сайт исчез. Ссылка, приведенная выше, относится к Интернет-архиву.
  • Сайт (ы) находятся в смеси английского и немецкого языков.
  • Как указано выше, инструмент разработан специально для файловой системы ext2. Это вряд ли будет работать на любой другой тип файловой системы; особенно не одни, кроме ext N .

Вариант 2: У меня на компьютере работает rsnapshot (rsync), который делает моментальные снимки по моим выбранным папкам. Он постепенно делает это каждый час, 2 часа или все, что вы скажете CRON. После полного дня он восстанавливает эти снимки в один дневной снимок и через 7 дней в неделю и так далее и так далее. Это заставляет меня возвращаться во времени около месяца или около того на каждый час! Это довольно хорошо с дисковым пространством, поскольку оно создает символические ссылки на файлы, которые никогда не менялись .

Читайте также:  Версии операционной системы windows server

Источник

Можно ли отменить команду в оболочке bash?

Мне было интересно, есть ли (простая) возможность повторить / отменить команду, которая была выполнена в оболочке bash? (чтобы отменить это)

Есть ли что-то похожее на комбинацию ctrl +, z чтобы повторить какое-либо действие (например, в word или LibreOffice)?

Вы должны понимать, что bash это просто среда исполнения. Он выполняет команды, которые вы вызываете — дело не в том, чтобы оболочка даже знала, что делает команда, вы можете вызвать любой исполняемый файл, который захотите. В большинстве случаев даже неясно, что будет делать отмена — например, можете ли вы «разыграть» фильм? Можете ли вы «отослать» электронное письмо? Что бы, например, означало «отменить запуск firefox»? Вы можете закрыть его, но закладки, загрузки и история не будут одинаковыми.

Если вы запускаете команду, она выполняется независимо от того, что она делает. Вам решать, что вы делаете. Обратите внимание, что это не означает, что отдельные команды не имеют «отмены» . они могут — вы даже можете написать функцию-обертку, которая защитит вас от глупых ошибок.

Например, mv он легко обратим, просто переместив файл туда, откуда он пришел, если вы что-то не перезаписали. Вот почему -i существует переключатель, чтобы спросить вас перед перезаписью. Технически, инверсия cp есть rm , если что-то не было перезаписано (опять же, -i спрашивает вас об этом). rm является более постоянным, чтобы попытаться вернуть файлы, вы должны на самом деле сделать более низкий уровень взлома (для этого есть инструменты). Если вы рассматривали файловую систему как черный ящик, технически это было бы невозможно вообще (только детали логического и физического расположения данных позволяют вам контролировать повреждения). rm означает rm , что если вы хотите «мусор» функциональность, это на самом деле просто mv в какой-то заранее подготовленный каталог (и, возможно, запланированный сервис для его обслуживания или очистки) — ничего особенного в этом нет. Но вы можете использовать, -i чтобы предложить вам перед удалением. Вы можете использовать функцию или псевдоним, чтобы всегда включать -i в эти команды.

Обратите внимание, что большинство приложений защищают вас от потери данных по-разному. Большинство (

всех) текстовых редакторов создают файлы резервных копий

в конце на случай, если вы захотите вернуть старую версию. В некоторых дистрибутивах ls по умолчанию используется псевдоним, поэтому он скрывает их ( -B ), но они есть. Большая защита обеспечивается путем правильного управления разрешениями: не будьте пользователем root, если вам это не нужно, делайте файлы доступными только для чтения, если вы не хотите, чтобы они менялись. Иногда полезно иметь среду «песочницы» — вы запускаете вещи на копии, проверяете, все ли в порядке, а затем объединяете изменения (или отказываетесь от изменений). chroot или lxc может помешать вашим скриптам выйти из каталога и нанести ущерб.

Когда вы пытаетесь выполнять вещи массово — например, если у вас есть сложная команда поиска, хотя цикл, длинный конвейер или что-то в этом роде, хорошей идеей будет сначала просто echo выполнить команды, которые будут выполнены. Затем, если команды выглядят разумно, удалите echo и запустите его по-настоящему. И, конечно, если вы действительно не уверены в том, что делаете, сначала сделайте копию. Иногда я просто создаю архив текущей директории.

Говоря о tarballs — к сожалению, tarbombs и zipbombs довольно распространены (когда люди создают архив без надлежащего подкаталога, а распаковка разбрасывает файлы вокруг, создавая огромный беспорядок). Я привык просто делать подкаталог сам перед распаковкой (я мог перечислить содержимое, но я ленив). Я думаю о создании сценария, который будет создавать подкаталог, только если содержимое было заархивировано без подкаталога. Но когда это происходит, ls -lrt помогает найти самые последние файлы и поместить их туда, где они должны быть. Я просто привел это в качестве примера — у программы может быть много побочных эффектов, о которых оболочка не может знать (как это могло быть? Это другая программа, вызываемая!) Единственный надежный способ избежать ошибок — быть осторожным (подумайте дважды, беги один раз).

Читайте также:  Windows 10 iot enterprise download iso

Возможно, наиболее опасными являются команды, которые работают с файловой системой: mkfs, fdisk / gdisk и так далее. Они могут полностью уничтожить файловую систему (хотя при наличии надлежащего криминалистического программного обеспечения возможна хотя бы частичная обратная инженерия). Всегда дважды проверяйте устройство, которое вы форматируете, и правильное разбиение на разделы перед выполнением команды.

Источник

Есть ли способ отменить операцию последней команды в ubuntu? [dубликат]

Есть ли какие-либо инструменты, методы, заклинания для восстановления недавно удаленных файлов на Ubuntu?

Если это имеет значение, я хочу восстановить файл базы данных Keepass 2.x. Но было бы лучше иметь метод / инструмент, который работает с любым файлом.

22 ответа

Чтобы восстановить каталог, вы можете использовать extundelete

Установить extundelete sudo apt-get install extundelete Команда для восстановления sudo extundelete —restore-directory /home/Documents/ /dev/sda1

Примечание: вместо dev/sda1 введите свой раздел жесткого диска имя.

/home/Documents/ — ваш путь к удаленному указателю.

При использовании вторичного внутреннего HD (подозрительного же для внешнего HD) для восстановления импортированного файла (из основного HD, где первоначально были файлы), необходимо создать каталог, в который будут помещены файлы на вторичном HD , Для этого вам нужно сначала установить BIOS для загрузки с компакт-диска! 1. Запустите Live CD Ubuntu Rescue-Remix, дайте команду на загрузку, затем, когда он загрузится в терминал, проверьте свои HD-файлы командой — Код: sudo fdisk -l

Поймите, что такое HD, и которое является вторичным , и какой раздел для проверки файлов и в которые их восстановить — linux ext3 или Windows NTFS! Мой был Linux. Имейте достаточно места на нем! (Тогда вы можете попробовать запустить Photorec («sudo photorec»), и, надеюсь, вы сможете увидеть все свои HD-файлы. Мне не повезло, поэтому мне пришлось создавать каталог и монтировать sec. HD.)

Сначала создайте каталог для восстановленных файлов, например — носитель / диск. Дать команду — Код: sudo mkdir /media/disk

Если все в порядке, запрос терминала просто возвращается.

Сначала создайте каталог для восстановленных файлов, например. — носитель / диск. Дать команду — Код: sudo mkdir /media/disk

Если все в порядке, запрос терминала просто возвращается.

Запустить Photorec по команде — Код: sudo photorec

Перейдите по настройкам и выберите только те типы файлов, которые вам нужны, иначе у вас будет тысячи файлов для просеивания!

Для получения дополнительной информации посетите веб-сайт: http: /www..ubuntumanual.org / сообщения / 357 / восстановление, ваши удаленные-файлы-в-убунт

Я использовал прежде всего для восстановления поврежденного жесткого диска как под NTFS (windows), FAT32 (флеш-карта с телефона Nokia), так и с ext3 с отличными результатами. Только в командной строке, но это довольно просто, что-то вроде этого:

sudo foremost -i /dev/sda -o

Он закажет восстановленные файлы в папках по типу файла. Документы Openoffice восстанавливаются как zip-файлы. Поскольку вам нужно выполнить его как root (для прямого доступа к аппаратным средствам), выходные файлы также принадлежат root, поэтому вам, вероятно, придется впоследствии изменить их право собственности.

sudo apt-get install scalpel

для получения дополнительной информации

sudo apt-get install scalpel

Отредактируйте файл scalpel.conf и раскомментируйте типы файлов, которые хотите восстановить. Создайте пустую папку (например: recovered_data). Найдите раздел, в котором были ваши данные. Вы можете использовать lsblk для получения карты разделов.

Читайте также:  Windows 10 как найти paint

Запустить скальпель (предположим, что данные были в sda1)

sudo scalpel -o recovered_data/ /dev/sda1

Autopsy и инструменты Sleuthkit отлично подходят для восстановления удаленных файлов с удобным пользовательским интерфейсом, а также доступны в репозиториях.

extundelete действительно замечательно, если ваша файловая система — ext3 или ext4.

Примечание: extundelete требует от вас отключить ваш диск для правильной работы (это хорошая идея сделать ASAP в любом случае, чтобы избежать потенциальной перезаписи надежные восстанавливаемые байты в удаленных файлах).

Отключение диска в живой системе может быть сложным . вы часто получаете сообщение «device is busy». Чтобы очистить это «правильно», необходимо отключить все процессы, обращающиеся к файловой системе. Но . вы, вероятно, работали в своем домашнем каталоге, и в ваш домашний каталог зацепились миллионы процессов. Желаем удачи.

Трюк, чтобы обойти это, — это сделать «ленивый», unmount:

$ mount /dev/sda7 on /home type ext4 (rw) $ sudo umount -l /home

этот пример предназначен для подготовки моей монтировки /home для использования с extundelete. Вы, очевидно, должны заменить /home своим интересом. Я сначала выполнил команду mount, чтобы выяснить, какое устройство (/dev/sda7) мне нужно передать в extundelete (вывод сокращен для краткости), что является нижним регистром L в опции -l

R-Linux (студия восстановления) — одна из лучших. Я использовал этот инструмент много раз раньше. Я работал в компании, где они использовали коммерческую версию, в 9-10 раз она восстанавливает все, что вы хотите. Поистине превосходное приложение. Спасенный мой, и друзья позади много раз раньше.

R-Linux — бесплатная утилита восстановления файлов для файловой системы Ext2 / Ext3 / Ext4 FS, используемой в ОС Linux и нескольких Unix. R-Linux использует ту же технологию InteligentScan, что и R-Studio, и гибкие параметры параметров, обеспечивающие самое быстрое и надежное восстановление файлов для платформы Linux. Однако, в отличие от R-Studio, R-Linux не может восстанавливать данные по сети или восстанавливать RAID-массивы или предоставлять копию объекта.

Особенности (с их сайта):

R-Linux восстанавливает файлы:

Удалено вирусной атакой, сбоем питания или сбоем системы; После того, как раздел с файлами был переформатирован, поврежден или удален; Когда структура разделов на диске была изменена или повреждена. В этом случае R-Linux может сканировать диск, пытаясь найти ранее существующие разделы и восстановить файлы из найденных разделов. Из дисков с плохими секторами. В этом случае R-Linux может сначала скопировать весь диск или его часть в файл изображения, а затем обработать файл изображения. Это особенно полезно, когда на диске постоянно появляются новые плохие сектора, и оставшаяся информация должна быть немедленно сохранена.

Файлы восстановления R-Linux :

Удалены вирусной атакой, сбоем питания или сбоем системы; Host OS: вариант Linux : Linux, kernel 2.6 и выше Вариант Windows: Win2000, XP, 2003, Vista, Windows 7, Windows 8 После того, как раздел с файлами был отформатирован, поврежден или удален; Распознавание и разбор динамического (Windows 2000 / XP / Vista / Win7), Basic, GPT и BSD (UNIX) и схемы разделов Apple. Поддерживаются динамические разделы по GPT, а также динамические разделы над MBR. Когда структура раздела на диске была изменена или повреждена. В этом случае R-Linux может сканировать диск, пытаясь найти ранее существующие разделы и восстанавливать файлы из найденных разделов. Распознает локализованные имена. Из дисков с плохими секторами. В этом случае R-Linux может сначала скопировать весь диск или его часть в файл изображения, а затем обработать файл изображения. Это особенно полезно, когда на диске постоянно появляются новые плохие сектора, и оставшаяся информация должна быть немедленно сохранена.

Источник

Оцените статью