KWALIFIKACJA INF2 - CZERWIEC 2023 (test 4)

PYTANIE NR 35.
W systemie Linux, aby dopisać do pliku test.txt, bez utraty wcześniej zapisanych w nim danych, rezultat wykonania polecenia dir, należy użyć następującej składni
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Operator >> przekierowuje standardowe wyjście polecenia do pliku i dopisuje je na końcu, bez kasowania wcześniejszej zawartości. Zapis z > nadpisuje plik, a

Pełne wyjaśnienie:

W powłoce systemów GNU/Linux wynik polecenia trafia domyślnie na standardowe wyjście (stdout). Przekierowania pozwalają zapisać to wyjście do pliku.

Składnia "dir /etc >> test.txt" uruchamia listowanie zawartości katalogu /etc i kieruje wynik do pliku test.txt tak, aby został dopisany na końcu pliku. To kluczowe: podwójny znak większości (>>) oznacza dopisywanie, więc wcześniejsze dane w pliku pozostają nienaruszone.

Pozostałe składnie nie spełniają wymagań:

  • "dir /etc > test.txt" także przekierowuje stdout do pliku, ale robi to w trybie nadpisania — poprzednia zawartość pliku zostaje zastąpiona nową.
  • "dir /etc < test.txt" próbuje podać plik jako wejście (stdin) dla polecenia. Polecenia listujące katalogi nie korzystają typowo z takiego wejścia do generowania listingu, więc nie jest to sposób na dopisywanie wyniku do pliku.
  • "dir /etc << test.txt" oznacza here-document: przekazanie tekstu wejściowego do polecenia aż do napotkania znacznika. Nie służy to do dopisywania wyniku polecenia do pliku.

Warto pamiętać też, że dir jest dostępne w wielu dystrybucjach jako element GNU coreutils (choć częściej używa się ls). Na egzaminie najważniejsze jest rozpoznanie operatora, który dopisuje bez utraty danych: >>.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator >> przekierowuje standardowe wyjście polecenia do pliku w trybie dopisywania. Jeśli plik istnieje, nowa treść zostanie dodana na końcu. Jeśli nie istnieje, zostanie utworzony.
> zapisuje wynik do pliku, ale nadpisuje jego zawartość (można stracić wcześniejsze dane). >> zapisuje wynik, dopisując go na końcu, dzięki czemu wcześniejsza zawartość pliku pozostaje bez zmian.
Bo > otwiera plik do zapisu w trybie, który usuwa dotychczasową zawartość i zapisuje od początku. Jeśli plik zawierał ważne informacje (np. logi), po wykonaniu polecenia zostaną zastąpione nowym wynikiem.
Operator < przekierowuje wejście (stdin) z pliku do programu. Oznacza to, że program czyta dane z pliku zamiast z klawiatury. Nie służy do zapisywania wyniku polecenia do pliku.
<< to mechanizm here-document: przekazywanie wielowierszowego tekstu jako wejścia do polecenia aż do znacznika końca. Używa się go np. do karmienia programu blokiem konfiguracji, a nie do dopisywania wyniku polecenia do pliku.
W wielu dystrybucjach GNU/Linux dir jest dostępne (GNU coreutils) i listuje zawartość katalogu podobnie do ls. Różnice dotyczą głównie domyślnego formatowania wyjścia, ale oba polecenia mogą służyć do uzyskania listingu katalogu.
Najczęściej stosuje się przekierowanie >>, np. polecenie >> plik.txt. Dzięki temu kolejne uruchomienia skryptu będą dodawały nowe wiersze do tego samego pliku (np. raportu), zamiast go nadpisywać.
Użyj przekierowania >, np. polecenie > wynik.txt. To podejście jest dobre, gdy chcesz stworzyć plik od zera lub świadomie zastąpić poprzednią zawartość. Gdy chcesz zachować wcześniejsze dane, wybierz >>.
Najczęstsze pomyłki to: wybór > zamiast >> (skutek: nadpisanie pliku), odwrócenie kierunku i użycie <, oraz mylenie << (here-document) z dopisywaniem. Warto ćwiczyć na plikach testowych.
Gdy budujesz log lub raport z wielu kroków (np. kilka poleceń diagnostycznych, lista katalogów z różnych lokalizacji). Dopisywanie pozwala zachować historię wyników, co jest przydatne w administracji i przy analizie problemów.
info

Około 68% zdających odpowiada poprawnie na to pytanie. średnie

Specjaliści zwracają uwagę: "Operator >> przekierowuje standardowe wyjście polecenia do pliku i dopisuje je na końcu, bez kasowania wcześniejszej zawartości."

Źródła:

  • GNU Coreutils Manual (dir invocation), https://www.gnu.org/software/coreutils/manual/coreutils.html#dir-invocation - accessed 2026-02-27
  • GNU Coreutils Manual (ls invocation; relacje ls/dir), https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation - accessed 2026-02-27
  • GNU Bash Reference Manual: Redirections, https://www.gnu.org/software/bash/manual/bash.html#Redirections - accessed 2026-02-27

Materiały:

  • Dokumentacja powłoki bash dotycząca przekierowań (sekcja REDIRECTION)
  • Podręcznik administracji GNU/Linux: rozdziały o stdin/stdout/stderr i przekierowaniach
  • Ćwiczenia praktyczne w terminalu: porównanie działania > oraz >> na plikach testowych

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego