Як зберегти вихідні дані командного рядка у файл на Windows, Mac і Linux

Під час виконання команд у терміналі, їхній результат зазвичай одразу відображається на екрані, що дозволяє миттєво його переглянути. Однак, іноді виникає потреба зберегти ці дані для подальшого аналізу або використання в поєднанні з іншими інструментами.

Для цього можна скористатися перенаправленням виводу командного рядка. Розглянемо, як направити результат виконання команди у текстовий файл у Windows, macOS та Linux.

Перенаправлення вихідних даних командного рядка до файлу

Існують два оператори, які дозволяють перенаправляти вивід команди у файл: >> та >. Важливо розуміти різницю між ними, щоб уникнути випадкової втрати інформації.

Оператор > створює новий файл або переписує існуючий, якщо він вже існує. Оператор >> також створює новий файл, якщо такого не існує, проте він не перезаписує вже існуючий. Якщо файл вже є, то текст буде додано в кінець цього файлу.

Щоб перенаправити вихідні дані команди до файлу, спочатку введіть команду, потім вкажіть оператор > або >>, а після цього шлях до файлу, куди потрібно зберегти вивід. Наприклад, ось як можна зберегти результат виконання команди `ls`, яка показує список вмісту каталогу:

 ls > /шлях/до/файлу 

Замініть `/шлях/до/файлу` на повний шлях до файлу, який ви хочете використовувати. Команда буде виконана без виведення результату на екран, а її результат буде збережено у вказаному файлі.

Для перегляду вмісту файлу в терміналі, можна скористатися командою `cat`. Знову ж таки, замініть `/шлях/до/файлу` на повний шлях до файлу, який ви хочете переглянути.

 cat /шлях/до/файлу 

Ви побачите результат виконання команди у новому файлі:

Оператор > замінює вміст існуючого файлу. Якщо ви хочете зберегти вивід кількох команд в один файл, використовуйте оператор >> натомість. Це дозволить додати вихідні дані до файлу, не втрачаючи попередньо збережену інформацію.

Наприклад, спробуйте додати інформацію про систему в кінець щойно створеного файлу. Запустіть команду `uname -a` в Linux/macOS або `ver` у Windows, та додайте оператор >> разом зі шляхом до файлу:

 uname -a >> /шлях/до/файлу 

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

Відображення виводу на екрані та одночасне його перенаправлення у файл

Оператори > та >> не показують результат виконання команди на екрані, вони просто відправляють його до файлу. Якщо ви хочете зберегти результат у файл та одночасно побачити його на екрані, скористайтеся командою `tee`.

Щоб використати команду `tee`, передайте їй вивід іншої команди через оператор каналу, який виглядає як вертикальна риска (|). Наприклад, ось як можна передати результат виконання команди `ls` до `tee` через канал:

 ls | tee /шлях/до/output.txt 

Команда `tee` відправить вивід на екран та до файлу, який ви вказали. При цьому, файл буде перезаписано або створено новий, якщо такого не існує, як і у випадку з оператором >.

Щоб використати команду `tee` для виводу на екран та додавання виводу в кінець файлу, додайте ключ `-a` перед шляхом до файлу, наприклад:

 uname -a | tee -a /шлях/до/output.txt 

Ви побачите вивід команди на екрані, і зможете переконатися за допомогою `cat`, що `tee` також додав його до файлу:

Використання можливостей командного рядка

Існує багато інших способів перенаправлення виводу, включаючи помилки, у файл. Завдяки можливостям командного рядка ви можете відстежувати активність системи, об’єднувати дані з різних джерел та виконувати багато інших корисних дій.

Окрім збереження виведених даних, в терміналі можна виконувати безліч інших операцій. Хоча процес вивчення команд може здатися складним, команди термінала є виразними, легко поєднуються та часто працюють швидше за альтернативи з графічним інтерфейсом.