Mam archiwum tar i chcę z niego korzystać tar -xvf
.
W tym archiwum tar mam drzewo katalogów zawierające kilka plików. W moim systemie solaris 10 to drzewo katalogów już istnieje i zawiera kilka plików.
Jeśli rozpakuję archiwum, czy całe drzewo katalogów zostanie zastąpione, czy tylko pliki zawarte w archiwum zostaną zastąpione?
Czy pliki, które nie mają korespondenta w archiwum, zostaną usunięte?
tar
solaris-10
Felicia
źródło
źródło
Odpowiedzi:
Zduplikowane pliki, które już istnieją, mogą, ale nie muszą być rozpakowane i zastąpione w zależności od systemu. Jednak zazwyczaj działa domyślnie. Pliki, które znajdują się w archiwum, ale nie są w systemie, zostaną po prostu dodane do nowych lub istniejących katalogów w systemie.
Reż
/test
Archiwum
test.tar
prawdopodobnie zostanie połączony z:
Dodanie
-k
flagi do polecenia tar zapewni, że żaden plik w katalogu docelowym nie zostanie nadpisany:źródło
noclobber
(który również istnieje w powłokach POSIX btw) wpływa tylko na pliki przekierowane za pomocą>foo
w powłoce. Nie ma wpływu na smołę.echo foo > bar.txt
nie zastąpi bar.txt, jeśli istnieje. Nie ma to wpływu na to, co program, taki jak tar, nadpisze.dir/file1
.Najłatwiejszym sposobem jest utworzenie nowego, pustego katalogu, skopiowanie do niego dysku CD i wyodrębnienie tam plików. Należy jednak uważać, aby wyodrębnione pliki były względne (zaczynają się od ./), a nie absolutne (zaczynają się od /). Przeciągnij spis treści przez mniej, aby zobaczyć, co się dzieje, jeśli nie wiesz (tar -tvf nazwa_pliku tar | mniej)
Możesz dowiedzieć się, czy twoja wersja tar zastępuje domyślnie, czy nie, patrząc na stronę man. Tar nie usunie plików podczas rozpakowywania, co jest kolejnym powodem, dla którego ludzie zwykle zaczynają od nowego, pustego katalogu przed wypakowaniem.
źródło