Как сохранить в Ubuntu в терминале
Обновлено: 21.11.2024
Когда вы запускаете команду или сценарий в терминале Linux, вывод выводится на экран для немедленного просмотра.
В некоторых случаях вам потребуется сохранить вывод в файл для дальнейшего использования. Теперь вы, безусловно, можете копировать и вставлять в терминал Linux, но есть лучшие способы сохранить вывод сценария оболочки или команды в командной строке Linux. Позвольте мне показать их вам.
Способ 1. Используйте перенаправление для сохранения вывода команды в файл в Linux
Для этой цели в Linux можно использовать перенаправление. С оператором перенаправления вместо отображения вывода на экране он переходит к предоставленному файлу.
- Кнопка > перенаправляет вывод команды в файл, заменяя любой существующий контент в файле.
- Перенаправление >> добавляет вывод команды в конец существующего содержимого (если оно есть) файла.
Используйте оператор перенаправления STDOUT > для перенаправления вывода в файл следующим образом:
Если файл .txt не существует, он будет создан автоматически. Если вы снова используете перенаправление > с тем же файлом, содержимое файла заменяется новым выходным файлом.
Пример ниже демонстрирует это лучше. Сначала он сохраняет вывод команды ls -l. А позже он заменяет содержимое файла выводом команды ls *.c.
Если вы не хотите потерять содержимое существующего файла при сохранении вывода скрипта или команды, используйте операцию перенаправления в режиме добавления с помощью >>.
Этот пример демонстрирует это лучше:
Даже здесь, если файл не существует, он создается автоматически.
Дополнительный совет: сохраните выходные данные команды Linux, а также ошибку в файл
Если ваша команда Linux возвращает ошибку, она не сохраняется в файле. Вы можете сохранить вывод команды и ошибку команды в одном файле, используя 2>&1 следующим образом:
команда > файл.txt 2>&1
В основном 0 означает стандартный ввод, 1 — стандартный вывод и 2 — стандартную ошибку. Здесь вы перенаправляете (>) стандартную ошибку (2) на тот же адрес (&), что и стандартный вывод (1).
Метод 2: используйте команду tee для отображения вывода и сохранения его в файл
Кстати, вы заметили, что когда вы отправляете вывод команды в файл, вы больше не видите его на дисплее? Команда tee в Linux решает эту проблему за вас.
Подобно тройнику, который направляет поток воды в двух направлениях, команда tee отправляет выходные данные на дисплей, а также в файл (или в качестве входных данных для другой команды). Вы можете использовать его следующим образом:
Опять же, файл будет создан автоматически, если он еще не существует.
Вы также можете использовать команду tee в режиме добавления с опцией -a следующим образом:
Позвольте мне продемонстрировать это на нескольких простых примерах:
В своих примерах я использовал простые команды Linux. Но будьте уверены, вы можете использовать эти методы и для сохранения вывода скриптов bash.
Примечание. Избегайте ловушек конвейера при сохранении вывода команды в файл
Вы, вероятно, знакомы с перенаправлением каналов. Вы можете использовать его для объединения команд Linux, но вы не можете передать вывод в файл. Это приведет к ошибке, что команда имени файла не найдена:
Это связано с тем, что канал перенаправляет вывод одной команды на ввод другой команды. И в этом случае вы даете ему имя файла, пока он ожидает команду.
Если вы плохо знакомы с командной строкой Linux, я надеюсь, что это краткое руководство немного расширит ваши знания о Linux. Перенаправление ввода-вывода — важная концепция, о которой следует знать.
Команды, упомянутые в этой статье, были выполнены в системе Ubuntu 18.04 LTS.
Сохранение вывода команды в файл
Мы запустим несколько примеров, в которых выходные данные команд будут сохранены в указанном нами имени файла.
Создать новый файл/Заменить существующий файл
Если вы хотите сохранить вывод команды в новый файл или заменить содержимое уже существующего файла выводом команды, используйте следующий синтаксис:
Например, я воспользуюсь командой lscpu (которая отображает информацию о системе), а затем распечатаю ее содержимое в файл с именем systeminformation.txt. Этот файл еще не существует в моей системе.
Когда я получаю доступ к этому файлу через файловый менеджер, он выглядит так:
Добавить вывод к существующему файлу
Если вы хотите сохранить вывод команды Linux в файл, не затрагивая его уже существующее содержимое, вы можете использовать следующий синтаксис:
Например, следующая команда добавит результат команды ls в конец моего уже существующего файла systeminformation.txt.
Следующий файл, который когда-то содержал только мою системную информацию, теперь также содержит вывод моей команды ls:
Распечатка вывода на терминале и сохранение в файл
Возможно, вы заметили, что упомянутые выше команды только сохраняют вывод в файл, не печатая их на самом Терминале. Используйте следующий синтаксис, если вы хотите также просмотреть вывод команды в Терминале:
Например, текст, который мы хотим отобразить на следующем изображении, теперь будет отображаться в Терминале, а также печататься в файл myfile.txt.
Это содержимое файла, созданного с помощью команды:
Если вы хотите добавить вывод команды в уже существующий файл. Пожалуйста, следуйте этому синтаксису:
Например, на следующем изображении показано, как будет отображен еще один текст, а затем добавлен в мой уже существующий файл:
Вот как сейчас выглядит файл:
Эти ориентированные на вывод текстовые файлы, которые мы создали в этой статье, в некоторых случаях могут быть гораздо полезнее, чем обычная печать вывода на терминале. Вот насколько мощен Ubuntu bash!
Похожие сообщения:
Карим Буздар
Об авторе: Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Вы можете связаться с Каримом в LinkedIn
Поиск
Об этом сайте
Последние руководства
сообщить об этом объявлении
Используйте F3 и F4 для переключения между терминалами влево и вправо. Закройте окно графического интерфейса в любое время. Когда вы снова открываете Byobu, все ваши терминалы восстанавливаются. Показать активность в этом сообщении.
Как записать журнал терминала в Linux?
Linux: запись сеанса терминала, протоколирование вывода оболочки
- Установите для параметра Terminal Scrollback значение Unlimited, Copy and Save. Один из способов — настроить ваш терминал на неограниченную прокрутку, затем просто выберите все, скопируйте, затем вставьте и сохраните в редакторе. …
- Использование команды «script» для регистрации сеанса. Начните вести журнал, как этот скрипт ~/session. …
- Использование Shell внутри Emacs. …
- Добавьте метку времени в командную строку.
Как сохранить файл в Ubuntu?
После того как вы изменили файл, нажмите [Esc], чтобы перейти в командный режим, нажмите :w и нажмите [Enter], как показано ниже. Чтобы сохранить файл и одновременно выйти, вы можете использовать клавишу ESC и клавишу [Enter] . При необходимости нажмите [Esc] и введите Shift + Z Z, чтобы сохранить файл и выйти из него.
Как сохранить файл в терминале Linux?
Чтобы сохранить файл, вы должны сначала войти в командный режим. Нажмите Esc, чтобы войти в командный режим, а затем введите :wq, чтобы записать и закрыть файл.
…
Дополнительные ресурсы Linux.
Команда | Назначение |
---|---|
i | Переключиться в режим вставки. |
Esc | Переключиться в режим Command режим. |
:w | Сохранить и продолжить редактирование. |
:wq или ZZ | Сохранить и выйти/выйти из vi. |
Что вы используете для пересылки ошибок в файл?
- Перенаправить stdout в один файл, а stderr в другой файл: command > out 2>ошибка.
- Перенаправить стандартный вывод в файл ( >out ), а затем перенаправить стандартный вывод в стандартный вывод ( 2>&1 ): command >out 2>&1.
Как сохранить файл в истории Linux?
Сохранение списка истории. По умолчанию при запуске нового сеанса Bash считывает список истории из файла . файл истории bash. Список команд, выполняемых в текущем сеансе, сохраняется в памяти и сохраняется в файл при закрытии сеанса.
Как скопировать файл в Linux?
Копирование файлов с помощью команды cp
В операционных системах Linux и Unix команда cp используется для копирования файлов и каталогов. Если файл назначения существует, он будет перезаписан. Чтобы получить запрос на подтверждение перед перезаписью файлов, используйте параметр -i.
Что такое бёбу Ubuntu?
Byobu — это простая в использовании оболочка для терминального мультиплексора tmux (или screen ). … Основные функции Byobu включают в себя несколько окон консоли, разделенные панели в каждом окне, уведомления и значки состояния для отображения состояния хоста, а также постоянные сеансы для нескольких подключений.
Как открыть второй терминал в Linux?
- Ctrl+Shift+T откроет новую вкладку терминала. – …
- Это новый терминал… …
- Я не вижу причин использовать xdotool ctrl+shift+n при использовании gnome-terminal, у вас есть много других вариантов; см. man gnome-terminal в этом смысле. – …
- Ctrl+Shift+N откроет новое окно терминала. –
Как переключаться между вкладками в терминале Linux?
В Linux почти каждая вкладка поддерживает терминал, например, в Ubuntu с терминалом по умолчанию вы можете нажать:
- Ctrl + Shift + T или щелкните Файл/Открыть вкладку.
- и вы можете переключаться между ними, используя Alt + $ (*например, Alt + 1 )
Как просмотреть файл журнала в Linux?
Для поиска файлов используется следующий синтаксис команды: grep [опции] [шаблон] [файл] , где «шаблон» — это то, что вы хотите найти. Например, чтобы найти слово «ошибка» в файле журнала, вы должны ввести grep «ошибка» junglediskserver. log , и все строки, содержащие «ошибку», будут выведены на экран.
Как вы читаете файл в Linux?
Существуют различные способы открыть файл в системе Linux.
…
Открыть файл в Linux
Мне интересно, есть ли быстрый способ сохранить команду в терминале Ubuntu. Сценарий:
- Ввел [длинную команду]
- Забыл, что мне нужно запустить [другую команду], прежде чем я смогу запустить [длинную команду]
Я забыл упомянуть, что тоже не хотел эха.
10 ответов 10
Это не ваш терминал, это ваша оболочка.
Название механизма оболочки, которое вы ищете, — киллбуфер. Люди забывают, что они есть в редакторах командной строки оболочки. Они есть в ZLE в оболочке Z, а также в GNU Readline в оболочке Bourne Again, libedit в оболочке Almquist (FreeBSD), строковом редакторе оболочки Korn и строковом редакторе оболочки TENEX C.
Во всех этих оболочках в режиме emacs просто перейдите в конец строки для сохранения, уничтожьте ее в буфере уничтожения головы с помощью ⎈ Control + U , введите и запустите промежуточную команду, а затем скопируйте буфер уничтожения. содержимое с помощью ⎈ Control + Y . Убедитесь, что вы ничего не делаете с буфером уничтожения при вводе промежуточной команды.
В оболочке Z в режиме vi у вас есть последовательности префиксов vi для указания именованного буфера в стиле vi, в который нужно уничтожить строку. Вы можете использовать один из других буферов вместо буфера по умолчанию. Просто используйте что-то вроде " a d d (в режиме vicmd), чтобы удалить всю строку в буфер "a", введите и запустите промежуточную команду, а затем поместите содержимое этого буфера с помощью " a p .
В своих режимах vi оболочка Korn, GNU Readline в оболочке Bourne Again и libedit в оболочке (FreeBSD) Almquist не имеют именованных буферов в стиле vi, а только один вырезанный буфер. d d , чтобы удалить строку в этом буфере, а затем поместить содержимое буфера с помощью p , будет работать. Но он использует тот же буфер в стиле vi, что и уничтожение и выдергивание при вводе промежуточной команды.
Читайте также: