Jak zapisać dane wyjściowe polecenia w pliku za pomocą terminalu Linux
Wszyscy wiemy, jak uruchomienie polecenia w wierszu poleceń Linuksa, Terminalu, powoduje wykonanie polecenia i wydrukowanie wyników w samym Terminalu. Czasami to natychmiastowe wyświetlenie wyniku nie jest wystarczające, szczególnie jeśli chcemy zachować wynik do późniejszego wykorzystania. Na szczęście, bash Linuksa i bash całego systemu operacyjnego, w tym przypadku, jest wyposażony w możliwość drukowania danych wyjściowych polecenia do określonego pliku. W tym artykule zajmiemy się dwoma następującymi zadaniami:
- Zapisywanie danych wyjściowych polecenia do pliku
- Drukowanie danych wyjściowych na terminalu i zapisywanie go do pliku
Polecenia wymienione w tym artykule zostały wykonane w systemie Ubuntu 18.04 LTS .
Zapisywanie danych wyjściowych poleceń w pliku
Uruchomimy kilka przykładów, w których dane wyjściowe poleceń zostaną zapisane pod podaną przez nas nazwą pliku.
Utwórz nowy plik / Zastąp istniejący plik
Jeśli chcesz zapisać dane wyjściowe polecenia w nowym pliku lub zastąpić zawartość już istniejącego pliku danymi wyjściowymi polecenia, użyj następującej składni:
$ [command] > [/filelocation/filename]
Na przykład użyję polecenia lscpu (wyświetlającego informacje o systemie), a następnie wydrukuję jego zawartość do pliku o nazwie systeminformation.txt. Ten plik nie istnieje jeszcze w moim systemie.
Gdy uzyskuję dostęp do tego pliku za pomocą menedżera plików, wygląda to tak:
Dołącz dane wyjściowe do istniejącego pliku
Jeśli chcesz zapisać dane wyjściowe polecenia systemu Linux w pliku bez bałagania jego już istniejącej zawartości, możesz: użyj następującej składni:
$ [command] >> [/filelocation/filename]
Na przykład następujące polecenie doda wynik polecenia ls na końcu mojego już istniejącego pliku systeminformation.txt.
Poniższy plik, który kiedyś zawierał tylko informacje o moim systemie, teraz zawiera również dane wyjściowe polecenia ls:
Drukowanie danych wyjściowych na terminalu i zapisanie ich w pliku
Być może zauważyłeś, że polecenia, o których wspomnieliśmy powyżej, zapisują tylko wyjście do pliku bez drukowania ich na samym terminalu. Użyj poniższej składni, jeśli chcesz wyświetlić dane wyjściowe polecenia również na terminalu:
$ [command] | tee [/filelocation/filename]
Na przykład tekst, który chcemy powtórzyć na poniższym obrazie, zostanie teraz wyświetlony na terminalu i wydrukowany do pliku myfile.txt.
Oto zawartość pliku wygenerowanego za pomocą polecenia:
Jeśli chcesz dołączyć dane wyjściowe polecenia do już istniejącego pliku. Proszę postępować zgodnie z tą składnią:
$ [command] | tee -a [/filelocation/filename]
Na przykład poniższy obraz pokazuje, jak więcej tekstu zostanie echo, a następnie dodane do mojego już istniejącego pliku:
Tak wygląda teraz ten plik:
Te zorientowane na wyjście Pliki tekstowe, które wygenerowaliśmy w tym artykule, mogą być w niektórych przypadkach znacznie bardziej przydatne niż zwykłe drukowanie danych wyjściowych na terminalu. Oto, jak potężny jest bash Ubuntu!