Użycie polecenia tar -czf kopia.tar.gz /home w systemie Linux spowoduje
A. skopiowanie pliku kopia.tar.gz do katalogu /home
B. wyodrębnienie danych z archiwum kopia.tar.gz do katalogu /home
C. utworzenie skompresowanego programem gzip archiwum kopia.tar.gz zawierającego kopię katalogu /home
D. wyświetlenie listy plików zapisanych w archiwum kopia.tar.gz
Polecenie tar -czf kopia.tar.gz /home tworzy archiwum tar o nazwie kopia.tar.gz i kompresuje je algorytmem gzip. W tym zapisie opcja -c oznacza create, czyli utworzenie nowego archiwum, -z włącza kompresję gzip, a -f wskazuje, że zaraz po opcjach podana jest nazwa pliku archiwum. Ostatni argument, czyli /home, określa katalog, którego zawartość ma zostać zapisana w archiwum. W praktyce jest to typowy sposób wykonania prostej kopii zapasowej katalogów użytkowników w Linuxie. Z mojego doświadczenia warto pamiętać, że tar sam nie jest systemem backupu z pełną kontrolą wersji, ale do szybkiego pakowania danych sprawdza się bardzo dobrze. Dobra praktyka to zapisywanie archiwum poza katalogiem, który kopiujemy, np. w /backup albo na zewnętrznym nośniku, żeby przypadkiem nie archiwizować tworzonego pliku w tym samym miejscu. Przy ścieżkach bezwzględnych tar często usuwa początkowy znak / z nazw plików w archiwum, co jest zabezpieczeniem przed nadpisywaniem plików przy odtwarzaniu. Do odtworzenia takiej kopii używa się zwykle tar -xzf kopia.tar.gz, a do sprawdzenia zawartości tar -tzf kopia.tar.gz. To są podstawowe, ale naprawdę ważne polecenia w administracji Linuxem.
W tym poleceniu łatwo pomylić znaczenie opcji, bo tar potrafi zarówno tworzyć archiwa, jak i je rozpakowywać albo tylko wyświetlać ich zawartość. Kluczowe jest jednak to, że występuje opcja -c, czyli create. Ona jednoznacznie mówi programowi, że ma zostać utworzone nowe archiwum, a nie odczytane istniejące. Wyodrębnianie danych z archiwum wykonuje się przy użyciu opcji -x, na przykład tar -xzf kopia.tar.gz -C /home, jeśli chcemy rozpakować pliki w konkretnym miejscu. Samo podanie /home na końcu komendy nie oznacza katalogu docelowego rozpakowania, tylko źródło danych, które mają trafić do archiwum. To jest częsty błąd myślowy, bo w wielu poleceniach ostatni argument bywa miejscem docelowym, ale w tar przy tworzeniu archiwum oznacza on plik lub katalog do spakowania. Wyświetlanie listy plików z archiwum również nie pasuje do tej składni, ponieważ do tego służy opcja -t, zwykle w formie tar -tzf kopia.tar.gz. Taka operacja nie zapisuje nowych danych, tylko czyta metadane i nazwy plików z już istniejącego archiwum. Nie chodzi też o zwykłe kopiowanie pliku kopia.tar.gz do katalogu /home. Do kopiowania plików używa się polecenia cp, a tar nie działa jak prosty menedżer kopiowania, tylko buduje strumień archiwum z podanych danych. Moim zdaniem najprościej zapamiętać to tak: c tworzy, x rozpakowuje, t pokazuje listę, z oznacza gzip, a f wskazuje nazwę pliku archiwum. Ta kolejność rozumowania bardzo pomaga w zadaniach egzaminacyjnych i przy normalnej pracy w terminalu.