LoginSignup
4
2

More than 3 years have passed since last update.

7zipで分割圧縮されたファイルを元に戻す(LINUX)

Last updated at Posted at 2020-07-10

巨大なファイルが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

参考

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2