Kompresowanie folderu (tar) bez jego katalogu zawierającego nazwę folderu


21

Próbuję skompresować folder za pomocą tarpolecenia.

Kiedy próbuję go skompresować, działa dobrze. Problem dotyczy nazwy pliku.

Ścieżka źródłowa:

/data/file/

Ścieżka docelowa:

/data/repo/temp/file.tar.gz

tar zcvf $srcpath $destinationpath

Wykonuję polecenie z innego folderu, a podczas rozpakowywania folderu otrzymuję wszystkie podkatalogi zamiast samego folderu plików.


1
składnia tar to: tar zcvf file.tar.gz /path/dir/to/compressmoże powinieneś zmienić swoje polecenie, tar zcvf $destinationpath $srcpathale nie jest dla mnie jasne, czego potrzebujesz. Czy mógłbyś rozwinąć swoje pytanie na przykładzie tego, czego oczekujesz od polecenia tar?
Lety

dzięki za komentarz, mój problem polega na tym, że podążyłem za komentarzem udostępnionym tutaj „tar zcvf file.tar.gz / path / dir / to / compres” to powinno działać poprawnie, jeśli znajdujemy się w tym samym katalogu „plik” moja sprawa to pracujemy z innego katalogu, np .: / home / testuser1 / file: file to folder, który chcę skompresować i wykonuję polecenie z katalogu głównego, którego nie ma w domu, więc może być konieczne podanie całej ścieżki do folderu podczas ekstrakcji otrzymuję wszystkie podkatalogi z / home / testuser1 / file zamiast folderu plików
Seetha Raman

Prawdopodobnie literówka, ale w twoim przykładzie pomieszałeś źródło i cel.
Jacob Vlijm,

Odpowiedzi:


50

Najprostszym sposobem na to jest najpierw cd do katalogu:

cd /path/to/containing/folder && tar -zcvf tarfile.tar.gz foldername_tocompress

Tak więc katalog (zawierający) staje się katalogiem głównym skompresowanego pliku.

Nieco bardziej zaawansowanym jest użycie opcji -C:

tar -zcvf tarfile.tar.gz -C /path/to/foldername_tocompress .

Spowoduje to utworzenie tar.gzpliku w bieżącym (roboczym) katalogu, zawierającego wszystkie pliki / foldery w środku foldername_tocompress(pamiętaj o kropce, mówiąc, że wszystkie pliki / foldery powinny zostać uwzględnione).


4
Kropka na końcu drugiego polecenia będzie zawierać wszystkie pliki w bieżącym katalogu ...
David Duncan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.