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

Отменить команду утилиты 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 .
Читайте также:  Windows 10 ltsc 2004 compact

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

Источник

🐧 Различные способы повторить вашу последнюю команду в Linux

Привет ! Сегодня я научу вас, как повторить вашу последнюю команду в Linux.

Вам не нужно повторно вводить ранее выполненные команды в вашей командной консоли.

Конечно, мы используем клавишу со стрелкой ВВЕРХ, чтобы выбрать последние выполненные команды, и нажимаем ENTER, чтобы выполнить их.

Однако есть и другие способы сделать это.

Может быть много способов повторить последние команды в Unix-подобных системах, но это единственные способы, которые я знаю в данный момнет.

Все эти команды были протестированы на моем настольном компьютере с Linux и Ubuntu 18.04 LTS с оболочкой BASH.

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

Как повторить вашу последнюю команду в Linux

Давайте сначала запустим несколько команд.

Как я упоминал ранее, мы можем выполнить последнюю команду, просто нажав стрелку ВВЕРХ и нажав клавишу Enter.

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

Этот метод будет работать во всех оболочках, независимо от используемого вами дистрибутива Linux.

Однако, как я уже сказал, есть несколько других способов сделать это.

Теперь позвольте мне показать вам, как выполнить последнюю команду с некоторыми практическими примерами.

Метод 1 – Использование восклицательных знаков:

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

Добавьте «sudo» перед «!!» чтобы выполнить последнюю команду от имени пользователя root, как показано ниже.

Эта команда также выполнит предыдущую команду:

Круто, не правда ли?

Вам не нужно вводить последнюю команду полностью.

Это может быть полезно, когда вы уже выполнили очень длинную команду и не хотите вводить эту команду полностью.

Способ 2 – повторить N-ую команду:

Возможно, вы выполнили много команд и хотите повторить определенную команду.

Что вы будете делать?

Вы можете сделать это, набрав определенное слово предыдущей команды.

Чтобы повторить предыдущую команду, которая начинается с определенного слова / буквы, например, un, просто введите:

Приведенная выше команда выполнит последнюю команду, которая начинается с букв «un».

Пример вывода для вышеуказанной команды:

Как видите в приведенном выше примере, вам не нужно вводить всю команду (т.е. uname -r).

Вместо этого просто введите несколько букв команды, и любая предыдущая команда, содержащая слова, будет выполняться.

Кроме того, если вы знаете полное имя команды, просто введите его, как показано ниже:

Система выполнит последнюю команду.

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

Иногда вам не нужно запускать команду, а просто извлечь ее из истории.

Если это так, найдите префикс номера команды, которую вы хотите выполнить:

Метод 3 – Использование обратного поиска:

Другой способ сделать это – поиск в истории командной строки с помощью сочетания клавиш CTRL + R.

Нажмите клавиши CTRL + R для поиска по истории командной строки.

Я лично предпочитаю этот метод.

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

Посмотрите на следующий пример.

В следующем примере я искал «itsec», и система показала последнюю команду «sudo netctl restart itsecforu» в истории, которая содержала слово «itsec»

Затем я нажимаю клавишу Enter для немедленного выполнения команды или клавишу со стрелкой вправо для завершения команды и нажимаю клавишу Enter для ее выполнения.

Читайте также:  Sunlite suite 2 ��� mac os

На всякий случай, если вы хотите отредактировать / изменить последнюю команду перед ее выполнением, просто нажмите клавишу со стрелкой влево, затем отредактируйте последнюю команду и нажмите ENTER, чтобы выполнить ее.

Некоторые команды могут начинаться с одинаковых букв.

В таких случаях продолжайте нажимать клавиши CTRL + R, чтобы вернуть команду, которую вы хотели выполнить.

Метод 4 – Используя символ дефиса с номерами префикса команды:

Вот еще один способ выполнить предыдущую команду.

Способ 5 – Использование CTRL + p и CTRL + o:

Я не хочу вводить какие-либо команды вручную.

Есть ли способ повторить последнюю команду простым нажатием определенной клавиши (клавиш) на моей клавиатуре? Да, конечно!

Нажмите CTRL + P, чтобы перейти к последней команде, а затем нажмите CTRL + O, чтобы выполнить ее.

Вы можете использовать CTRL + O столько раз, сколько вы хотите, чтобы продолжить повторное выполнение последних команд.

Способ 6 – Использование команды «fc»:

Это еще один способ повторить последнюю выполненную команду.

Команда «fc» используется для просмотра, редактирования и повторного ввода ранее введенной команды.

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

На это пока все.

Теперь вы знаете, как повторить последнюю команду, не вводя ее в терминале.

Если вы хотите просмотреть вывод ваших последних команд без необходимости их повторного ввода, эти методы вам помогут.

Если вы знаете какие-либо другие методы, пожалуйста, дайте мне знать в разделе комментариев ниже.

Я проверю и обновлю руководство с вашими дополнениями.

Источник

Горячие клавиши терминала Linux

Терминал — один из самых мощных инструментов Linux. С помощью него можно настроить и сделать практически всё в этой операционной системе. Чтобы сделать работу в терминале ещё более удобной и продуктивной разработчики добавили различные сочетания клавиш.

В этой статье мы собрали самые полезные горячие клавиши терминала Linux, которые могут пригодится вам в работе. Здесь есть комбинации клавиш для навигации по истории команд, коррекции ошибок и управления окном терминала. Все клавиши расположены в случайном порядке.

Горячие клавиши терминала Linux

1. Tab

Без этого сочетания терминалом пользоваться невозможно, и поэтому его знают все. Одно нажатие клавиши Tab автоматически дополняет текущую команду или путь к файлу если возможен только один вариант. Два нажатия по ряд показывают возможные варианты автодополнения. Это делает набор команд и путей к файлам намного быстрее.

2. Ctrl + R

После нажатия Ctrl+R появляется строка поиска в которой вы можете начать вводить имя команды, которую надо выполнить. Система найдёт все команды, которые ранее выполнялись с таким началом и отобразит самую свежую. Вы можете уточнить поиск добавив ещё несколько символов. Для выполнения команды просто нажмите Enter, для редактирования Esc.

3. Ctrl + C

Это сочетание клавиш позволяет прервать работу любой программы, которая выполняется в терминале. После нажатия Ctr + C программе отправляется сигнал SIGINT и если она не обрабатывает его особым образом выполнение программы завершается. Некоторые программы перехватывают сигнал и перед завершением выполняют кое какие действия по сохранению данных и завершению операций, например пакетный менеджер zypper.

4. Ctrl + Z

С помощью Ctrl+Z вы можете перевести текущую программу в фоновый режим. Обычно, если вам надо чтобы программа выполнялась в фоновом режиме просто добавьте символ & после команды. Но если вы забыли это сделать поможет это сочетание клавиш. Чтобы посмотреть задачи, которые сейчас работают в фоне используйте команду jobs, а для возврата задачи в нормальный режим — команду fg.

5. Ctrl + D

Сочетание клавиш Ctrl+D можно считать альтернативой команды exit. Если вы подключены по SSH то сессия будет разорвана. Если вы работаете в терминале напрямую, то окно будет закрыто.

6. Ctrl + L

Альтернатива команды clear. Позволяет очистить вывод терминала. Очень удобно для создания снимков экрана и просто для очистки лишней информации.

7. Ctrl+P и Ctrl+N

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

Читайте также:  Microsoft windows verification pca что это

8. Ctrl + A и Ctrl + E

Перемещаться можно не только по истории команд, но и по текущей строке. Эти горячие клавиши — аналоги клавиш Home и End. Первая комбинация перемещает курсор в начало строи, а вторая в конец.

9. Ctrl + U и Ctrl + K

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

10. Ctrl + W

Нажав Ctrl+W вы можете стереть слово перед курсором. Если курсор находится в середине слова, то будут стёрты все символы от курсора до начала слова. Удобнее всего ставить курсор после слова, которое нужно убрать.

11. Ctrl + Y

С помощью Ctrl + Y вы можете вставить текст вырезанный с помощью Ctrl + U, Ctrl + K и Ctrl + W. Текст будет вставлен туда, где находится курсор.

12. Ctrl + B и Ctrl + F

Аналог для клавиш стрелка вправо и стрелка влево. Первое сочетание позволяет перемещаться на один символ вправо, а второе на один символ влево.

13. Ctrl + T

Заменяет символ, находящийся под курсором на предыдущий символ. Или перемещает символ перед курсором к концу строки.

14. Ctrl +X затем Ctrl + E

Открывает текущую команду в текстовом редакторе. Если в переменной EDITOR редактор не задан, то будет использоваться nano. После редактирования и сохранения результата команда будет выполнена. Удобно для написания многострочных скриптов.

15. Alt +.

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

16. Alt + B и Alt + F

Эти сочетания позволяют перемещаться по словам, также как их аналоги с Ctrl по символам. Alt + B перемещает курсор на слово влево, а Alt+F на слово вправо.

17. Alt + C, Alt + L и Alt + U

Следующие три сочетания клавиш позволяют играть с регистром символов команды. Первое сочетание — Alt + C делает символ под курсором прописным, а все остальные буквы до конца слова строчными. Alt + L делает все буквы до конца слова строчными, а Alt + U — прописными.

18. Ctrl + S и Ctrl + Q

Если команда выводит информацию слишком быстро, а вам надо прочитать её или скопировать, можно попросить терминал поставить на паузу вывод команды. Для этого нажмите Ctrl +S. Чтобы вернуть всё обратно нажмите Ctrl + Q.

Сочетания клавиш эмулятора терминала

Все сочетания клавиш, перечисленные выше будут работать во всех терминалах и эмуляторах терминала, которые используют командную оболочку Bash или другую популярную оболочку. Но у популярных эмуляторов терминала есть свои горячие клавиши, которые могут вам очень сильно пригодится при работе. Давайте рассмотрим их тоже. В этой статье будут использоваться горячие клавиши из Gnome Terminal, но в других терминалах они похожи.

1. Ctrl + Alt + T

С помощью этого сочетания клавиш можно открыть терминал в большинстве дистрибутивов, основанных на Ubuntu и Debian. Это просто, быстро и удобно.

2. Ctrl + Shift + С и Ctrl + Shift + V

Копирование и вставка — очень важные функции операционной системы. Сочетание клавиш Ctrl + C просто не может работать для копирования, потому что оно используется для завершения команды, поэтому для копирования и вставки была добавлена клавиша Shift.

3. Ctrl + Shift + F

Если вам надо выполнить поиск по выводу в терминале можно воспользоваться сочетанием Ctrl + Shift + F. После нажатия откроется окно ввода, в котором вы можете ввести искомое слово.

4. Shift + ЛКМ и Shift + ПКМ

Здесь ЛКМ и ПКМ — это правая и левая кнопка мышки. Такие программы, как screen и tmux в режиме поддержки работы мышью захватывают контроль мышки и вяжут на неё свои функции. Таким образом обычное копирование и вставка могут стать проблемой. Чтобы этого избежать можно выделять текст сочетанием клавиш Shift + ЛКМ и открывать контекстное меню с помощью Shift + ПКМ.

Выводы

В этой статье мы собрали лучшие сочетания клавиш терминала Linux, которые могут пригодится вам в работе с системой или во время её настройки. А какие горячие клавиши нравятся вам? Какие вы используете? Напишите в комментариях!

Источник

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