Jak zapisać dane wyjściowe wiersza poleceń do pliku w systemach Windows, Mac i Linux
W momencie, gdy uruchamiasz komendę w terminalu, standardowo jej rezultat jest prezentowany w tym samym oknie, co umożliwia natychmiastowy wgląd w wyniki. Jednakże, w pewnych sytuacjach możesz chcieć zachować te rezultaty do późniejszej analizy, lub by wykorzystać je w połączeniu z innymi narzędziami.
Taką funkcjonalność zapewnia przekierowanie wyjścia w linii poleceń. Poznaj metody kierowania efektów wykonania polecenia do pliku tekstowego w systemach operacyjnych Windows, macOS i Linux.
Przekierowywanie rezultatów komend do pliku
Do przekierowania wyjścia z polecenia do pliku, masz do dyspozycji dwa operatory: ">>" oraz ">". Aby uniknąć przypadkowej utraty danych, kluczowe jest zrozumienie różnic pomiędzy nimi.
Symbol ">" powoduje utworzenie nowego pliku lub nadpisanie istniejącego, jeżeli taki już istnieje. Z kolei operator ">>" również utworzy nowy plik w przypadku jego braku, ale nie dokona nadpisania, jeśli plik już istnieje. W takiej sytuacji, doda on tekst na końcu istniejącego pliku.
Aby przekierować wynik komendy do pliku, należy wprowadzić komendę, następnie użyć operatora ">" lub ">>", a na końcu określić ścieżkę do pliku, gdzie chcesz zapisać wynik. Na przykład, aby zachować rezultat polecenia "ls" (wyświetlającego zawartość katalogu), należy użyć konstrukcji:
ls > /ścieżka/do/pliku
Zastąp "/ścieżka/do/pliku" właściwą ścieżką do pliku, którego chcesz użyć. Komenda zostanie wykonana w tle, a jej wynik zostanie umieszczony w podanym pliku.
Aby zobaczyć zawartość zapisanego pliku w terminalu, możesz skorzystać z polecenia "cat". Ponownie, zastąp "/ścieżka/do/pliku" właściwą ścieżką do pliku, który chcesz wyświetlić:
cat /ścieżka/do/pliku
W efekcie, zawartość pliku, zawierająca wcześniej uzyskany wynik komendy, zostanie wyświetlona w terminalu.

Operator ">" zastępuje zawartość istniejącego pliku. Jeśli zależy Ci na zachowaniu wyników z kilku komend w jednym pliku, użyj operatora ">>". Pozwala on na dodawanie kolejnych wyników do pliku bez utraty wcześniejszych danych.
Przykładowo, dodajmy informacje o systemie na końcu wcześniej utworzonego pliku. Wykorzystaj polecenie "uname -a" w systemach Linux/macOS, lub "ver" w Windows, i dołącz operator ">>" wraz ze ścieżką do pliku:
uname -a >> /ścieżka/do/pliku
Powtarzaj ten proces tyle razy, ile potrzebujesz, by dopisać wyniki kolejnych komend na końcu pliku.

Wyświetlanie wyników na ekranie i jednoczesne przekierowanie do pliku
Operatory ">" i ">>" kierują wynik komendy tylko do pliku, nie pokazując go na ekranie. Jeśli chcesz jednocześnie zapisać wynik w pliku i zobaczyć go w terminalu, użyj komendy "tee".
Aby użyć polecenia "tee", przekieruj do niego wyjście innej komendy za pomocą operatora potoku, symbolu "|". Na przykład, aby przekazać wynik polecenia "ls" do "tee" za pomocą potoku, użyj:
ls | tee /ścieżka/do/wyjscia.txt
Polecenie "tee" wyśle wynik jednocześnie na ekran i do podanego pliku. W efekcie, plik zostanie nadpisany, lub utworzony nowy, jeśli nie istnieje, podobnie jak w przypadku operatora ">".
Aby polecenie "tee" zapisało wynik na ekranie i dopisało go na końcu pliku, użyj flagi "-a" przed ścieżką do pliku, na przykład:
uname -a | tee -a /ścieżka/do/wyjscia.txt
Zobaczysz rezultat komendy na ekranie, a używając "cat" możesz sprawdzić, czy "tee" dodało go również do pliku.

Wykorzystaj potencjał wiersza poleceń
Istnieje wiele dodatkowych sposobów przekierowania wyjścia, w tym strumienia błędów, do pliku. Dzięki możliwościom wiersza poleceń możesz monitorować aktywność systemu, łączyć dane z różnych źródeł i realizować wiele innych zadań.
Poza standardowym wyświetlaniem rezultatów w terminalu, możesz dokonać o wiele więcej. Chociaż nauka korzystania z wiersza poleceń może wydawać się trudna, polecenia są niezwykle precyzyjne, łatwe w łączeniu, a ich działanie jest często szybsze niż alternatywnych interfejsów graficznych.