Przejdź do głównej treści
eLearner.app
Moduł 3 · Lekcja 1 z 26/11 w kursie~15 min
Lekcje modułu (1/2)

Strumień wyjściowy i przekierowania (echo, cat, >)

W systemie Linux prawie wszystkie polecenia odczytują dane z kanału wejściowego i zapisują wyniki w kanale wyjściowym. Kanały te nazywane są strumieniami standardowymi (streams):

  • Standard Input (stdin): Kanał, z którego polecenie odczytuje wejście (domyślnie klawiatura).
  • Standard Output (stdout): Kanał, do którego polecenie zapisuje poprawne dane wyjściowe (domyślnie ekran terminala).
  • Standard Error (stderr): Kanał, do którego polecenie zapisuje komunikaty o błędach (domyślnie ekran).

Dzięki wierszowi poleceń możemy przekierować te strumienie, aby zapisać wyniki w plikach.


Wyświetlanie tekstu: echo

Polecenie echo po prostu wypisuje przekazane mu parametry na standardowe wyjście (ekran):

Bash
echo "Ciao a tutti"

Przekierowanie wyjścia (Nadpisywanie): >

Jeśli chcesz zapisać dane wyjściowe polecenia w pliku zamiast oglądać je na ekranie, możesz użyć operatora przekierowania >:

Bash
echo "Ciao a tutti" > saluti.txt

To polecenie wykonuje echo i przekierowuje jego wyjście do pliku saluti.txt.

[!IMPORTANT] Jeśli plik saluti.txt nie istnieje, zostanie utworzony. Jeśli już istnieje, jego zawartość zostanie całkowicie usunięta i nadpisana nowymi danymi wyjściowymi.


Odczytywanie zawartości: cat

Aby szybko wyświetlić zawartość jednego lub kilku plików tekstowych, używa się polecenia cat (skrót od concatenate):

Bash
cat saluti.txt

Dopisywanie wyjścia (Dołączanie): >>

Jeśli zamiast nadpisywać plik chcesz dodać nowe linie na końcu istniejącej zawartości, musisz użyć operatora dołączania >>:

Bash
echo "Nuova riga di testo" >> saluti.txt

Teraz, odczytując plik za pomocą cat saluti.txt, zobaczysz zarówno pierwszą, jak i drugą linię.


Przykłady użycia i typowe błędy

Możesz przekazać do cat kilka plików jednocześnie, aby wyświetlić je po kolei (połączone):

Bash
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.

Możesz przekierować połączone wyjście do trzeciego pliku za pomocą operatora >:

Bash
cat notes.txt info.txt > combined.txt

Jeśli spróbujesz odczytać plik, który nie istnieje, cat wypisze komunikat o błędzie:

Bash
cat file_inesistente.txt
# Output:
# cat: file_inesistente.txt: No such file or directory

Spróbuj sam

Ejercicio 1: Crea un file con un saluto

Ćwiczenie#linux.m3.l1.e1
Próby: 0Ładowanie...

Utwórz plik o nazwie 'hello.txt' zawierający dokładnie tekst 'Hello World', używając polecenia echo i operatora >.

Ładowanie edytora...
Pokaż wskazówkę

Użyj echo, a następnie ciągu znaków w cudzysłowie, operatora > i hello.txt.

Rozwiązanie dostępne po 3 próbach

Ejercicio 2: Aggiungi note ad un file

Ćwiczenie#linux.m3.l1.e2
Próby: 0Ładowanie...

Dodaj linię 'Linux is fun' na końcu istniejącego pliku 'notes.txt' bez usuwania jego obecnej zawartości.

Ładowanie edytora...
Pokaż wskazówkę

Użyj operatora >>, aby dopisać tekst do pliku notes.txt.

Rozwiązanie dostępne po 3 próbach

Ejercicio 3: Concatena file

Ćwiczenie#linux.m3.l1.e3
Próby: 0Ładowanie...

Połącz zawartość plików 'notes.txt' oraz 'info.txt' i zapisz połączony wynik w nowym pliku o nazwie 'combined.txt'.

Ładowanie edytora...
Pokaż wskazówkę

Użyj cat, podając nazwy dwóch plików źródłowych, i przekieruj wyjście za pomocą > do pliku docelowego.

Rozwiązanie dostępne po 3 próbach