如何压缩目录?


162

我正在尝试压缩目录并将其ftp到Windows ftp。

我已经尝试过可以找到的每个tar命令来压缩目录。看来还可以。然后,我将其传输并使用Winrar查看其内容。Winrar不断告诉我文件已损坏。我已经使用winrar查看了其他.gz或.bz2文件,但由于某些奇怪的原因,我无法使其正常工作。

我宁愿只是用zip文件压缩文件,使它们具有.zip扩展名,但是即使在我尝试浏览它的内容时,windows和winrar都声称它已损坏。

还有其他人对其他尝试有建议吗?


(1)您使用的是什么确切的tar命令?(2)您可以解压缩生成的文件吗?
djeikyb

尝试使用7zip在Windows中查看文件。
Oxwivi

Answers:


282

嗯,很可能您的文件在FTP传输之前就可以了。

不幸的是,可能您正在使用错误的FTP模式传输文件。

FTP确实有两种模式:二进制和ASCII。默认情况下,大多数客户端使用ASCII模式,这会完全破坏您的二进制文件。我不知道您使用的是哪个FTP客户端,但是例如在ncftp中,您可以使用命令“ binary”切换到二进制模式。

如果要使用Ubuntu(或几乎所有其他Linux)创建ZIP文件,请使用zip。您可以通过运行将其安装到Ubuntu

sudo apt-get install zip

然后您可以通过运行来创建zip文件

zip -r compressed_filename.zip foldername

与此相关的是,您应该知道FTP是不安全的传输协议。例如,考虑切换到sftp。Windows有许多免费的ssh服务器,包括最小的OpenSSH port


好的一点通常是我依靠客户端/服务器来自动检测ascii与二进制模式,并且没有问题,所以我从来没有认为这是潜在的问题。我之前也已经运行过zip,直到我尝试查看它之前,一切似乎都很好。可能是由于二进制/ ASCII的原因。
dko 2011年

无论如何,谢谢,既然如此简单,我现在就像个白痴。我早该知道的 无论如何,感谢有关Windows ssh的技巧,最终我要切换到该技巧,但是我知道Windows的ftp将更少的变量投入到测试和开发因素中。
dko 2011年

47

可以在ubuntu中使用tar,zip,p7甚至rar进行压缩。您将需要安装rar以进行rar归档。只需右键单击即可为您提供使用已安装的存档程序进行压缩的选项。 在此处输入图片说明

如果要对“ .zip”扩展名使用“ zip”,请参阅zip手册。使用tar的命令行是:

tar cvzf tarball.tar.gz directory/

1
很棒的主题!它叫什么名字?
Elliott Darfink 2014年

“相当模式”是否有任何“ -q”?
MatheusJardimB'2

2
@MatheusJardimB删除了v选项tar czf tarball.tar.gz directory/
亚当

3

使用并行压缩压缩目录是节省时间的有效方法。pbzip2可以帮助您压缩目录。

tar cf <outputfile_name> --use-compress-prog=pbzip2 <directory_name>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.