2023-09-07 20:10 Czas czytania: 6 min

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.

Piotr Zieliński
Autor
Polska

Opisuje trendy i dane, dbając o kontekst i jasny przekaz.

Poprzedni artykuł
Jak włączyć lub wyłączyć powiadomienia o połączeniach na Androidzie
Następny artykuł
Czy warto kupić domową baterię zapasową? 8 powodów za i przeciw