Как сохранить вывод команды в файл в Bash (также известный как терминал Linux и macOS)

Оглавление:

Как сохранить вывод команды в файл в Bash (также известный как терминал Linux и macOS)
Как сохранить вывод команды в файл в Bash (также известный как терминал Linux и macOS)

Видео: Как сохранить вывод команды в файл в Bash (также известный как терминал Linux и macOS)

Видео: Как сохранить вывод команды в файл в Bash (также известный как терминал Linux и macOS)
Видео: Как удлинить и соединить Интернет кабель в домашних условиях - YouTube 2024, Апрель
Anonim
Когда вы запускаете команду в приглашении bash, она обычно печатает вывод этой команды непосредственно на терминал, чтобы вы могли сразу ее прочитать. Но bash также позволяет вам «перенаправлять» вывод любой команды, сохраняя ее в текстовом файле, чтобы вы могли просмотреть результат позже.
Когда вы запускаете команду в приглашении bash, она обычно печатает вывод этой команды непосредственно на терминал, чтобы вы могли сразу ее прочитать. Но bash также позволяет вам «перенаправлять» вывод любой команды, сохраняя ее в текстовом файле, чтобы вы могли просмотреть результат позже.

Это работает в bash на любой операционной системе, начиная с Linux и macOS до среды bash, основанной на Ubuntu Windows 10.

Вариант один: перенаправление вывода только в файл

Чтобы использовать перенаправление bash, вы запустите команду, укажите

>

или же

>>

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

  • >

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

  • >>

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

Технически это перенаправляет «stdout» - стандартный вывод, который является экраном для файла.

Вот простой пример.

ls

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

ls

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

ls > /path/to/file

Вам не нужно указывать путь к существующему файлу. Укажите допустимый путь, и bash создаст файл в этом месте.

Если вы просмотрите содержимое файла, вы увидите
Если вы просмотрите содержимое файла, вы увидите

ls

вывод команды. Например,

cat

команда печатает содержимое файла на терминал:

cat /path/to/file

Помните, что
Помните, что

>

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

>>

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

uname -a >> /path/to/file

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

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

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

Вариант второй: вывод на печать обычно и перенаправление в файл

Возможно, вам не понравится перенаправление вывода с помощью

>

или же

>>

операторов, так как вы не увидите вывод команды в терминале. Вот что

tee

команда для. Команда tee печатает вход, который он получает на экран а также одновременно сохраняет его в файл.

Чтобы передать вывод команды в

tee

распечатывая его на экране и сохраняя его в файле, используйте следующий синтаксис:

command | tee /path/to/file

Это заменит что-либо в файле выходом команды, как и

>

оператор.

Чтобы передать вывод команды в
Чтобы передать вывод команды в

tee

печать на вашем экране и сохранение его в файл, но добавление его в конец файла:

command | tee -a /path/to/file

Это добавит вывод в конец файла, как и

>>

оператор.

Рекомендуемые: