V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
monkeydev
V2EX  ›  问与答

有没有 windwos 下能够直接压缩文件,支持 Linux 下直接解压的软件

  •  
  •   monkeydev · 2021-10-17 18:51:33 +08:00 · 2445 次点击
    这是一个创建于 1167 天前的主题,其中的信息可能已经有所发展或是发生改变。
    wsl 2 里面文件夹需要打包,然后上传服务器

    或者

    wsl 2 有没有办法直通外网,同步到远程服务器
    22 条回复    2021-10-18 17:40:54 +08:00
    reallittoma
        1
    reallittoma  
       2021-10-17 19:14:29 +08:00 via Android
    tar?
    harwck
        2
    harwck  
       2021-10-17 19:28:59 +08:00
    直接 zip 或者 tar 都行吧
    同步到遠程服務器的話 rsync, sftp
    ch2
        3
    ch2  
       2021-10-17 19:34:06 +08:00
    zip unzip
    monkeydev
        4
    monkeydev  
    OP
       2021-10-17 19:39:04 +08:00
    @ch2 文件时视频文件,名字里有中文,所以解压不成功
    monkeydev
        5
    monkeydev  
    OP
       2021-10-17 19:40:26 +08:00
    @reallittoma
    @harwck
    @ch2
    具体情况是我在本地用 wsl 安装了 linux,然后转码,转码以后的文件名称包含中文,
    目前不知道怎么同步到远程的服务器,所以用的最笨的办法,先同步到 googledrive,然后再从 google drive 同步到服务器
    ysc3839
        6
    ysc3839  
       2021-10-17 19:51:29 +08:00 via Android
    那就 tar 吧,Win10 都自带 bsdtar 了。
    jackmod
        7
    jackmod  
       2021-10-17 20:37:20 +08:00
    zip 不是 unicode 的,需要有代码页,很麻烦。
    不考虑带宽就用 tar 无压缩,再不济还可以用 7z 。
    需要实时传输可以用 nc 。
    kksco
        8
    kksco  
       2021-10-17 20:57:40 +08:00
    unar
    monkeydev
        9
    monkeydev  
    OP
       2021-10-17 21:11:52 +08:00
    @kksco 试过不可以的
    monkeydev
        10
    monkeydev  
    OP
       2021-10-17 21:12:23 +08:00
    @jackmod 主要是文件也比较大,超过 2 个 G
    jackmod
        11
    jackmod  
       2021-10-17 21:15:33 +08:00
    @monkeydev 大号文件可以用 split/cat 命令组合来处理。文件数量大的话一如 #2 所说,尽量用 sftp/rsync
    monkeydev
        12
    monkeydev  
    OP
       2021-10-17 21:17:20 +08:00
    @jackmod 我也想用 rsync,但是 wsl 2 好像不能远程到服务器啊
    wsl 2 的网络好像一直问题啊
    jackmod
        13
    jackmod  
       2021-10-17 21:29:10 +08:00
    @monkeydev 我没用过 wsl 不太了解它的机制。
    其实如果能连到宿主机的话,可以在宿主机上开 v2fly 代理。
    jim9606
        14
    jim9606  
       2021-10-17 23:24:02 +08:00
    @jackmod 这个是因为 PKZIP 标准并没有规定默认情况用啥编码,只规定设置 Language Encoding Flag 时必须使用 UTF-8 ( PKZIP 6.3.0 )。所以确保创建 ZIP 时指定 utf-8 即可,主要是 Windows 这边要注意。
    wangkun025
        15
    wangkun025  
       2021-10-17 23:25:14 +08:00
    zip 没问题。Windows 内置 zip 工具。几乎所有的 Linux 发行版也自带了 zip 工具。
    monkeydev
        16
    monkeydev  
    OP
       2021-10-17 23:55:24 +08:00
    @jim9606
    我看不管是好压 还是 7zip 都没有压缩时候选择 UTF-8 的选项啊
    @wangkun025
    实测 zip 不行,解压的时候窗口会显示乱码符号,解压以后,文件夹内没有文件
    interim
        17
    interim  
       2021-10-18 00:52:10 +08:00
    资源管理器直接访问 wsl2 目录复制出来不就好了。
    windows 版本下 7zip 在中文环境下以 GBK 压缩,7zip 可以指定编码的。
    interim
        18
    interim  
       2021-10-18 00:57:20 +08:00
    如果你说的外网是墙外,wsl 是可以访问宿主机的代理,抑或是直接在 wsl 下安装代理软件。
    jim9606
        19
    jim9606  
       2021-10-18 00:58:24 +08:00
    @monkeydev 所以我说 Windows 这边需要特别注意,虽然 lib 支持 utf-8 但具体你用的 GUI Shell 可能不提供设置方法。
    Bandizip 是明确有这个选项的,但默认关闭。
    Windows 版 7-zip 从 21.02alpha 开始才默认在 zip 中使用 utf-8( 7-Zip now writes additional field for filename in UTF-8 encoding to zip archives. ),请确保使用 alpha 版本。
    zhuchance
        20
    zhuchance  
       2021-10-18 08:18:05 +08:00 via Android
    7z ?
    villivateur
        21
    villivateur  
       2021-10-18 09:00:25 +08:00 via Android
    zip 有乱码问题,建议 7z
    Kobayashi
        22
    Kobayashi  
       2021-10-18 17:40:54 +08:00
    @monkeydev 跨 Windows *nix 不要使用 zip,换 tar 或者 7z.
    zip 格式设计时没有考虑存储文件系统编码。*nix 下文件名、文件夹名都是 UTF-8 编码,中文 Windows 下大概是 GBK 之类的。直接解压对方压缩的 zip 时,会使用自己文件系统的编码,解压必然失败。

    如果非要死磕 zip:

    - 少量 GUI app (如 macOS 下 Entropy 和 The Unarchiver )对 zip 解压加入了编码猜测支持,而不是直接使用当前文件系统的编码。
    - 某些 TUI 支持解压 zip 时指定编码,如 unzip-iconv (patch 版 unzip, -O, -I 参数),unarchive (The Unarchiver 应用底层命令行工具,-e gb18030)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   950 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:40 · PVG 06:40 · LAX 14:40 · JFK 17:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.