Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell UNIX和Windows中的zip_Shell_Unix - Fatal编程技术网

Shell UNIX和Windows中的zip

Shell UNIX和Windows中的zip,shell,unix,Shell,Unix,大家好,我必须在UNIX中压缩目录中的所有文件,然后将其FTP到uniz 我试过了 tar -cvf abc.tar.gz folder zip abc.tar.gz folder 但这些文件在ftp后不可读 我通过简单的FTP将这些文件复制到本地,但windows给出错误“文件已损坏” 请帮助一种可能性是您可能正在使用ftp客户端的ASCII模式发送归档文件。确保使用二进制模式 在ASCII模式下,二进制文件将被损坏,例如,转换换行符 默认情况下,FTP服务器通常设置为二进制/自动模式,可

大家好,我必须在UNIX中压缩目录中的所有文件,然后将其FTP到uniz

我试过了

tar -cvf abc.tar.gz folder

zip abc.tar.gz folder
但这些文件在ftp后不可读

我通过简单的FTP将这些文件复制到本地,但windows给出错误“文件已损坏”


请帮助

一种可能性是您可能正在使用ftp客户端的ASCII模式发送归档文件。确保使用二进制模式

在ASCII模式下,二进制文件将被损坏,例如,转换换行符

默认情况下,FTP服务器通常设置为二进制/自动模式,可能这台服务器设置为ASCII模式。

您需要“-z”选项来压缩(gzip)tar。大概是这样的:

tar -cvzf abc.tar.gz folder

要正确压缩和传输内容,您必须做两件事:

  • 将“z”与-cvf一起添加以启用gzip压缩

    tar -cvfz abc.tar.gz folder
    
  • 连接到FTP主机后,在提示符中键入
    binary
    ,将字符集模式从ASCII更改为binary,然后再键入
    put
    命令

    ftp>binary
    ftp>put abc.tar.gz
    

  • 你试过在另一端解压吗?是的,我试过,但两边都不工作。你用来解压的命令是什么?你是如何进行ftp传输的?如果你想要一个有用的答案,你需要提供重现问题所需的所有信息。解压我不记得tar文件的解压。如果文件损坏,你可能没有使用二进制模式进行文件传输。从命令行打开ftp后,在传输之前键入
    binary
    。这有用吗?你能在本地提取吗(使用
    tar-xvf abc.tar.gz
    ,或者它在发送前已损坏。如果您将其发送回,请执行
    diff
    -文件是否更改?所有良好的调试步骤…这取决于。您使用的是什么FTP客户端?使用UNIX的命令行FTP,在打开连接后,在执行
    put
    之前键入
    二进制文件。