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!

Komentarze