Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.031 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как сохранить в файл результат команды в терминале Linux
После запуска сценария или какой-нибудь команды в Linux, вы как правило видите результат операции в окне терминала. В некоторых случаях этот результат лучше сразу сохранить в файл. Чтобы не копировать и вставлять результат в ручную, можно сохранить вывод команды в файл автоматически. В этой небольшой статье я покажу, как сохранить вывод команды в терминале Linux.
Как сохранить вывод команды в терминале Linux
Есть разные способы сохранить вывод команды в терминале Linux. Давайте рассмотрим каждый.
Использование оператора перенаправления
Мы можем использовать оператор перенаправления для сохранения вывода сценария или команды в файл.
> — оператор сохраняет результат команды и заменяя содержимое файла.
> > — оператор сохраняет результат команды добавляя результат в конец существующего содержимого файла.
ping — c 3 google . com > output . txt

Команда создаст файл output.txt и сохранит в него вывод команды. Если мы снова запустим эту команду, она заменит содержимое созданного ранее файла.
Теперь, давайте запустим команду с оператором > > :
ping — c 3 bing . com > > output . txt

Оператор двойного перенаправления > > не заменит вывод, а добавит вывод к существующему содержимому, что иногда может быть полезно.
Использование команды tee
Теперь попробуем команду tee для отображения вывода на терминале и сохранения вывода, в отличие от оператора перенаправления, который мы использовали ранее.
Использование команды tee:
nslookup h а ckt о day . net | tee output . txt

Если файл не существует, он будет создан.
Эти простые команды могут быть полезны в различных сценариях, могут использоваться для сохранения важного вывода во время выполнения команд, что позволит сэкономить время.
Полезно для пентестеров и пользователей Linux, которым нужно сохранять важные выходные данные в файл.
Как сохранить в файл вывод консоли (терминала) в Linux

Очень часто при работе в терминале возникает необходимость в сохранении результата работы команд (или же какого-либо консольного приложения) в текстовый файл или проще говоря лог. В ОС Linux есть множество способов для реализации этой идеи и в этой статье мы рассмотрим некоторые из них.
Почитать о том, как сделать тоже самое в Windows системах можно в этой статье.

Стандартный поток вывода данных (StdOut) — Это вся информация, которая выводится в результате исполнения команды, за исключением ошибок.
Стандартный поток вывода ошибок (StdErr) — Это информация об ошибке, если она была.
Описание
команда > logfile.txt
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то он будет перезаписан.
команда >> logfile.txt
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то новые данные будут дописаны в конец файла.
команда 2> logfile.txt
Стандартный поток вывода ошибок (StdErr) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то он будет перезаписан.
команда 2>> logfile.txt
Стандартный поток вывода ошибок (StdErr) будет перенаправлен в файл и отображаться в терминале не будет. Если файл уже существует, то новые данные будут дописаны в конец файла.
команда &> logfile.txt
Стандартный поток вывода данных (StdOut) И Стандартный поток вывода ошибок (StdErr) будут перенаправлены в файл и отображаться в терминале не будут. Если файл уже существует, то он будет перезаписан.
команда &>> logfile.txt
Стандартный поток вывода данных (StdOut) И Стандартный поток вывода ошибок (StdErr) будут перенаправлены в файл и отображаться в терминале не будут. Если файл уже существует, то новые данные будут дописаны в конец файла.
команда | tee logfile.txt
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и одновременно будет отображен в терминале. Если файл уже существует, то он будет перезаписан.
команда | tee -a logfile.txt
Стандартный поток вывода данных (StdOut) будет перенаправлен в файл и одновременно будет отображен в терминале. Если файл уже существует, то новые данные будут дописаны в конец файла.
Примеры
uname -r > logfile.txt
Вывод будет сохранен в logfile.txt в текущей директории. На экран ничего выведено не будет.
uname -r | tee logfile.txt
16.4. Сохранение файлов
В vi существует несколько способов сохранения файлов. Если вам нужно сохранить содержимое текущего буфера в файл randomness , наберите следующую команду:
:w randomness
После того, как вы сохранили файл в первый раз, для повторного его сохранения наберите просто :w. Все изменения будут записаны в файл. После сохранения файла вы будете возвращены назад в командный режим. Если вам нужно сохранить файл и выйти из vi (очень распространённая ситуация), вам нужно набрать :wq. Эта команда говорит vi сохранить текущий файл и вернуться назад в командный процессор.
Может случиться так, что вам нужно сохранить файл, помеченный атрибутом “только для чтения”. Тогда вы можете сохранить его, добавив восклицательный знак после команды записи:
Однако вы всё-таки можете столкнуться с ситуацией, когда вы не сможете выполнить запись в файл (например, если вы пытаетесь отредактировать файл, владельцем которого является другой пользователь). В этом случае vi сообщит вам, что он не может сохранить файл. Если вам действительно нужно отредактировать файл, вам понадобится вернуться назад и отредактировать его под root ‘ом или (что есть более предпочтительным) под владельцем этого файла.