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

Обновлено: 08.07.2024

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

Команда Watch

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

3 января стартует курс «SQL-injection Master» © от команды The Codeby

За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

Запись на курс до 10 января. Подробнее .

Запуск и повтор

Watch очень прост в использовании, допустим вы хотите запустить какой-то фаил программу или скрипт с интервалом в 5 секунд.

-n ( Определяет интервал запуска. В нашем случае file.sh будет запускаться каждые 5 секунд )
Параметр легко может быть изменен по вашим нуждам всего лишь изменяя цифру после -n .

Будьте внимательны . Минимальное время запуска не может быть меньше 0.1 сек.

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

К примеру вы хотите запустить свободную программу:

Надеюсь Watch избавит вас от многих проблем с запуском или мониторингом чего там вам угодно.

1 декабря стартует зимний поток курса " Тестирование Веб-Приложений на проникновение " от команды codeby . Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, активный фаззинг, уязвимости, пост-эксплуатация, инструментальные средства, Social Engeneering и многое другое. На курс можно записаться до 10 декабря включительно. Подробнее .

Терминал Linux очень гибкий и полезный инструмент. С помощью него можно сделать что угодно и во многих случаях даже намного эффективнее чем в графическом интерфейсе. Команды можно объединять между собой, перенаправлять вывод одной команды, на вход другой, комбинировать их различным образом.

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

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

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

Создание папок в терминале

Для создания папки в терминале используется команда mkdir. Вот так она выглядит:

Но не все знают о ее дополнительных возможностях. Чтобы создать несколько вложенных папок используйте команду p:

mkdir -p /mnt/foo/bar/

Создать несколько папок за один раз:

Создать папку и перейти в нее:

mkdir /home/foo/doc/bar && cd $_

Кстати, синтаксис фигурных скобок поддерживают и другие команды для Linux терминала.

Ожидать завершения команды и выключить компьютер

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

Можно просто объединить команды с помощью стандартного синтаксиса Bash. Для объединения используются символы && и ||. Первый - выполнить другую команду если первая завершилась успешно, второй если первая завершилась ошибкой.

Например, обновить систему и если все хорошо выключить PC:

apt update && apt upgrade && shutdown -h now

Или выключить компьютер если обновление не удалось:

apt update && apt upgrade || shutdown -h now

Или выключить независимо от того произошла ошибка или нет:

apt update && apt upgrade ; shutdown -h now

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

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

Если мы уже начали говорить о возможностях Bash пойдем дальше. Символ !! означает выполнить последнюю команду. Часто ли у вас случалось такое, что вы набираете команду нажимаете Enter и понимаете, что для ее работы нужно было использовать sudo? Тогда приходиться набирать ту же команду только уже правильно. Но можно пойти другим путем, выполнить:

Кроме символа !! В Bash есть еще несколько указателей на команды:

  • !^ — первый аргумент предыдущей команды;
  • !$ — последний аргумент предыдущей команды;
  • !* — все аргументы предыдущей команды;
  • !-2 — вторая с конца команда;
  • *— содержимое текущего каталога.

А вот так можно сохранить последнюю выполненную команду в скрипт:

Ещё о подобных возможностях Bash можно почитать здесь.

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

И еще о возможностях Bash. Например, вы помните что подключались в последний раз к определенному узлу по SSH, и теперь вам нужно подключиться к нему снова. Чтобы не вводить полностью команду можно набрать знак "!" и символы с которых начиналась команда:

Будет выполнена последняя команда, которая начиналась на ssh.

Посмотреть ip адрес

Часто возникает необходимость быстро узнать ip адрес своей машины. Для этого есть легко запоминающаяся команда, использующая curl и сайт ifconfig.me:

Форматирование вывода

Многие команды Linux выводят данные, разделяя столбцы пробелами. Одна из них mount. И естественно, в этом выводе трудно что-либо разобрать. Для разделения столбцов табуляциями используйте утилиту column:

mount | column -t

Динамический просмотр лога

Допустим, есть у нас лог файл в который пишется определенная информация и мы хотим видеть все изменения сразу, на лету. Тогда используйте команду tail с опцией -f:

tail -f /адрес/лог/файла

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

Очистить терминал

Вывод команд, если во время их разработки были допущены некоторые ошибки может сломать форматирование строк терминала. Или просто может понадобится стереть всю лишнюю информацию. Для этого есть аж две полезные команды linux, первая:

Первая только переводит курсор вверх страницы, вторая добавляет несколько пустых строк. Ещё можно сбросить терминал нажав сочетание клавиш Ctrl+L.

Подключение RAM диска

Если вам нужно немного дискового пространства с высокой скоростью работы, в Linux можно легко подключить немного оперативной памяти в корневую файловую систему:

mount -t tmpfs tmpfs /mnt -o size=1024m

В папку /mnt будет подключен RAM диск размером 1024 мегабайт.

Узнать архитектуру системы

Этой простой командой можно быстро узнать разрядность системы:

Открыть файл на определенной строке

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

nano +55 /sourcefile

vim +55 /sourcefile

И оказываетесь сразу на нужной строке.

Время выполнения команды

Хотите узнать сколько времени выполняется та или иная команда? Просто добавьте перед ней вызов утилиты time. Например:

Эту команду также можно использовать в качестве секундомера. Просто выполните:

А затем нажмите Ctrl+D когда нужно будет узнать сколько времени прошло.

Автоматическое удаление старых файлов

Все мы часто качаем файлы из интернета, это торренты, фильмы, музыка и т д. И все это со временем накапливается в папке загрузки если ненужное вовремя не удалять, а нужное не перемещать в другие папки. Тогда папка загрузок начинает напоминать огромную свалку где вообще нереально что-то найти. У себя я всегда время от времени сортировал и удалял файлы, но когда видел такое у знакомых брался за голову. Есть способ упростить очистку папки загрузок.

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

Вот так выглядит сама команда:

find /home/user/Downloads/ -type f -mtime +180 -exec 'rm -f <>'

Если не хотите полностью удалять файлы можно перемещать их в корзину:

find /home/user/Downloads/ -type f -mtime +180 -exec 'mv <>

Подробнее о работе find можно почитать тут. Для полной автоматизации добавим выполнение этой команды каждый день в расписание cron:

0 0 * * * find /home/user/Downloads/ -type f -mtime +180 -exec 'rm -f <>'

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

Убить все процессы из консоли

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

ps aux | grep chromium | awk '' | xargs kill -TERM

Или намного проще:

Здесь мы получаем список всех процессов в ps, выбираем из них chromium, потом отбираем второй столбец, то есть PID, и с помощью xargs вызываем kill для каждой вкладки. Точно таким же способом можно уничтожить любое приложение создающее много процессов.

Создать пустой файл

Иногда возникает необходимость создать пустой файл, например, когда он нужен для конфигурации какого-либо сервиса или чего-то тому подобного. Для этого можно воспользоваться командой touch:

Для создания файла определённого размера надо использовать команду dd:

dd if=/dev/zero of=/путь/к/файлу bs=1M count=размер_в_мегабайтах

Завершение

Вот и подошли к концу наш список. Если вы знаете другие полезные команды Linux, поделитесь ими в комментариях!

История команд в Linux

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

Повторный запуск команды без указания аргументов. Используем «!»

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

Предположим, мы выполняем какие-нибудь команды и дополняем их аргументами. Например, мы решили отредактировать файл myfile.txt в текстовом редакторе nano. Для этого мы выполняем:

Далее мы можем выполнять еще какие-нибудь команды, затем снова хотим выполнить nano, чтобы открыть в нем файл myfile.txt. Мы можем воспользоваться волшебным «!». Для этого достаточно написать восклицательный знак и без пробела название команды:

В результате будет вызвана команда nano с теми аргументами, с которыми она вызвалась последний раз, то есть в нашем случае !nano будет аналогично вызову nano /home/pingvinus/path/to/file/myfile.txt.

Выполнение предыдущей команды. Используем «!!»

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

Про два восклицательных знака я уже рассказывал. Например, вы вызвали команду:

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

Отмечу, что !! можно использовать прямо внутри текста команды. Например, мы перейдем в домашнюю директорию пользователя pingvinus:

А теперь войдем в папку /home/pingvinus/Downloads вот таким образом:

Поиск по истории команд. Команда history

history — поиск по истории команд — предназначена для вывода истории команд, поиска по ним и быстрого запуска предыдущих команд.

Если мы выполним history, то на экран будет выведен список последних введенных вами команд:

Каждая команда пронумерована. Чтобы вызвать какую-нибудь команду из списка достаточно выполнить в командной строке: !номер. Например выполним команду под номером 139:

Можно указать номер с минусом. Например, выполнив !-2 мы выполним пред-предыдущую команду. Выполнив, !-1 мы выполним предыдущую команду, это эквивалентно команде !!, описанной выше.

Для поиска по истории можно воспользоваться утилитой grep:

У команды history есть еще несколько дополнительных возможностей. Почитать руководство по history можно, выполнив man history.

Поиск по истории. Сочетание клавиш Ctrl+R

Ctrl+R — сочетание клавиш, которое используется для вызова «интерактивного» поиска по истории команд.

Нажмите Ctrl+R, находясь в командной строке. В результате на экране отобразится приглашение к поиску команды:

Начинайте вводить начальную часть или середину команды, которую вы ищете. То, что вы вводите будет заключено в кавычки, а после значка двоеточия вам будет предложена команда, найденная в истории команд, которая максимально удовлетворяет поиску. Например, я нажал Ctrl+R и начал вводить id-, и нашлась команда, содержащая символы id-:

Каждый, кто пользуется командной строкой Linux, встречался со списками полезных советов. Каждый знает, что повседневные дела вполне можно выполнять эффективнее, да только вот одно лишь это знание, не подкреплённое практикой, никому не приносит пользы.

Как выглядят типичные трудовые будни системного администратора, который сидит на Linux? Если абстрагироваться от всего, кроме набираемых на клавиатуре команд, то окажется, что команды эти постоянно повторяются. Всё выходит на уровень автоматизма. И, если даже в работе есть что улучшать, привычка противится новому. Как результат, немало времени уходит на то, чтобы делать так, как привычнее, а не так, как быстрее, и, после небольшого периода привыкания – удобнее. Помнить об этом, сознательно вводить в собственную практику новые полезные мелочи – значит профессионально расти и развиваться, значит – экономить время, которое можно много на что потратить.

image


Перед вами – небольшой список полезных приёмов работы с командной строкой Linux. С некоторыми из них вы, возможно, уже знакомы, но успели их позабыть. А кое-что вполне может оказаться приятной находкой даже для знатоков. Хочется надеяться, что некоторые из них будут вам полезны и превратятся из «списка» в живые команды, которыми вы будете пользоваться каждый день.

Вывод результатов работы команд в виде таблицы

Иногда вывод результатов работы команд выглядит как мешанина из беспорядочных строк. Найти то, что надо, в таких данных можно, но работать с ними неудобно. Например – что-то подобное можно получить в ответ на команду mount . Хорошо бы то же самое вывести в виде таблицы. И это не только возможно, но ещё и очень просто:




Результаты работы команды mount, оформленные в виде таблицы

По умолчанию команда формирует табличное представление, ориентируясь на пробелы между словами. А что, если в качестве разделителей используются другие символы, вроде двоеточий? Например – в выводе cat /etc/passwd ?

Упорядочить можно и такие данные – достаточно указать символ-разделитель с параметром –s . Например, ниже приведена команда для символа «:».




Отформатированный вывод /etc/passwd

Многократный повтор команды до её успешного завершения

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

Решить подобную задачу поможет цикл while true . Выглядит всё это так:



Команда будет повторяться до её успешного завершения

В этом примере конструкция >/dev/null 2>&1 перенаправляет вывод программы в /dev/null , включая и Standard Error, и Standard Out.

Вероятнее всего, это – один из самых полезных приёмов работы с командной строкой Linux.

Сортировка процессов по используемой памяти




Отсортированный список процессов

Сортировка процессов по использованию ресурсов CPU

Сортировка процессов по использованию CPU делается так:




Отсортированный список процессов

Для того, чтобы вывести сведения об архитектуре, используйте команду getconf LONG_BIT .

Одновременный просмотр нескольких лог-файлов

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



Работа с multitail

Установить эту утилиту, если вы её у себя не найдёте, можно командой apt-get install multitail .

Возврат к предыдущей директории

Для того, чтобы вернуться к предыдущей директории, просто наберите cd –.

Мониторинг с регулярными интервалами

Использование утилиты watch (например, watch df –h ) поможет организовать наблюдение за выводом любой команды. Например, можно наблюдать за объёмом свободного пространства, и за тем, как он меняется.

Пожалуй, вы сами сможете найти подходящие сценарии для использования этой команды.

Продолжение выполнения программы после окончания сессии

Когда вы запускаете любую программу в фоне и закрываете консоль, программа тоже завершит работу. А что, если надо, чтобы программа работала и после закрытия оболочки?

Для того, чтобы этого добиться, можно воспользоваться командой nohup , название которой расшифровывается как «no hang-up». Выглядит это так:


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



Команда nohup

В примере, показанном на рисунке выше, в текущей директории будет создан файл nohup.out , содержащий вывод команды:



Файл nohup.out

Полезная штука, согласны?

Автоматический ответ yes или no

Предположим, вы хотите автоматизировать процесс, который требует от пользователя постоянно отвечать yes . Сделать это можно, используя команду yes :


Возможно, вместо этого вы решите автоматизировать отрицательные ответы. Тут поможет такая конструкция:




Автоматизация ответа YES

Создание файла заданного размера

Создавать файлы заданного размера можно, используя команду dd :


Вышеприведённая команда создаст файл размером 10 Мб, заполненный нулями.



Создание файла заданного размера

Выполнение последней команды с root-привилегиями

Иногда можно забыть ввести sudo перед командой, которой нужны root-привилегии. Вводить всё заново нет нужды – достаточно воспользоваться такой командой:




Выполнение последней команды с root-привилегиями

Создание протокола терминальной сессии

Для того, чтобы записать в файл всё, что было выведено в окне терминала, можно воспользоваться командой script .

После выхода из сессии протокол будет записан в файл typescript .

Замена пробелов на знаки табуляции

Вот команда, которая позволяет заменить пробелы на знаки табуляции:


На самом деле, она универсальна и умеет работать с любыми символами.

Замена строчных букв на прописные

А вот – пример вышеописанной команды для замены строчных букв в файле с текстом на прописные:

image



Замена строчных букв в файле на прописные

Автоматическое формирование списка аргументов для команд: xargs

Утилита xargs , пожалуй, достойна звания одной из самых полезных возможностей командной строки Linux. Её можно использовать для передачи вывода некоей команды в качестве аргумента для другой. Например, вот как можно выполнить поиск .jpg-файлов и сжать их, или сделать с ними что-нибудь ещё:


Или, возможно, у вас имеется файл со списком URL, и вы хотите загрузить ресурсы по этим адресам, или ещё как-то их обработать:


Тут надо учитывать, что вывод первой команды передаётся в качестве аргумента в конце команды xargs . Если при конструировании второй команды надо явно указать место, куда должны попасть выходные данные первой, достаточно воспользоваться парой фигурных скобок, <> и параметром –i для замены аргумента в нужном месте:




Команда xargs

Итоги

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

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

Повторение последней выполненной команды

Для повторения последней выполненной команды в командной оболочке bash следует использовать команду !! . Данная последовательность символов носит имя bang bang (бэнг-бэнг).

Повторение других команд

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

Команда history

Для просмотра списка исполненных ранее команд следует использовать команду history , которая позволяет вывести информацию об истории команд, выполненных в рамках данной командной оболочки (или использовать команду history n для ознакомления со списком из n последних выполненных команд).

Команда !n

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

Сочетание клавиш Ctrl-r

Другой вариант методики осуществления поиска в истории команд заключается в использовании сочетания клавиш ctrl-r . В примере ниже я использовал сочетание клавиш ctrl-r и ввел четыре символа apti , после чего в файле истории команд командной оболочки был осуществлен поиск последней команды, содержащей последовательность из этих четырех символов.

Переменная окружения $HISTSIZE

Переменная $HISTSIZE устанавливает количество команд, которые будут сохраняться при работе в вашем текущем окружении. Большинство дистрибутивов устанавливает стандартное значение данной переменной, равное 500 или 1000. Вы можете изменить значение данной переменной на любое желаемое.

Переменная окружения $HISTFILE

Переменная $HISTFILE указывает на файл, который содержит данные истории команд вашей командной оболочки. В командной оболочке bash стандартным значением данной переменной является путь к файлу

Данные истории команд для сессии работы с командной оболочкой сохраняются в данном файле в момент, когда вы завершаете сессию !

При закрытии эмулятора терминала gnome-terminal с помощью мыши или команды reboot в случае работы с учетной записью пользователя root, история команд вашего терминала НЕ БУДЕТ сохранена.

Переменная окружения $HISTFILESIZE

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

Предотвращение сохранения команд

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

Регулярные выражения (дополнительная информация)

Имеется возможность использования регулярных выражений в случае использования символа ! для повтора команд. В примере ниже перед повторным исполнением команды производится замена символа 1 на символ 2 в строке этой команды.

История команд оболочки Korn Shell (дополнительная информация)

Повторение команды при работе с командной оболочкой Korn Shell осуществляется похожим образом. Командная оболочка Korn Shell точно так же поддерживает команду history , но для извлечения команд из списка ранее исполненных команд в данной командной оболочке используется символ r .

В примере ниже продемонстрирована работа команды history. Обратите внимание на различие в назначении параметра команды. При повторении команд с использованием символа r в качестве аргумента могут быть использованы как номера команд, возвращенные командой history, так и последовательности начальных символов команд.

Практическое задание: история команд командной оболочки

1. Выполните команду echo Ответом на вопросы о смысле жизни, вселенной и всем сущем является 42 .

2. Повторите предыдущую команду, использовав только два символа (существуют два решения!)

3. Выведите список из 5 последних исполненных вами команд.

4. Повторно выполните длинную команду echo из вопроса 1, воспользовавшись номерами команд, которые вы получили вместе с выводом команды из вопроса 3.

5. Сколько команд может храниться в файле истории команд в рамках текущей сессии вашей командной оболочки?

6. В какой файл сохраняются команды при при завершении сессии командной оболочки?

7. Сколько команд может быть записано в файл истории команд при завершении вашей текущей сессии командной оболочки?

8. Сделайте так, чтобы ваша командная оболочка bash сохранила 5000 введенных вами впоследствии команд.

9. Откройте более одной консоли (используйте сочетание клавиш Ctrl-shift-t в эмуляторе терминала gnome-terminal) с использованием одной и той же учетной записи пользователя. Когда данные истории команд запишутся в файл истории команд?

Корректная процедура выполнения практического задания: история команд командной оболочки

1. Выполните команду echo Ответом на вопросы о смысле жизни, вселенной и всем сущем является 42 .

2. Повторите предыдущую команду, использовав только два символа (существуют два решения!)

3. Выведите список из 5 последних исполненных вами команд.

В вашем случае номера команд будут отличаться.

4. Повторно выполните длинную команду echo из вопроса 1, воспользовавшись номерами команд, которые вы получили вместе с выводом команды из вопроса 3.

5. Сколько команд может храниться в файле истории команд в рамках текущей сессии вашей командной оболочки?

6. В какой файл сохраняются команды при при завершении сессии командной оболочки?

7. Сколько команд может быть записано в файл истории команд при завершении вашей текущей сессии командной оболочки?

8. Сделайте так, чтобы ваша командная оболочка bash сохранила 5000 введенных вами впоследствии команд.

9. Откройте более одной консоли (используйте сочетание клавиш Ctrl-shift-t в эмуляторе терминала gnome-terminal) с использованием одной и той же учетной записи пользователя. Когда данные истории команд запишутся в файл истории команд?

Читайте также: