web-dev-qa-db-ja.com

ターミナルからZipファイルを解凍する方法は?

インターネットから.Zipファイルをダウンロードしました。ターミナルを使用してファイルを解凍したい。これを行う正しい方法は何ですか?

1386
ubuntu-nerd

unzipコマンドがシステムにまだインストールされていない場合は、次を実行します。

Sudo apt-get install unzip

解凍ユーティリティをインストールした後、特定の宛先フォルダに抽出する場合は、次を使用できます。

unzip file.Zip -d destination_folder

コピー元とコピー先のディレクトリが同じ場合、次の操作を実行できます。

unzip file.Zip
1883
Kelley

単にunzipを使用できます。

インストールしてください:

apt-get install unzip

そしてそれを使用します:

cd /path/to/file
unzip file.Zip
229
Panther

より便利なツールは7zです。これは、さまざまな圧縮形式、特にlzma(通常は最高の圧縮率を提供するプロトコル)を圧縮および解凍します。

このコマンドは、7zをインストールします。

Sudo apt-get install p7Zip-full

このコマンドは、Zipの内容をリストします。

7z l zipfile.Zip

次のコマンドは、Zipの内容を抽出します。

7z x zipfile.Zip
114
Chris

次を使用できます。

unzip file.Zip -d somedir

yourpath/somedirに抽出する

絶対パスに抽出する場合は、使用します

Sudo unzip file.Zip -d /somedir
47
cristobalhdez

スクリプトツールの使用:PerlおよびPython

ここでの多くの回答は、インストールが必要なツールについて言及していますが、Ubuntuのスクリプト言語の2つであるPerlとPythonには、Zipアーカイブを解凍するために必要なすべてのモジュールがすでに付属しているため、何もインストールする必要はありませんその他。以下の2つのスクリプトのいずれかを使用してジョブを実行します。それらはかなり短く、必要に応じて1行のコマンドにまとめることもできます。

Python

#!/usr/bin/env python3
import sys
from zipfile import PyZipFile
for Zip_file in sys.argv[1:]:
    pzf = PyZipFile(Zip_file)
    pzf.extractall()

使用法:

./pyunzip.py master.Zip 

または

python3 pyunzip.py master.Zip

Perl

#!/usr/bin/env Perl
use Archive::Extract;
foreach my $filepath (@ARGV){
    my $archive = Archive::Extract->new( archive => $filepath );
    $archive->extract;
}

使用法:

./perlunzip master.Zip

または

Perl perlunzip.pl master.Zip

こちらもご覧ください

38

コピー元とコピー先のディレクトリが同じ場合、次の操作を実行できます。

unzip filename.Zip
30
Nadeem Khan

bsdtar/unzipよりZipの方が好きです。抽出については、かなり似ています。

bsdtar -x -f /one/two/three/four.Zip -C /five
unzip /one/two/three/four.Zip -d /five

ただし、zipでは、bsdtarが優先されます。この入力があるとします:

/one/two/three/alfa/four.txt
/one/two/three/bravo/four.txt

zipファイルにこれが必要です。

alfa/four.txt
bravo/four.txt

これはbsdtarで簡単です:

bsdtar -a -c -f four.Zip -C /one/two/three alfa bravo

Zipには、unzipのような-dオプションがないため、最初にcdを使用しない限り、上記を達成する方法はありません。

21
Steven Penny

私が役に立つと思うオプションの詳細な説明は次のとおりです。

コマンド:unzip-[option] Zip-path。
 -dファイルを抽出するオプションのディレクトリ
 -lアーカイブファイルを一覧表示します。
 -P パスワード つかいます パスワード 暗号化されたzipfileエントリ(ある場合)を復号化します。
 -t巡回冗長検査でアーカイブファイルをテストします。 
 -u既存のファイルを更新します。 
 -zアーカイブコメント
20
kashminder

http://www.codebind.com/linux-tutorials/unzip-Zip-file-using-terminal-linux-ubuntu-linux-mint-debian/

Unzipのインストール=============したがって、まず、システムにunzipがインストールされていない場合はインストールする必要があります。 unzipコマンドは、Zipアーカイブからファイルを抽出するために使用されます。

次のコマンドを実行してunzipをインストールします

Sudo apt-get install unzip

unzip Syntex

$ unzip [-aCcfjLlnopqtuvy] [-d dir] zipfile

次の手順に従ってください:

UnZipファイル

オプション1– Zipファイルが端末と同じディレクトリ/フォルダにあり、現在の作業ディレクトリに抽出する場合。

上記のシナリオを達成するには、次のコマンドを使用します

Sudo unzip Zip_file_name.Zip

zipファイルが何らかのパスワードで保護されている場合は、次のコマンドを使用します。

Sudo ubzip -P Zip_file_name.Zip

異なるオプションがあるため、-pではなく-P(大文字のP)を使用してください。

オプション2– Zipファイルが同じディレクトリに存在せず、別のディレクトリでファイルを抽出/解凍したい場合。

上記のシナリオを達成するには、次のコマンドを使用します

Sudo unzip path/filename.Zip -d another_path_or_same_path

オプション-dを使用しない場合、ファイルは作業ディレクトリを表示するために抽出されます。

また、Zipファイルがパスワードで保護されている場合は、-Pも使用できます。

linux/Unixでtarコマンドを使用

tarはTape Archiveの頭字語です。 tarコマンドは、Linux/Unixのアーカイブを操作するために使用されます。システム管理者はtarコマンドを頻繁に使用して、tarballまたはtarbzip、_gzip inLinux/Unixシステム。

tar Syntex

tar [OPTION...] [FILE]...

または

tar必須フラグ

tar {-r|-t|-c|-x|-u}

tarオプションのフラグ

tar {one of the required Flags} [ -d ][-B] [ -F ] [ -E ] [ -i ] [-h ] [ -l ] [ -m ] [ -o ] [ -p ] [ -w] [ -s ] [ -U ] [ -v ]
[-Number] [-b Blocks] [-f Archive]

ディレクトリまたは単一のファイルを圧縮してtarアーカイブファイルを作成する

以下の端末コマンドは、現在の作業ディレクトリに.tarまたはsample_dir.tarというディレクトリを持つ/home/codebind/sample_dirというsample_dirファイルを作成します。

ripon@ripon:~$  tar -cvf sample_dir.tar sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tar

enter image description here

これらのフラグ(-cvf)の実際の意味は次のとおりです

-c, --create–新しいアーカイブを作成

-x, --extract, --get–アーカイブからファイルを抽出する

-f, --file ARCHIVE–アーカイブファイルまたはデバイスのアーカイブを使用

ディレクトリまたは単一ファイルを圧縮してtar.gzまたはtgzアーカイブファイルを作成する

以下の端末コマンドは、現在の作業ディレクトリに.tar.gzまたはsample_dir.tar.gzというディレクトリを持つ/home/codebind/sample_dirというsample_dirファイルを作成します。

コマンドに追加のフラグ-zが追加されていることに注意してください。フラグ-zの実際の意味は次のとおりです。

-z, --gzip, --gunzip --ungzip– gzipでアーカイブを圧縮します

ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tar.gz

enter image description here

次のコマンドは、.tgzファイルを作成します。これに気付くのは、tar.gzとtgzの両方が似ていることです。

ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ ls
sample_dir sample_dir.tgz

複数のディレクトリまたはファイルを一度に圧縮する

たとえば、sample_dirディレクトリ、Java_testディレクトリ、およびabc.pyファイルをsample_dir.tar.gzというtarファイルに圧縮するとします。

上記の目標を達成するには、次のコマンドを実行します。

ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dir Java_test abc.py
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
Java_test/
Java_test/HelloCV.Java
abc.py
ripon@ripon:~$ ls
sample_dir Java_test abc.py sample_dir.tar.gz

enter image description here

ディレクトリまたは単一ファイルを圧縮して.bzip2アーカイブファイルを作成する

ripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dir
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

フラグ-fがコマンドに追加されていることに注意してください。フラグ-fの実際の意味は次のとおりです。

-f, --file ARCHIVE–アーカイブファイルまたはデバイスのアーカイブを使用

enter image description here

.tarアーカイブファイルを抽出

Tarコマンドを使用して、圧縮ファイルを抽出またはuntarできます。以下のコマンドは、sample_dir.tarの内容を現在のディレクトリに抽出します。

ripon@ripon:~$ tar -xvf sample_dir.tar
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

enter image description here

次のコマンドは、指定されたディレクトリ、つまりこの場合は/home/codebind/dir_name内のファイルを抽出または展開します。

ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_name
sample_dir/
sample_dir/main.cpp
sample_dir/sample.png
sample_dir/output
ripon@ripon:~$ 

フラグ-Cをコマンドに追加しました。フラグ-Cの実際の意味は次のとおりです。

-C, --directory DIR –ディレクトリDIRに変更します

enter image description here

10
M.A.K. Ripon