Как сохранить вывод командной строки в файл в Windows, Mac и Linux

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

Сохранение вывода команды в файл полезно, если вы пытаетесь диагностировать проблему. Чтобы получить помощь от службы технической поддержки, вам может потребоваться выполнить определенные команды на вашем компьютере и отправить результаты в службу поддержки. Это легко, используя перенаправление вывода в командной строке.

Сегодня мы расскажем, как отправить вывод команды в текстовый файл в оболочке bash в Windows, Mac и Linux.

Замечания: Мы будем использовать терминал Mac

в нашем примере, но он работает так же в оболочке bash на Linux

и в новой оболочке bash в Windows 10

,

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

Есть два оператора для перенаправления вывода команды в файл вместо экрана.

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

Примечание для себя: когда вы перенаправляете вывод сценария оболочки в файл, он не будет отображаться на консоли 🙂 #StupidMe

— Ксавье Мертенс? (@xme) 5 августа 2017 г.

Чтобы перенаправить вывод команды в файл, введите команду, укажите > или >> оператор, а затем укажите путь к файлу, к которому вы хотите перенаправить вывод. Например, команда ls выводит список файлов и папок в текущем каталоге. При запуске следующей команды список файлов и папок будет записан в ls_output.txt файл в TerminalOutput папка.

замещать / Путь / к / файлу с полным путем к файлу, который вы хотите использовать.

ls > /path/to/file

Это команда для нашего примера.

ls > /Users/lorikaufman/TerminalOutput/ls_output.txt

Чтобы просмотреть содержимое файла в окне терминала, используйте кошка команда, как показано в следующей команде. Снова замени / Путь / к / файлу с полным путем к файлу, который вы хотите просмотреть.

cat /path/to/file

сохранить вывод командной строки windows mac linux

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

Например, мы добавим системную информацию в конец файла, который мы создали выше. Итак, в следующей строке uname -a это команда, сопровождаемая >> оператор перенаправления. Затем полный путь к файлу, к которому мы хотим добавить вывод uname команда.

параметр в uname Команда печатает всю доступную системную информацию.

uname -a >> /Users/lorikaufman/TerminalOutput/ls_output.txt

Чтобы просмотреть файл с добавленной информацией в окне терминала, введите следующую команду с полным путем к вашему файлу.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

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

сохранить вывод командной строки windows mac linux

Вот еще один пример отправки вывода Ls команда как дерево каталогов, с подкаталогами, перечисленными рекурсивно ( р параметр) и один файл в строке ( 1 параметр).

ls -1R > /Users/lorikaufman/TerminalOutput/dir_tree.txt

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

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

сохранить вывод командной строки windows mac linux

Распечатать вывод на экран и перенаправить его в файл

> а также >> операторы не отображают вывод команды на экране. Вывод отправляется только в файл.

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

Ботаник бдителен! Сегодня я обнаружил команду `tee`, которая передает как файл, так и стандартный вывод. Unix продолжает радовать. pic.twitter.com/aClIT8AdJB

— Зик Сикелианос (@zeke) 29 августа 2017 г.

Чтобы использовать тройник команда, которую вы должны передать результат от команды, которую вы выполняете, как Ls, к тройник Команда, используя оператор трубы, вертикальная черта (|). Например, следующая команда принимает вывод Ls Команда и трубы в тройник команда. тройник Затем команда отправляет этот вывод на экран и в файл, который вы укажете, используя полный путь к файлу.

ls | tee /Users/lorikaufman/TerminalOutput/ls_output.txt

Приведенная выше команда заменяет весь контент в файле или создает новый, если он не существует, как > оператор. Мы использовали следующее кошка Команда для просмотра содержимого нашего файла в окне терминала.

cat /Users/lorikaufman/TerminalOutput/ls_output.txt

сохранить вывод командной строки windows mac linux

Чтобы использовать тройник Чтобы напечатать вывод на экран и добавить его в конец файла, введите следующую команду. Здесь мы добавляем полную системную информацию в конец файла, используя uname -a команда, так же, как мы сделали с >> оператор, но отправив вывод на экран, а также.

uname -a | tee -a /Users/lorikaufman/TerminalOutput/ls_output.txt

сохранить вывод командной строки windows mac linux

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

ls -1R | tee /Users/lorikaufman/TerminalOutput/dir_tree.txt

Затем мы используем кошка Снова введите команду, чтобы просмотреть содержимое файла.

cat /Users/lorikaufman/TerminalOutput/dir_tree.txt

сохранить вывод командной строки windows mac linux

Но подождите, есть больше

Есть еще много способов перенаправить вывод, включая ошибки, в файл. Вы можете прочитать о различных операторах и командах, используемых для перенаправления вывода, в главе «Перенаправление ввода / вывода» в Руководстве по расширенному написанию сценариев Bash. Вы также можете узнать больше об использовании командной строки

,

Сегодня я усвоил хороший урок. Не перенаправляйте вывод журнала 10-миллионной итерации цикла в текстовый файл. Результат: 5 ГБ TXT-файла.

— ????????? Ллойд (@ lcarswell1) 21 мая 2017 г.

Для чего вы используете перенаправление вывода? Какой метод вы используете? Вы узнали другие способы перенаправления вывода? Поделитесь своими мыслями и опытом с нами в комментариях ниже.

Ссылка на основную публикацию