作者s9209122222 (海海海)
看板Linux
標題[問題] 請問 7z 內檔案檔名太長怎解?
時間Tue Sep 20 17:58:18 2022
以下是我在 CLI 運行所跑出的訊息,因為太長我換很多行:
ERROR: Can not open output file : 檔名太長 : ./mqkwi0400/视图
/V/一望无际的大海全裸是一种享受裸露爱好普通人看来是变态行为不
为人所接受有谁能明白全裸只是一种放松的自由并没有想象中的龌蹉
和色情用平常心看待来到这世上不就是身不着片缕吗为自己活一回不
在意别人的评价在合法范围内喜欢什么做什么需要这样的一个圈子
_1426359595241406465_720x1280.mp4
ERROR: Can not open output file : 檔名太長 : ./mqkwi0400/视图
/V/线下见个面吃个饭相互认识一下在考虑拉进群一起玩这样可以一起
玩的放心不至于混进去别有用心的人但凡线下见过都能加微信不收任
何门槛只是为了群成员的安全需要细致筛选值得信任的人一起玩那些
耍嘴炮的别有用心的最好别私信我不约炮不做猥琐的事情
_1438568717764366338_720x1280.mp4
Sub items Errors: 19
Archives with Errors: 1
Sub items Errors: 19
請問在 Linux 上面要怎麼解呢?我在 File Roller 內嘗試改名無效。
真好奇當初他們怎麼打包的,明明 NTFS 和 EXT4 都是 255 bytes。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.174.86.23 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1663667900.A.1E3.html
1F:推 roccqqck: "檔名" 09/20 18:05
2F:→ roccqqck: 檔案給我上車試試 09/20 18:06
3F:→ s9209122222: 對呀,檔名太長呀 09/20 18:06
4F:→ s9209122222: 我看看 09/20 18:07
https://shorturl.at/cGJP4
密碼絕對不是捌伍貳零
※ 編輯: s9209122222 (1.174.86.23 臺灣), 09/20/2022 18:14:31
※ 編輯: s9209122222 (1.174.86.23 臺灣), 09/20/2022 18:15:57
5F:→ s9209122222: 求解…… 09/20 18:18
6F:推 billycsu: 在win11上解倒沒問題... 09/20 18:52
7F:→ breeze08: 我到底看了什麼... 09/20 18:53
8F:→ s9209122222: 什麼!9 部影片都沒問題嗎? 09/20 20:41
9F:→ s9209122222: 難不成是 Linux 的 ext4 太落後了嗎? 09/20 20:41
10F:推 lantw44: 剛看 7z 有個 rn 指令好像可以改檔名,不過我沒用過。 09/20 21:15
11F:→ lantw44: 另外 Windows 的 255 不是 bytes 吧,應該是 UTF-16 code 09/20 21:16
12F:→ lantw44: units 吧。以第一個檔名來說,UTF-16 比 UTF-8 省空間, 09/20 21:18
13F:→ lantw44: UTF-16 302 bytes(151 code units)、UTF-8 387 bytes。 09/20 21:19
14F:→ s9209122222: 好奇那是什麼單位,ext4 查了確實是 byte 09/20 21:49
15F:推 lantw44: 在 Linux 下一般都用 UTF-8 編碼,用 byte 算字串長度。 09/20 21:57
16F:→ lantw44: 但在 Windows 下常常是用 UTF-16 編碼,以 16 bits 為單 09/20 21:58
17F:→ lantw44: 位計算長度,也就是轉成 UTF-16 編碼後 byte 數除以 2。 09/20 22:00
18F:推 Bencrie: 中文一個 char 大概 3bytes,自己算算有沒有超過吧 09/20 22:49
19F:→ bitlife: 快速瞄一眼內文還沒看推文前以為這篇是進階版本的救援性 09/21 09:33
20F:→ bitlife: 交易訊息. 後來看了推文, 還是沒有減少我的疑慮 XD 09/21 09:33
21F:→ s9209122222: 蛤? 09/21 11:26
22F:→ bitlife: 我是說付錢救援,請人解決問題 XD 故意用雙關語 09/21 12:28
23F:推 Alica: 結論就是檔名長度這點ext4確實上限低於NTFS 09/21 13:14
24F:→ Alica: 解壓縮時指定存在NTFS分割區大概就解得出來了 09/21 13:14
25F:→ EdwardGJLee: ext4 和 NTFS 的預設定義都是 255。會有差別是編碼的 09/21 15:27
26F:→ EdwardGJLee: 長度(所佔空間)的問題。BTW,win10 以後有變動。 09/21 15:28
27F:→ EdwardGJLee: win 是用 wide char 系統。linux 是用 multiple-byte 09/21 15:30
28F:→ leolarrel: 跟ext4 無關,你能在linux disk 出現這個檔案就表示ext4 09/21 15:30
29F:→ EdwardGJLee: char 系統。因此他們的 encoding length 不一樣。 09/21 15:30
30F:→ leolarrel: 能處理這樣的檔名阿.是跟你的那個7z 程式有關 09/21 15:31
31F:→ leolarrel: 喔,抱歉我誤會了,我以為你是要把mp4檔案壓縮到zip裡 09/21 15:36
32F:→ s9209122222: 悲劇,沒有 NTFS 的磁區 09/21 16:09
33F:推 lantw44: 你可以開個 NTFS 映像檔,或是試試看直接修改壓縮檔內的 09/21 18:21
34F:→ lantw44: 檔名。 09/21 18:21
35F:推 holishing: 可以用 qemu-img 開 qcow2 然後用 qemu-nbd 掛來測 09/21 19:12
36F:→ holishing: 當然直接掛 raw image 也可以,只是覺得 qcow2 比較方便 09/21 19:12
37F:推 abcdefghi: 試過7z的rn功能可行,使用的時候要記得加上壓縮檔內的 09/22 08:47
38F:→ abcdefghi: 目錄名稱,不過這樣改滿累的,另一個方法是做一個1GB的 09/22 08:49
39F:→ abcdefghi: 檔案,再格式化成ntfs,再mount它,然後在ntfs裡解壓縮 09/22 08:50
40F:→ abcdefghi: dd if=/dev/zero of=test.disk bs=1024 count=1M 09/22 08:51
41F:→ abcdefghi: sudo mkfs.ntfs -F ./test.disk 09/22 08:51
42F:→ abcdefghi: sudo mount -o uid=自己的帳號 test.disk 7z-test 09/22 08:53
43F:→ abcdefghi: cd 7z-test 09/22 08:53
44F:→ abcdefghi: 然後就可以直接用7z解壓縮了 09/22 08:54
45F:推 Bencrie: 不用 dd 吧。truncate -s 1G test.disk 09/22 08:59
46F:推 yvb: 即使改用NTFS,可能還是會先踩到 Linux VFS 的檔名255長度限制 09/22 23:08
47F:→ EdwardGJLee: 可以吧?linux NTFS 是由 FUSE 操控。問題是 ucs2 09/22 23:40
48F:→ EdwardGJLee: base。不是純正的 UTF16 base。 09/22 23:41
49F:推 Bencrie: fuse 是說 ntfs-3g 吧。5.15 之後有新的 ntfs3 09/23 09:28
50F:→ EdwardGJLee: 是的,是指預設、傳統的 ntfs-3g。 09/23 11:21
51F:推 lecheck: loop monunt 09/25 06:32
52F:推 tony24334: 不愧是小企鵝版 50推了只有一個求上車沒歪樓 09/25 19:26
53F:→ s9209122222: 我猜大家都私下上車了 09/25 21:44
54F:推 rickieyang: 意圖使人下載... PS: Mac 可以正常解開 09/26 10:32
55F:→ longlongint: 印象中 NTFS有特殊模式突破限制 10/04 14:25
56F:→ longlongint: 用指令解開指定檔案應該可以同時改名吧 10/04 14:27
57F:→ longlongint: (Linux 存到短檔名繞開 10/04 14:27
58F:→ s9209122222: 都忘記了……放假找機會查查大家說的 10/05 00:30