Próbuję utworzyć archiwum z tar za pomocą ścieżek względnych. Używam następującego polecenia:
tar czf ~/files/wp/my-page-order.tar.gz -C ~/webapps/zers/wp-content/plugins/ ~/webapps/zers/wp-content/plugins/my-page-order
Ale zarchiwizowane pliki nadal mają bezwzględne ścieżki. Jak mogę używać tar ze ścieżkami względnymi?
Odpowiedzi:
„~” jest rozszerzane przez powłokę. Nie używaj „~” z -C:
(tar będzie zawierać webapps / zers / wp-content / plugins / my-page-path path) lub
(tar będzie zawierać ścieżkę zamówienia mojej strony)
Lub po prostu cd ...
źródło
-C
zmienia bieżący katalog roboczy, jak wyjaśniono w anwer przez Lekensteyn.-C
powinien być podany jako ścieżka względna, ale zamiast tego jako ścieżka bezwzględna. Używanie ~ tutaj nie ma żadnego znaczenia.-C new_cwd
zmienia bieżący katalog roboczy nanew_cwd
. Następujące argumenty są następnie oceniane względemnew_cwd
.źródło
Rozwiązanie inne niż GNU, jeśli
tar
nie ma-z
opcji, aby wspomnieć:EDYCJA (zi
&&
bezrm
):źródło
rm
; dlaczego włączasz to do swojej odpowiedzi? (2) Twoja odpowiedź archiwizuje niewłaściwy katalog. (3) Dlaczego zmieniłeś siętar -z
natar | gzip
? (4) Tak długo, jak zamierzasz używać&&
, prawdopodobnie powinieneś używać także&&
popushd
.-z
(4) Prawdopodobnie&&
~/webapps/zers/wp-content/plugins/my-page-order
z wyjściem do~/files/wp/my-page-order.tar.gz
; twoje archiwa poleceń~/files/wp/my-page-order
. (3) Dziękujemy za edycję odpowiedzi w celu wyjaśnienia, dlaczego użyłeśgzip
.