Jak zapisać dane wyjściowe wiersza poleceń do pliku w systemach Windows, Mac i Linux

Kiedy uruchomisz polecenie terminala, zazwyczaj wyświetli ono dane wyjściowe w terminalu, dzięki czemu będziesz mógł je natychmiast przeczytać. Czasami jednak będziesz chciał zapisać dane wyjściowe, aby je później przeanalizować lub połączyć z innym narzędziem.

Można to zrobić za pomocą przekierowania wyjścia w wierszu poleceń. Dowiedz się, jak wysłać wynik polecenia do pliku tekstowego w systemach Windows, Mac i Linux.

Przekieruj dane wyjściowe wiersza poleceń do pliku

Istnieją dwa operatory, których można użyć do przekierowania wyjścia polecenia do pliku: >> i >. Aby uniknąć niezamierzonej utraty danych, ważne jest, aby zrozumieć różnicę między nimi.

Symbol > tworzy nowy plik lub nadpisuje go, jeśli już istnieje. Operator >> tworzy również nowy plik, jeśli nie istnieje, ale nie nadpisuje istniejącego pliku. Jeśli plik już istnieje, doda tekst na jego końcu.

Aby przekierować dane wyjściowe polecenia do pliku, wpisz polecenie, następnie określ operator > lub >> i na koniec podaj ścieżkę do pliku, do którego chcesz przekierować dane wyjściowe. Na przykład, oto jak możesz zapisać dane wyjściowe polecenia ls, które wyświetla zawartość katalogu:

 ls > /path/to/file 

Zastąp /path/to/file pełną ścieżką do pliku, którego chcesz użyć. Polecenie zostanie uruchomione w trybie cichym, przechowując dane wyjściowe w określonym pliku.

Aby wyświetlić zawartość pliku w terminalu, możesz użyć polecenia cat. Ponownie zastąp /path/to/file pełną ścieżką do pliku, który chcesz wyświetlić.

 cat /path/to/file 

Powinieneś zobaczyć wynik polecenia w nowym pliku:

Operator > zastępuje zawartość istniejącego pliku. Jeśli chcesz zapisać dane wyjściowe kilku poleceń w jednym pliku, użyj zamiast tego operatora >>. To jest dołączane do pliku, więc nie stracisz żadnego wcześniej zapisanego wyniku.

Na przykład spróbuj dołączyć informacje o systemie na końcu właśnie utworzonego pliku. Po prostu uruchom uname -a w systemie Linux/Mac — lub polecenie ver, jeśli używasz systemu Windows — i dodaj operator >> wraz ze ścieżką do pliku:

 uname -a >> /path/to/file 

Powtarzaj ten proces tyle razy, ile potrzebujesz, aby dołączyć dane wyjściowe polecenia na końcu pliku.

Operatory > i >> nie wyświetlają wyniku polecenia na ekranie, po prostu wysyłają je do pliku. Jeśli chcesz wysłać wynik do pliku i zobaczyć go na ekranie, użyj polecenia tee.

Aby użyć polecenia tee, wyślij do niego dane wyjściowe innego polecenia za pomocą operatora potoku, pionowej kreski (|). Na przykład, oto jak możesz wysłać wynik polecenia ls do tee za pomocą potoku:

 ls | tee /path/to/output.txt 

Następnie polecenie tee wysyła te dane wyjściowe na ekran i do określonego pliku. Spowoduje to zastąpienie pliku lub utworzenie nowego, jeśli nie istnieje, podobnie jak operator >.

Aby użyć polecenia tee do wydrukowania wyniku na ekranie i dołączenia go na końcu pliku, dodaj flagę -a przed ścieżką pliku, na przykład:

 uname -a | tee -a /path/to/output.txt 

Zobaczysz wynik polecenia na ekranie i możesz użyć cat, aby sprawdzić, czy tee również dodał je do pliku:

Skorzystaj z mocy wiersza poleceń

Istnieje wiele innych sposobów przekierowania danych wyjściowych, w tym błędów, do pliku. Dzięki możliwościom wiersza poleceń możesz monitorować aktywność systemu, łączyć dane z kilku źródeł i nie tylko.

Oprócz zapisywania danych wyjściowych na terminalu możesz zrobić znacznie więcej. Chociaż krzywa uczenia się może być stroma, polecenia terminala są wyraziste, łatwe do komponowania i często szybsze niż alternatywy GUI.