Jak skompresować katalog?


162

Próbuję skompresować katalog i ftp do Windows ftp.

Próbowałem każdej komendy tar, którą mogę znaleźć, aby skompresować katalog. Wydaje się być w porządku. Następnie przesyłam i przeglądam zawartość za pomocą Winrar. Winrar wciąż mówi mi, że plik jest uszkodzony. Przeglądałem inne pliki .gz lub .bz2 przy użyciu programu Winrar, ale z jakiegoś dziwnego powodu nie mogę go uruchomić.

Wolałbym, aby spakował pliki, aby miały rozszerzenie .zip, ale nawet wtedy, gdy próbuję przeglądać jego zawartość, zarówno okna, jak i Winrar twierdzą, że jest uszkodzony.

Czy ktoś jeszcze sugeruje coś innego do wypróbowania?


(1) Jakiego dokładnie polecenia tar używasz? (2) czy możesz rozpakować wynikowy plik?
djeikyb

Spróbuj użyć 7zip, aby wyświetlić plik w systemie Windows.
Oxwivi

Odpowiedzi:


282

Najprawdopodobniej twoje pliki są całkowicie w porządku przed transmisją FTP.

Niestety prawdopodobnie przesyłasz pliki przy użyciu niewłaściwego trybu FTP.

FTP mają dwa tryby: binarny i ASCII. Domyślnie większość klientów korzysta z trybu ASCII, który całkowicie psuje pliki binarne. Nie wiem, którego klienta FTP używasz, ale na przykład w ncftp możesz użyć polecenia „binary”, aby przejść do trybu binarnego.

Jeśli chcesz tworzyć pliki ZIP za pomocą Ubuntu (lub prawie dowolnego innego Linuxa), użyj zip. Możesz zainstalować go w Ubuntu, uruchamiając

sudo apt-get install zip

Następnie możesz utworzyć plik zip, uruchamiając

zip -r compressed_filename.zip foldername

W związku z tym powinieneś wiedzieć, że FTP jest niezabezpieczonym protokołem transmisji. Rozważ na przykład przejście na sftp. Istnieje wiele darmowych serwerów ssh dla Windows, w tym minimalny port OpenSSH .


Dobry punkt zazwyczaj polegałem na kliencie / serwerze, aby automatycznie wykrywać tryb ascii vs binarny i nie miałem problemu, więc nigdy nie myślałem o tym jako o potencjalnym problemie. Uruchomiłem też zip i wszystko wyglądało dobrze, dopóki nie spróbowałem go wyświetlić. Prawdopodobnie z powodu binarnej / ascii.
dko

Wow, dziękuję, czuję się jak idiota, skoro to było takie proste. Powinienem był to wiedzieć. W każdym razie dzięki za wskazówkę dotyczącą ssh dla Windows, ostatecznie zamierzałem to zmienić, ale wiem, że ftp dla Windows rzuca mniej zmiennych w czynnik testujący i rozwijający.
dko

47

Kampanię można wykonać za pomocą tar, zip, p7, a nawet rar w Ubuntu. Będziesz musiał zainstalować rar do archiwizacji rar. Wystarczy kliknąć prawym przyciskiem myszy, aby uzyskać opcje kompresji przy użyciu zainstalowanych archiwizatorów. wprowadź opis zdjęcia tutaj

Jeśli chcesz użyć „zip” dla rozszerzenia .zip, możesz zobaczyć instrukcję zip. Wiersz polecenia do używania tar to:

tar cvzf tarball.tar.gz directory/

1
Niesamowity motyw! Jak się nazywa?
Elliott Darfink

czy jest jakieś „-q” dla „całkiem trybu”?
MatheusJardimB

2
@MatheusJardimB wyjmij opcję vtar czf tarball.tar.gz directory/
Adam

3

Kompresja katalogów przy użyciu kompresji równoległej to skuteczny sposób na zaoszczędzenie czasu. pbzip2 może pomóc w skompresowaniu katalogów.

tar cf <outputfile_name> --use-compress-prog=pbzip2 <directory_name>
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.