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.