SSH使用CASE-SENSITIVITY解压缩

时间:2012-02-05 04:16:46

标签: ssh case-sensitive unzip

我正在尝试通过SSH解压缩文件,我需要区分大小写解压缩。

我的服务器正在使用Debian Unzip 6。

它不应该这样做,但是它将我的所有文件名转换为小写,导致我的Joomla网站崩溃。

如果我想在我的一生中完成,手动或FTP重命名的文件太多了。

我有一个名为bv2.zip的zip放在我想要提取的目录中......

我已经cd进了我的目录并且发出了:unzip bv2.zip .... filenames all to smallcase ...

我也试过绝对路径无济于事,UNZIP帮助和手册说明默认情况下此版本启用了区分大小写,但显然不是......

任何想法??

4 个答案:

答案 0 :(得分:8)

unzip -v file.zip显示什么?文档说

  

默认情况下解压缩列表和                 提取这些文件名与存储完全相同(除了                 截断,不支持的字符的转换等。)

值得检查它们的存储方式。如果创建的zip程序将它们全部存储为小写,那么您需要在这里寻找实际存储未更改的文件名的方法。

最后,为了确保,检查Debian服务器上没有别名或环境变量强制使用-L选项。查看以下命令的输出,在Debian服务器的终端上运行:

alias

(解压缩应该没有奇怪的别名)

echo $UNZIP

(解压缩时将使用此环境变量中包含的任何标志,就好像它们已添加到命令调用中一样)。

答案 1 :(得分:2)

我在1& 1主机中面临同样的问题。我通过输入以下内容来定义一个新的别名来解决它:

alias unzip='unzip'

问题是解压缩-L是别名。

现在我已经解压缩prestashop备份,它就像一个魅力

此致

答案 2 :(得分:0)

您确定您的.zip文件没有开头的所有小写名称吗?也许你用来创建zip文件的程序是将名称转换为小写。

答案 3 :(得分:0)

  1. “-L”(将所有文件名转换为小写)和“U”(将所有文件名转换为大写)选项控制此行为:
  2. http://www.mkssoftware.com/docs/man1/unzip.1.asp

    1. 如果.zip中的文件来自不区分大小写的文件系统(如MS-DOS或VAX / VMS),那么这只会是一个问题。如果文件是在任何当代文件系统(Unix,MacOS,Windows 95或更高版本)上使用任何当代版本的Zip或WinZip进行压缩,那么它应该
    2. Soooo ......

      1. 这些是DOS文件吗?

        或者你使用的是DOS版的PKZip吗?

        或者这些文件只是小写的开头?