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.
newsblog.pl