巨大なファイルが7zipで圧縮かつ分割されて送られてきた。
もどに戻すのに時間がかかったので、7zipをLinuxで取り扱う方法をメモしておく。
7zipインストール
command
sudo yum install -y p7zip
圧縮方法も学んでおこう!
1024MBのダミーファイルの作成
command
FILENAME="my_dummy_file"
dd if=/dev/zero of=${FILENAME} bs=1024M count=1
圧縮
無圧縮: -mx=0
オプション
command
OUTPUT="case1.7z"
7za a ${OUTPUT} ${FILENAME} -mx=0 -v256m
response
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,24 CPUs Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz (50654),ASM,AES-NI)
Scanning the drive:
1 file, 1073741824 bytes (1024 MiB)
Creating archive: case1.7z
Items to compress: 1
Files read from disk: 1
Archive size: 1073741954 bytes (1025 MiB)
Everything is Ok
command
ls -l ${OUTPUT}*
response
-rw-r--r-- 1 xdu-049001 268435456 Jul 10 14:55 case1.7z.001
-rw-r--r-- 1 xdu-049001 268435456 Jul 10 14:55 case1.7z.002
-rw-r--r-- 1 xdu-049001 268435456 Jul 10 14:55 case1.7z.003
-rw-r--r-- 1 xdu-049001 268435456 Jul 10 14:55 case1.7z.004
-rw-r--r-- 1 xdu-049001 130 Jul 10 14:55 case1.7z.005
最大圧縮: -mx
オプション
command
OUTPUT="case2.7z"
7za a ${OUTPUT} ${FILENAME} -mx -v256m
response
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,24 CPUs Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz (50654),ASM,AES-NI)
Scanning the drive:
1 file, 1073741824 bytes (1024 MiB)
Creating archive: case2.7z
Items to compress: 1
Files read from disk: 1
Archive size: 156907 bytes (154 KiB)
Everything is Ok
command
$ ls -l ${OUTPUT}*
response
-rw-r--r-- 1 xdu-049001 156907 Jul 10 15:02 case2.7z.001
7zipで分割圧縮されたファイルを元に戻す
解凍
はじめに作ったダミーファイルの名前変更
いったん先程つくったダミーファイルの名前を変更する
command
FILENAME="my_dummy_file"
mv ${FILENAME} _bak_${FILENAME}
ファイルの状況確認
先程の無圧縮のファイルで試してみる。
command
FILENAME_7ZIP="case1.7z"
file ${FILENAME_7ZIP}.*
response
case1.7z.001: 7-zip archive data, version 0.4
case1.7z.002: data
case1.7z.003: data
case1.7z.004: data
case1.7z.005: data
このケースでは 7-zip archive data, version 0.4
と表示されている case1.7z.001
に対して以下のコマンドを実行する
command
7za x ${FILENAME_7ZIP}.001
response
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,24 CPUs Intel(R) Xeon(R) Gold 5118 CPU @ 2.30GHz (50654),ASM,AES-NI)
Scanning the drive for archives:
1 file, 268435456 bytes (256 MiB)
Extracting archive: case1.7z.001
--
Path = case1.7z.001
Type = Split
Physical Size = 268435456
Volumes = 5
Total Physical Size = 1073741954
----
Path = case1.7z
Size = 1073741954
--
Path = case1.7z
Type = 7z
Physical Size = 1073741954
Headers Size = 130
Method = Copy
Solid = -
Blocks = 1
Everything is Ok
Size: 1073741824
Compressed: 1073741954
ちゃんと解凍されているか確認
command
ls -l ${FILENAME}
-rw-r--r-- 1 xdu-049001 1073741824 Jul 10 14:32 my_dummy_file