как сохранить терминал в линукс
🐧 Как записать все, что вы делаете в терминале Linux
Несколько дней назад мы опубликовали руководство, в котором объяснялось, как сохранять команды в самом терминале и использовать их по требованию.
Это очень полезно для тех, кто не хочет запоминать длинные и сложные команды Linux.
Сегодня в этом руководстве мы увидим, как записывать все, что вы делаете в Терминале, используя команду «script».
Возможно, вы выполнили команду, или создали каталог, или установили приложение в Терминале.
Команда Script просто сохраняет все, что вы делали в Терминале.
Затем вы можете просмотреть все это, если хотите узнать, что вы сделали несколько часов или дней назад. Я знаю, что знаю, мы можем использовать клавиши со стрелками ВВЕРХ / ВНИЗ или команду истории для просмотра ранее запущенных команд.
Однако вы не можете просмотреть вывод этих команд.
Но команда Script записывает и отображает завершенные действия терминала.
Команда script создает машинописный текст всего, что вы делаете в Терминале.
Не имеет значения, устанавливаете ли вы приложение, создаете каталог / файл, удаляете папку.
Все будет записано, включая команды и соответствующие выходы.
Э та команда будет полезна тем, кто хочет получить бумажную запись интерактивного сеанса в качестве доказательства назначения.
Будь вы студент или преподаватель, вы можете сделать копию всего, что вы делаете в Терминале, вместе со всеми результатами.
Запишите все, что вы делаете в терминале, используя команду Script в Linux
Команда script поставляется предварительно установленной в большинстве современных операционных систем Linux.
Итак, давайте не будем беспокоиться об установке.
Давайте продолжим и посмотрим, как использовать его в режиме реального времени.
Выполните следующую команду, чтобы начать запись сеанса терминала.
Приведенная выше команда записывает все, что вы делаете в Терминале, и добавляете вывод в файл с именем «my_terminal_activities» и сохраняете его в текущем рабочем каталоге.
Пример вывода будет:
После выполнения всех команд завершите сеанс команды «script» с помощью команды:
После ввода exit вы получите следующий вывод.
Как видите, действия Терминала были сохранены в файле с именем «my_terminal_activities» и сохранены в текущем рабочем каталоге.
Вы также можете сохранить действия Терминала в файле в другом месте, как показано ниже.
Очень часто при работе в терминале возникает необходимость в сохранении результата работы команд (или же какого-либо консольного приложения) в текстовый файл или проще говоря лог. В ОС Linux есть множество способов для реализации этой идеи и в этой статье мы рассмотрим некоторые из них.
Описание
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то он будет перезаписан.
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то новые данные будут дописаны в конец файла.
Стандартный поток вывода ошибок (StdErr) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то он будет перезаписан.
Стандартный поток вывода ошибок (StdErr) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то новые данные будут дописаны в конец файла.
Стандартный поток вывода данных (StdOut) И Стандартный поток вывода ошибок (StdErr) будут перенаправлены в файл и отображаться в терминале не будут. Если файл уже существует, то он будет перезаписан.
Стандартный поток вывода данных (StdOut) И Стандартный поток вывода ошибок (StdErr) будут перенаправлены в файл и отображаться в терминале не будут. Если файл уже существует, то новые данные будут дописаны в конец файла.
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и одновременно будет отображен в терминале. Если файл уже существует, то он будет перезаписан.
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и одновременно будет отображен в терминале. Если файл уже существует, то новые данные будут дописаны в конец файла.
Как сохранить вывод команды терминала (Bash) в текстовый файл
Когда вы работаете в терминале, весь вывод команд, естественно, вы видите в реальном времени прямо в окне терминала. Но бывают случаи когда вывод нужно сохранить, дабы поработать с ним позже (проанализировать его, сравнить, и т.п). Так вот, работая в Bash у вас есть возможность перенаправлять отображаемую информацию с окна терминала в текстовый файл. Рассмотрим как это делается.
Вариант 1: только перенаправляем вывод терминала в файл
В этом случае весь результат работы любой команды будет записан в текстовый файл, без отображения его на экране. То есть, мы в прямом смысле перенаправим информацию с экрана в файл. Для осуществления этого нужно использовать операторы > и >> и путь к файлу в который нужно писать, в конце выполняемой команды.
Оператор > сохранит результат работы команды в указанный файл и, если в нем уже будет находиться какая-либо информация, перезапишет ее.
Оператор >> перенаправит вывод команды в файл, и если в нем также будет находиться информация, новые данные будут добавлены в конец файла.
Рассмотрим на примере команды ls, которая отображает список файлов и папок в указанной директории. Давайте запишем результат ее работы в текстовый файл. Нам нужно написать команду, поставить оператор и указать путь к файлу:
Теперь посмотрим, все ли сработало. Для этого можно воспользоваться любым текстовым редактором, какой у вас есть. Также это можно сделать прямо в терминале при помощи команды cat:
Помните, что “>” перезапишет все данные, которые были до этого в файле, поэтому, если вам нужно дописать что-либо в файл используйте оператор “>>“
Допустим, что после того, как мы перенаправили вывод команды ls в файл “пример” мы решили узнать версию ядра системы и также сохранить вывод в тот же файл. Чтобы узнать версию ядра воспользуемся командой uname и параметром -a, затем говорим Bash как и куда нужно сохранить результат ее выполнения:
Снова проверим результат:
Как видим, у нас сохранились результаты работы и ls, и uname.
Вариант 2: перенаправляем вывод в файл и отображаем его на экране
Не всем и не всегда удобно пользоваться операторами > и >>, так как все же лучше когда волнение команд можно наблюдать в реальном времени в окне терминала. В таком случае мы можем воспользоваться командой tee, которая и отобразит выполнение команд на экране, и сохранит его в файл. Синтаксис ее такой:
Этот вариант подобен оператору > из предыдущего пункта, то есть при записи в файл, все старые данные будут удалены. Если вам нужно дописать в файл, в конструкцию нужно добавить параметр -a:
В Bash есть еще несколько операторов и команд, выполняющих идентичные задачи, их часто используют во время написания различных скриптов, но для обычного пользователя, которому нужно сохранить вывод команды чтобы запостить его на форуме, вполне достаточно и этих вариантов. Надеюсь, что помог вам, до новых постов!
Как сохранить терминал в линукс
В данной статье пойдет речь о том, как перенаправить вывод любой команды терминала (консоли) Linux в текстовый файл.
Порой, вывод некоторых терминальных команд может быть огромным. К примеру, список программ, которые могут быть обновлены:
Намного удобнее перенаправить вывод данной команды в текстовый файл и уже просмотреть его с помощью удобного текстового редактора.
А кто-то просто захочет вести лог выполнения каких-то команд в системе или лог ошибок. В общем, каждый найдет для себя применение этой возможности.
Прежде чем перейти к обсуждению сохранения вывода команд терминала в файл, немножко теории о стандартных потоках вывода Linux.
Стандартные потоки вывода Linux.
Подробнее о стандартных потоках можно прочитать в Википедии:
Если по существу, то в Linux есть 3 стандартных потока:
Когда мы выполняем какую-либо команду в терминале:
А вот вывод стандартного потока ошибок stderr:
Как видно на скриншоте, строки с ошибками начинаются с буквы «E:» (error), а предупреждающая информация c W: (warning).
С определениями, названиями стандартных потоков разобрались. Теперь можно перейти к способам сохранения вывода терминала в файл.
Базовый способ сохранения в файл вывода терминала (консоли) Linux.
Стандартный поток вывода перенаправляется с помощью символа «>», то есть самый простой вариант перенаправления вывода терминала в файл будет выглядеть следующем образом:
Реальный пример команды:
После выполнения этой команды в том каталоге, в котором вы находитесь в терминале (по умолчанию это домашний каталог), создастся файл с выводом этой команды, который мы удобно сможем просмотреть c помощью любого текстового редактора:
Если указать одинарный символ «>», то файл будет постоянно перезаписываться при повторном выполнении команды.
Чтобы новая информация добавлялась в конец файла, а не перезаписывался весь файл, нужно использовать двойной символ «>>». Команда будет выглядеть следующим образом:
Мы перенаправляли стандартный поток вывода в файл, но ошибки у нас отображаются в терминале, а в файл текст ошибки добавлен не будет.
Сейчас я описал самый обычный способ перенаправления стандартного потока вывода stdout в текстовый файл. Теперь разберем другие способы.
8 базовых способов сохранения вывода терминала в файл.
Для большой наглядности я нарисовал табличку:
Список способов:
1. Стандартный поток вывода будет перенаправлен в файл, в терминале виден не будет. Если файл существует, то будет перезаписан.
2. Стандартный поток вывода будет перенаправлен в файл, в терминале виден не будет. Новая информация будет записана в конец существующего файла.
3. Стандартный поток ошибок будет перенаправлен в файл, в терминале виден не будет. Если файл существует, то будет перезаписан.
4. Стандартный поток ошибок будет перенаправлен в файл, в терминале виден не будет. Новая информация будет записана в конец существующего файла.
5. Стандартный поток вывода и стандартный поток ошибок вместе будут перенаправлены в файл, в терминале видны не будет. Если файл существует, то будет перезаписан.
6. Стандартный поток вывода и стандартный поток ошибок вместе будут перенаправлены в файл, в терминале видны не будет. Новая информация будет записана в конец существующего файла.
7. Стандартный поток вывода будет скопирован в файл, в терминале будет по-прежнему виден. Если файл существует, то будет перезаписан.
8. Стандартный поток вывода будет скопирован в файл, в терминале будет по-прежнему виден. Новая информация будет записана в конец существующего файла.
Как вывести полную информацию о компьютере и сохранить эту информацию в html, pdf.
В Linux есть команда, которая выводит всю информацию о компьютере в терминал lshw (от англ. list hardware).
Её нужно запускать с правами суперпользователя sudo:
Но не совсем удобно читать эту информацию в терминале.
У данной команды есть параметр -html, который позволяет вывести данную информацию в html. Теперь, когда мы научились перенаправлять вывод команд терминала в файл, давайте выведем информацию о системе и компьютере в удобно читаемый html файл:
В текущем каталоге создастся html файл, который можно открыть любым, установленным у вас в системе, браузером:
И теперь, если мы хотим сохранить в pdf эту информацию, то выбираем печать (CTRL-P), формат pdf и нажимаем «Печать».
Запись всего, что происходит в терминале в файл
Хочу рассказать об одной полезной команде, с помощью которой можно записывать все, что происходит в терминале в файл. Фактически вы составляете полный лог всех команд, которые вы вводите в терминале и то, что выводится на экран.
Чтобы начать запись нужно выполнить команду script. Если вызвать команду script без параметров, то запись будет вестись в файл с именем typescript.
Файл будет создан именно в той директории, в которой вы находитесь. Вывести название текущей директории можно командой pwd. Если файл уже существует, то он будет очищен.
В качестве параметра команде script можно указать имя файла, в который вы хотите записывать всю активность в терминале. Пример вызова:
После ввода команды будет создан файл, но данные в него будут записаны только после того, как вы введете команду exit или нажмете сочетание клавиш Ctrl+D. Пример:
Мы выполнили команду script. Автоматически был создан файл typescript (если он уже существовал, то он будет очищен). С этого момента система начинает запоминать весь ввод и вывод в терминале. В конце мы вводим команду exit и в файл с именем typescript записывается все, что происходило в терминале с момента ввода команды script.
Если вы хотите, чтобы запись велась уже в существующий файл, тогда нужно добавить опцию -a. В этом случае файл не будет очищен, а новые данные будут добавлены к текущему содержимому. Пример:
Еще стоит сказать о полезной опции -c или —command. Данная опция позволяет указать команду, которую нужно выполнить, а вывод этой команды записать файл. Пример:
В данном примере мы вызываем команду script с опцией -c и указываем в качестве параметра опции команду ls, которую нужно выполнить, а вывод команды нужно записать в файл my.log. Команда ls выводит список файлов в текущей директории. Таким образом в файл my.log попадет список файлов.
Получить справку по команде script (по всем ее опциям) можно, выполнив в терминале: