Как сохранить настройки консоли в ubuntu

Обновлено: 06.07.2024

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

Полезная инфа в приглашении

Приглашение командного интерпретатора bash формируется на основе содержимого переменной окружения PS1. Если верить man-страницам, эта переменная может содержать любые строки, а также довольно большой набор специальных управляющих символов, которые при выводе приглашения будут превращены в актуальные данные. Так, например, в дистрибутиве Ubuntu содержимое переменной PS1 выглядит так:

А при выводе на экран превращается во всем знакомую строку вида:

Нетрудно догадаться, что юзер здесь появляется за счет управляющего символа 'u', имя хоста — за счет 'h', а текущий каталог — это 'w'. Неуклюжая запись, содержащая в себе слова debian_chroot, это всего лишь индикатор того, находится ли пользователь в chroot-окружении. Такое лаконичное приглашение, конечно, удобно, но содержит далеко не всю информацию, которую bash способен отобразить. В его арсенале есть как минимум два десятка различных управляющих последовательностей, о которых многие пользователи даже не подозревают. Вот список наиболее интересных из них:

  • d — текущая дата
  • j — количество фоновых заданий
  • A — текущее время
  • ! — номер команды в истории

Кроме того, в PS1 вполне можно использовать текущие переменные окружения, а если учитывать, что перед каждым выводом на экран PS1 перечитывается, то туда можно засунуть такие вкусности, как, например, статус последней выполненной команды (переменная $?), чтобы знать, было ли ее исполнение успешным.

Управляющий символ 'n' также допустим в PS1, поэтому приглашение к вводу можно сделать многострочным, а заодно визуально отделить его от остального текста (с помощью начальной пустой строки):

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

local city="Moscow"
curl -s "http://www.google.com/ig/
api?weather=$city" | sed 's|.<temp_c data ])"/>.*|1|'
>

local login="логин"
local password="пароль"
wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O — https://$:$@
mail.google.com/mail/feed/atom --nocheckcertificate | grep fullcount | sed
"s/<fullcount>(.*)</fullcount>/1/"
>

wifi() /sbin/iwconfig wlan0 | grep Quality | cut -d = -f2 | awk ''
>
PS1='n weather : unread_mail : wifi :wn
u@h:$?$ '

Все это нужно поместить в конец

/.bashrc и выставить на файл права 600, чтобы никто не смог подсмотреть пароли. Результат будет примерно таким:

Раскрашиваем консоль

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

Все escape-последовательности заключаются в [�33[ и ], а после кода цвета должна еще стоять буква m. Все цвета расписаны в справочной странице. Например, черному соответствует 0;30, зеленому — 0;32, красному — 0;31, желтому — 1;33, белому — 1;37 и так далее. Чтобы в строке приглашения выводились имя системы (символ h) и логин пользователя (u), подсвеченные красным цветом, а текущий каталог — желтым (w), в конфиге

/.bashrc заменяем значение переменной PS1 на следующее:

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

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

local GRAY="[�33[1;30m]"
local NO_COLOUR="[�33[0m]"

Не забываем о том, что некоторые команды поддерживают цветной вывод. Проще это решить при помощи алиасов:

alias ls='ls --color=auto'
alias grep='grep --color=auto'

И так далее. За настройки цветов каталогов и файлов с разным расширением отвечает утилита dircolors, устанавливающая переменную LC_COLORS. Чтобы получить все значения, просто вводим:

Использовав полученный результат как шаблон и сохранив его в / etc/DIR_COLORS (либо в персональном конфиге

/.dir_colors), можно создать свою раскраску.

$ alias makec='cout data/make-gcc.cfg'

Теперь проверяем работоспособность, используя заранее подготовленный Makefile:

$ makec -f Makefile

Автодополнение bash

Одна из самых удобных функций, имеющихся в bash — автодополнение команд по клавише <Tab>. К этому быстро привыкаешь, и кажется, что улучшить уже ничего нельзя. Однако в разных дистрибутивах автодополнение работает по-разному.

Например, в современных Linux-дистрибутивах, ориентированных на обычного пользователя, bash не только дополняет саму команду, но и предлагает дополнительные параметры. Однако в Gentoo и производных (вроде Calculate Linux) такого нет. Здесь приходится помнить все параметры назубок. Как такое может быть? Некоторые разработчики дистрибутивов используют патченые версии bash?
На самом деле, возможность автодополнения в bash — расширяемая функция. За необходимую функциональность отвечает встроенная команда compgen, генерирующая соответствующие списки. Все настройки производятся в файле /etc/bash_completion (или пользовательском

/.bash_completion), хотя в некоторых дистрибутивах можно найти целый каталог /etc/bash_completion.d, в котором обычно собраны настройки, специфичные для отдельных программ.

В самом простом случае файл содержит программу и указания для bash по дополнению имен файлов.

Например, чтобы MPlayer предлагал пользователю в качестве автодополнения только файлы с расширением avi и mpg, пишем такое правило: complete -f -X ‘!*.@(avi|mpg|AVI|MPG/so)’ mplayer Но это самый простой вариант, ведь MPlayer имеет большое количество дополнительных параметров, а значит, ему потребуется описать шрифты, звуковые файлы, субтитры и так далее. Все это легко решается при помощи оператора case. Поддерживаются регулярные выражения, что немного упрощает создание правил.

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

Например, для tar создаем такое правило:

COMPREPLY=( $( compgen -W 'c t x u r d A' -- "$cur" ) )

Как видишь, мы просто перечислили все параметры, и теперь в процессе ввода bash сам выдаст этот список. Команда compgen имеет ряд параметров. Так '-b' позволяет получить список встроенных команд оболочки, '-c' — имена команд, '-v' — имена переменных и так далее. Все подробности можно найти в man-странице bash, в секциях complete и compgen.

Продвинутые настройки

Bash — довольно развитый командный интерпретатор, поддерживающий кучу разных настроек. Причем из этих настроек можно получить гораздо больше профита, чем из настроек поведения терминала, выполненных с помощью утилит setterm и stty. Список всех возможных опций можно посмотреть командой «shopt -p» (shopt — сокращение от Shell Options). Приведем самые интересные из них:

  • autocd — если эта опция включена, то можно просто написать путь к каталогу (опустив команду cd), чтобы в него переместиться;
  • cdspell — bash будет пытаться исправлять простые опечатки (например, /ect/init.d вместо /etc/init.d) в аргументах команды cd;;
  • checkjobs — не дает выйти из консоли, пока в ней есть выполняющиеся задания;
  • cmdhist — объединение многострочных команд в одну строку так, чтобы тебе было проще искать их в истории;
  • dirspell — исправление небольших ошибок в написании имени директории при автодополнении;
  • globstar — позволит использовать конструкцию вида **, обозначающую «все файлы, начиная с текущего каталога, рекурсивно»;
  • Очень удобный новый wildchar — например, данная конструкция отобразит все mp3 в текущем и вложенных каталогах:

Согласись, это гораздо короче и удобнее, чем:

$ find ./ -name "*.mp3" -type f -print

Устанавливаются опции следующим образом:

$ shopt -s autocd cdspell checkjobs cmdhist dirspell globstar

1.Bash умеет сокращать путь к текущему каталогу в приглашении, если он становится слишком длинным. Для управления этой функцией предусмотрена переменная окружения PROMPT_DIRTRIM. При превышении уровня вложенности каталогов, указанного в этой переменной, путь будет сокращен. Пример использования:

2.Bash поддерживает «умный» метод помещения команд в историю, позволяя освободить ее от банальностей вроде ls. В историю не будут попадать дубликаты и команды ls, bg, fg, exit после выполнения следующей команды:

3. Bash умеет делать так, чтобы команды, выполненные с использованием sudo, автоматически попадали в файл истории root'а и не засоряли историю пользователя. Просто добавь следующую строку в файл /etc/bash.bashrc:

Индикатор прогресса

Отсутствие индикатора прогресса у большинства консольных утилит — одна из главных проблем для тех, кто часто работает в консоли. И хорошо, если под рукой есть mc, который многие так и используют, чтобы получить окошко с прогрессом. А что если это голая консоль, а тебе требуется сохранить бэкап на флешку, смонтированную в режиме sync? В этом случае тебе поможет rsync, который хоть и несколько замедляет процесс копирования, но зато обеспечивает вывод на экран шкалы прогресса. Помещаем в

/.bashrc следующую строку:

alias cpr='rsync --progress'

И используем команду cpr вместо cp:

$ cpr file1 file2

Если добавить опцию '--remove-source-files', то исходные файлы будут удалены (правда, следует помнить, что в пределах одной файловой системы mv гораздо быстрее rsync). Единственный минус — прогресс отображается для каждого файла в отдельности, общий прогресс увидеть нельзя.

Чтобы увидеть ход выполнения, например, при создании архива, можно использовать утилиту pv (Pipe Viewer). Технически она представляет собой замену стандартного cat, способную не только тупо копировать байты на выход, но и показывать прогресс этой операции. Например:

$ tar -czf — /path/to/dir | pv > /path/to/archive.tgz
758MB 0:01:29 [8,48MB/s] [ <=>

Уже хорошо. Но не хватает времени завершения. Для этого надо передать утилите pv размер каталога (в байтах) с помощью ключа '-s':

$ tar -czf — /path/to/dir | pv -s $(du -sb /path/to/dir | grep -o '9*') > /path/to/archive.tgz
461MB 0:00:21 [ 32MB/s] [=======================================> ] 60% ETA 0:00:13

Каждый раз набирать такую конструкцию не очень удобно, лучше сделать алиас.

Закладки каталогов в консоли

При выполнении операций администрирования приходится часто переходить по каталогам файлового дерева. Bash поддерживает ряд сокращений (например, чтобы вернуться в домашний каталог, просто вводим «cd», в предыдущий каталог — «cd -»), но этого мало. Конечно, можно использовать псевдонимы (aliases), вроде:

alias cdwww='cd /var/www'

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

/.bashrc и перезапустить терминал. Небольшой скрипт Directory Bookmarks for BASH (dirb.info/bashDirB) расширяет набор сокращений, позволяя на лету создавать закладки на нужные каталоги и переходить в них короткой командой.

И добавляем в файл

Теперь каждая новая сессия будет поддерживать закладки. Переходим в нужный каталог и сохраняем его в закладку:

$ cd /var/www
$ s www

После этого будет создан файл

/.DirB/www, содержащий ссылку на закладку. Теперь, чтобы вернуться в указанный каталог с любого места файловой системы, достаточно ввести в консоли «g www». Аналогичным образом можно создавать любое количество закладок. Но это не все параметры. Например, параметр «p» позволяет запомнить последние перемещения и выводит их в консоли:

И, наконец, команда s1 позволит просмотреть листинг закладок. Для удаления закладки используем ключ '-r'.

Также следует знать, что bashDirB модифицирует переменную PS1 таким образом, что в приглашении выводится время и номер текущего каталога в history. Если тебя это не устраивает, просто закомментируй соответствующую строку в скрипте.

Фортунки

В некоторых Linux-дистрибутивах после запуска консоли выводится небольшая цитата. Практической пользы от нее вроде и нет, но небольшое шуточное высказывание повышает настроение и настраивает на рабочий лад. Тематические пакеты с базами высказываний называются fortunes, а сами цитаты — фортунками.

За несколько десятков лет в Сети появилось большое количество сборников цитат, которые легко интегрируются в консоль. Чтобы установить их в Debian или Ubuntu, достаточно ввести команду:

$ sudo apt-get install fortunes fortunes-debianhits fortunes-ubuntu-server fortunes-min fortune-mod fortunes-ru

После установки необходимо настроить вывод цитат в консоль. В самом простом случае достаточно прописать в конфиг

/.bashrc всего одно слово:

Далее следует перезапустить терминал или перезагрузить файл настроек (команда «source

/.bashrc»). Cписок выводимых категорий фортунок можно получить, введя:

После установки все фортунки помещаются в один из подкаталогов /usr/share/games/fortunes, откуда их и забирает программа. В случае необходимости при помощи ключа '-m' можно указать шаблон фортунок, которые будут выводиться. После добавления своих фортунок следует использовать утилиту strfile для создания индекса (strfile файл_фортунок).

$ sudo apt-get install cowsay xcowsay

По умолчанию корова не знает, что сказать, умную мысль ей надо подкинуть. Например, выведем uptime:

Или фортунку (так реализовано в Linux Mint):

Кроме стандартной коровы доступны и другие персонажи, соответствующие названию файлов в подкаталоге /usr/share/cowsay/ cows. Вызвать их можно при помощи параметра '-f'. Также ряд параметров изменяют внешний вид коровы: '-t' — усталая корова, '-p' — параноидальная, '-w' — обалдевшая и так далее. Чтобы автоматизировать процесс, заносим строку запуска в

COWDIR=/usr/share/cowsay/cows/;
COWNUM=$(($RANDOM%$(ls $COWDIR | wc -l)));
COWFILE=$(ls $COWDIR | sed -n ''$COWNUM'p'); fortune |
cowsay -f $COWFILE

Заключение

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

Перенос директории dotfiles

Перенос директории dotfiles с одного компа (IP-адрес 192.168.1.1, порт 10000) на другой при помощи netcat и pv:

host1$ tar -cf — dotfiles | pv | nc -l -p 10000 -q 5
host2$ nc 192.168.1.1 10000 | pv | tar -xf

В случае, если host1 работает под управлением OpenBSD, команда должна выглядеть так:

obsdhost1$ tar -cf — dotfiles | pv | nc -l 10000

Пишем в твиттер легко и непринужденно

$ twit 'Привет из консоли'

Не забываем про 140 символов.

How much is the FISH?

Новичкам в консоли следует внимательно посмотреть в сторону альтернативного командного интерпретатора под названием FISH (Friendly Interactive Shell). Его преимущества перед bash довольно внушительны. Fish на полную катушку использует возможность управления цветами терминала. Он оснащен гораздо более мощной системой автодополнения, которая выводит на экран не только списки каталогов, аргументов и имена команд, но и массу другой полезной информации (например, рядом с каждой опцией помещается описание того, что она делает). В Fish встроена очень хорошая система подсказок, так что если ты допустишь ошибку, то получишь обширное разъяснение того, что произошло, и способы обхода проблемы. Наконец, скриптовый язык Fish гораздо проще и логичнее стандартного языка sh.

Конфигурационные файлы содержат информацию, запрошенную для управления операцией программы. Для пользователей Linux особенно администраторы Linux, они должны знать, как отредактировать эти файлы и выполнить базовую конфигурацию. Конфигурационные файлы хранятся в / и т.д. подкаталоги как текстовый файл и могут быть отредактированы с помощью текстовых редакторов. Некоторыми примерами файлов конфигурации является host.conf, хосты. resolv.conf, сети, syslog.conf и т.д. в основанных на Linux операционных системах.

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

  • Используя редактора Gedit
  • Используя нано редактора
  • Используя редактор Vim
  • Используя редактора Gvim
  • Используя редактора Emacs

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

Используя редактора Gedit

Gedit является текстовым редактором по умолчанию Рабочей среды GNOME. Это поддерживает вкладки, таким образом, можно открыть различные файлы на нескольких вкладках. Это - более простой и легкий текстовый редактор по сравнению с другими доступными текстовыми редакторами.

Для редактирования файла конфигурации в текстовом редакторе запустите Терминал путем нажатия сочетаний клавиш Ctrl+Alt+T. Тогда введите ниже команды как sudo:

Замените/path/to/filename фактическим путем к файлу конфигурационного файла, который Вы хотите отредактировать. Когда запрошено пароль, введите sudo пароль.

Пример: редактирование/etc/resolv.conf файла


Это похоже на редактора блокнота в Windows OS. Как только окно редактора открывается, можно начать вводить или редактировать, не входя ни в какой режим. Как только Вы сделали с редактированием, нажмите Ctrl+S, чтобы сохранить файл.


Используя нано редактора

Нано является самым простым и мощный встроенный редактор во многих дистрибутивах Linux. Вы не должны изучать редактора Nano перед использованием его и также нет никакой потребности помнить команды. Они отображены в нижней части и могут быть инициированы с клавишей Ctrl. Например, чтобы сохранить файл, нажмите Ctrl+O.

Для редактирования любого файла конфигурации просто откройте Окно терминала путем нажатия сочетаний клавиш Ctrl+Alt+T. Перейдите к каталогу, куда файл помещается. Тогда введите нано, сопровождаемый именем файла, которое Вы хотите отредактировать.

Замените/path/to/filename фактическим путем к файлу конфигурационного файла, который Вы хотите отредактировать. Когда запрошено пароль, введите sudo пароль.


Теперь можно отредактировать и делать изменения в использовании файла конфигурации редактором Nano.


Как только Вы сделали редактирование, нажмите Ctrl+O для сохранения и Ctrl+X для выхода из Редактора.

Используя редактор Vim

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

Для открытия файла в Редакторе Vim откройте Окно терминала путем нажатия сочетаний клавиш Ctrl+Alt+T. Тогда введите vi как sudo сопровождаемый именем файла наряду с путем к файлу как:

Замените/path/to/filename фактическим путем к файлу конфигурационного файла, который Вы хотите отредактировать. Когда запрошено пароль, введите sudo пароль.


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

  • Для редактирования файла Нажмите I с клавиатуры для ввода в режим вставки, здесь можно сделать редактирование точно так же, как нормальный редактор.
  • Когда сделано с редактированием, выйдите из этого режима путем нажатия Esc. Это возвратит Вас нормальному режиму.
  • Чтобы сохранить файл, введите: w в командном режиме
  • Для выхода из редактора введите: q в командном режиме
  • Объединить вышеупомянутый тип действий: wq, чтобы сохранить и выйти одновременно.


Используя редактора Gvim

Gvim является Редактор Vim с графическим интерфейсом пользователя. Для установки Gvim запустите Терминал путем нажатия Ctrl+Alt+T. тогда введите ниже команды в Терминале для начала установки.


После того, как сделанный с установкой, можно открыть и отредактировать любой файл конфигурации в нем. Введите ниже команды с sudo в Терминале для открытия любого файла конфигурации в Gvim:


Нажмите I для ввода в режим вставки, где можно отредактировать файл.


В редакторе Gvim можно сделать различные функции с помощью панели инструментов точно так же, как любое нормальное приложение GUI как то, чтобы сохранить файл, отмену, восстановление, нахождение ключевого слова, и т.д.

Используя редактора Emacs

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

Для установки утилиты Emac запустите Терминал путем нажатия сочетаний клавиш Ctrl+Alt+T. Введите ниже команды в Терминале как sudo:


После того, как сделанный с установкой, можно открыть и отредактировать любой файл конфигурации в нем.

Для открытия файла конфигурации с помощью emacs редактора введите emacs, сопровождаемый именем файла наряду с путем к файлу в ниже синтаксиса:

Замените/path/to/filename фактическим путем к файлу конфигурационного файла, который Вы хотите отредактировать. Когда запрошено пароль, введите sudo пароль.


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


Можно также открыть файл конфигурации в ударе вместо отдельного окна.

Введите следующую команду как sudo в Терминале:


Отредактируйте файл как файл обычного текста. Тогда нажмите Ctrl+X и Ctrl+C, чтобы сохранить файл. Когда это запросит то, что сохранило файл, нажмите y, чтобы сохранить и выйти из редактора.


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

Порой, вывод некоторых терминальных команд может быть огромным. К примеру, список программ, которые могут быть обновлены:

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

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

Стандартные потоки вывода Linux.

Подробнее о стандартных потоках можно прочитать в Википедии:

Если по существу, то в Linux есть 3 стандартных потока:

Когда мы выполняем какую-либо команду в терминале:

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

Вывод всех, выполненных команд на скриншоте выше, это stdout - стандартный поток вывода.

А вот вывод стандартного потока ошибок stderr:

Вывод стандартного потока ошибок

Как видно на скриншоте, строки с ошибками начинаются с буквы "E:" (error), а предупреждающая информация c W: (warning).

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

Базовый способ сохранения в файл вывода терминала (консоли) Linux.

Стандартный поток вывода перенаправляется с помощью символа ">", то есть самый простой вариант перенаправления вывода терминала в файл будет выглядеть следующем образом:

то есть, после команды ставим > , в результате чего, вывод команды будет сохранен в файл "название_файла.txt".

Реальный пример команды:

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

Cохранения в файл вывода терминала

Cохранения в файл вывода терминала

Cохранения в файл вывода терминала

Если указать одинарный символ ">", то файл будет постоянно перезаписываться при повторном выполнении команды.

Чтобы новая информация добавлялась в конец файла, а не перезаписывался весь файл, нужно использовать двойной символ ">>". Команда будет выглядеть следующим образом:

Cохранения в файл вывода терминала

Cохранения в файл вывода терминала

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

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

8 базовых способов сохранения вывода терминала в файл.

Для большой наглядности я нарисовал табличку:

Таблица способов сохранения вывода терминала в файл

Список способов:

1. Стандартный поток вывода будет перенаправлен в файл, в терминале виден не будет. Если файл существует, то будет перезаписан.

2. Стандартный поток вывода будет перенаправлен в файл, в терминале виден не будет. Новая информация будет записана в конец существующего файла.

3. Стандартный поток ошибок будет перенаправлен в файл, в терминале виден не будет. Если файл существует, то будет перезаписан.

4. Стандартный поток ошибок будет перенаправлен в файл, в терминале виден не будет. Новая информация будет записана в конец существующего файла.

5. Стандартный поток вывода и стандартный поток ошибок вместе будут перенаправлены в файл, в терминале видны не будет. Если файл существует, то будет перезаписан.

6. Стандартный поток вывода и стандартный поток ошибок вместе будут перенаправлены в файл, в терминале видны не будет. Новая информация будет записана в конец существующего файла.

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

8. Стандартный поток вывода будет скопирован в файл, в терминале будет по-прежнему виден. Новая информация будет записана в конец существующего файла.

Как вывести полную информацию о компьютере и сохранить эту информацию в html, pdf.

В Linux есть команда, которая выводит всю информацию о компьютере в терминал lshw (от англ. list hardware).
Её нужно запускать с правами суперпользователя sudo:

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

Но не совсем удобно читать эту информацию в терминале.

У данной команды есть параметр -html, который позволяет вывести данную информацию в html. Теперь, когда мы научились перенаправлять вывод команд терминала в файл, давайте выведем информацию о системе и компьютере в удобно читаемый html файл:

В текущем каталоге создастся html файл, который можно открыть любым, установленным у вас в системе, браузером:

Полная информация о компьютере в html файле

И теперь, если мы хотим сохранить в pdf эту информацию, то выбираем печать (CTRL-P), формат pdf и нажимаем "Печать".


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

Это очень полезно для тех, кто не хочет запоминать длинные и сложные команды Linux.

Сегодня в этом руководстве мы увидим, как записывать все, что вы делаете в Терминале, используя команду «script».

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

Команда Script просто сохраняет все, что вы делали в Терминале.

Затем вы можете просмотреть все это, если хотите узнать, что вы сделали несколько часов или дней назад. Я знаю, что знаю, мы можем использовать клавиши со стрелками ВВЕРХ / ВНИЗ или команду истории для просмотра ранее запущенных команд.

Однако вы не можете просмотреть вывод этих команд.

Но команда Script записывает и отображает завершенные действия терминала.

Команда script создает машинописный текст всего, что вы делаете в Терминале.

Не имеет значения, устанавливаете ли вы приложение, создаете каталог / файл, удаляете папку.

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

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

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

Запишите все, что вы делаете в терминале, используя команду Script в Linux

Команда script поставляется предварительно установленной в большинстве современных операционных систем Linux.

Итак, давайте не будем беспокоиться об установке.

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

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

Где, -a флаг используется для добавления вывода в файл или в машинопись, сохраняя предыдущее содержимое.

Приведенная выше команда записывает все, что вы делаете в Терминале, и добавляете вывод в файл с именем «my_terminal_activities» и сохраняете его в текущем рабочем каталоге.

Пример вывода будет:

Теперь запустите несколько случайных команд Linux в вашем терминале.


После выполнения всех команд завершите сеанс команды «script» с помощью команды:

После ввода exit вы получите следующий вывод.

Как видите, действия Терминала были сохранены в файле с именем «my_terminal_activities» и сохранены в текущем рабочем каталоге.

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

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