GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでの解凍コマンドの実用例

zip圧縮ファイルがある場合は、Linuxコマンドラインで解凍できます。 Linuxのunzipコマンドは非常に用途が広く、zipファイルを抽出するだけでなく多くのことを実行できます。

Linuxでフォルダをgzipで圧縮する方法については過去に説明しました。 unzipコマンドのさまざまな使用法を見てみましょう。その前に、unzipがシステムにインストールされていることを確認してください。ディストリビューションのパッケージマネージャーを使用して、コマンドをインストールできます。

UbuntuとDebianでは、次のコマンドを使用できます:

sudo apt install unzip

それを確認したら、Linuxターミナルでunzipを使用する方法を見てみましょう。

Linuxでコマンドを解凍

unzipコマンドの構文は非常に単純です:

unzip [option] zip_file

これを使用してオプションなしでzipファイルを抽出すると、現在のディレクトリ内のすべてのファイルが抽出されます。

unzip webdesign.zip 
Archive:  webdesign.zip
  inflating: 339252-PAJF05-394.ai    
  inflating: 339252-PAJF07-322.eps   
  inflating: 339252-PALBTI-224.ai    
  inflating: 339252-PALBTL-394.eps   
  inflating: 339252-PALBTM-53.jpg    
  inflating: License free.txt        
  inflating: License premium.txt

そして、それはあなたがほとんどの場合望んでいることではありません。抽出されたすべてのファイルで現在のディレクトリがいっぱいになります。

ls
 339252-PAJF05-394.ai    339252-PALBTI-224.ai    339252-PALBTM-53.jpg  'License premium.txt'
 339252-PAJF07-322.eps   339252-PALBTL-394.eps  'License free.txt'      webdesign.zip

1。ディレクトリに解凍します

予想される動作は、ファイルを特定のディレクトリ(通常はzipファイルと同じ名前)に抽出する必要があることです。

ファイルを抽出するターゲットディレクトリを指定できます。

unzip -d target_directory zip_file

ターゲットディレクトリが存在しない場合は、作成されます。ただし、この方法でネストされたディレクトリを作成することはできません。

ターゲットディレクトリを最後に配置することもできますが、すべてのオプションを最後に追加できるわけではないことに注意してください。

unzip zip_file -d target_directory

2。解凍せずにzipファイルの内容を表示する

zipファイルの内容を確認したい場合は、必ずしも最初に解凍する必要はありません。 -l を使用できます オプションを選択すると、zipファイルの内容が表示されます。

unzip -l zip_file

ご覧のとおり、ファイルのタイムスタンプと個々のファイルの実際のサイズもバイト単位で表示されます。

[email protected]:$ unzip -l webdesign.zip 
Archive:  webdesign.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
   205358  2018-06-18 23:14   339252-PAJF05-394.ai
   996906  2018-06-18 23:14   339252-PAJF07-322.eps
   213968  2018-06-20 00:00   339252-PALBTI-224.ai
  1005362  2018-06-20 00:00   339252-PALBTL-394.eps
   305531  2018-06-20 00:00   339252-PALBTM-53.jpg
     1462  2018-06-20 09:45   License free.txt
     1116  2018-06-20 09:45   License premium.txt
---------                     -------
  2729703                     7 files

必要に応じて、-vで冗長モードを使用することにより、圧縮サイズ、圧縮率などの詳細情報を取得できます。 オプション。出力のCRC-32は巡回冗長検査です。

[email protected]:$ unzip -v webdesign.zip 
Archive:  webdesign.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
  205358  Defl:N   142097  31% 2018-06-18 23:14 792f2380  339252-PAJF05-394.ai
  996906  Defl:N   221228  78% 2018-06-18 23:14 440390d3  339252-PAJF07-322.eps
  213968  Defl:N   147568  31% 2018-06-20 00:00 cdb64dfc  339252-PALBTI-224.ai
 1005362  Defl:N   226727  77% 2018-06-20 00:00 aed3d97a  339252-PALBTL-394.eps
  305531  Defl:N   183363  40% 2018-06-20 00:00 e4ced90f  339252-PALBTM-53.jpg
    1462  Defl:N      728  50% 2018-06-20 09:45 0eb9e17b  License free.txt
    1116  Defl:N      558  50% 2018-06-20 09:45 165dd84e  License premium.txt
--------          -------  ---                            -------
 2729703           922269  66%                            7 files

3。プロンプトを表示せずにすべてのファイルを上書きします

ファイルを抽出するディレクトリに同じ名前のファイルがすでに存在する場合は、そのようなファイルごとに昇格されます。オプション-oを使用して、すべてのファイルを強制的に上書きできます。 。

unzip -o -d target_directory zip_file

4。ファイルを上書きしないでください-n

既存のファイルを新しく抽出したファイルで上書きしたくない場合は、-nオプションを使用します(上書きしないことを意味します)。

unzip -n -d target_directory zip_file

5。ファイルを更新し、必要に応じて作成します

これは、すべてのファイルの上書きとは少し異なります。この場合、既存のファイルよりも新しいタイムスタンプを持つファイルのみが上書きされます。ファイルが存在しない場合は作成されます。

オプション-u:

でそれを達成できます
unzip -u -d target_directory zip_file

6。既存のファイルを更新しますが、作成しません

ここで前の例から少し変更します。これでは、タイムスタンプが古い場合は既存のファイルを更新しますが、存在しない場合でも新しいファイルは作成されません。

オプション-fを使用すると、次のことが可能になります。

unzip -f -d target_directory zip_file

7。クワイエットモードで抽出

ファイルを解凍すると、抽出されたすべてのファイルがディスプレイに表示されます。ここで、数百のファイルが含まれているzipファイルを想像してみてください。抽出すると、画面が乱雑になります。

オプション-qでクワイエットモードを使用できます ディスプレイには何も表示されません:

unzip -q -d target_directory zip_file

8。抽出からファイルを除外する

特定のファイルまたは特定の種類のファイルを抽出から除外することもできます。

unzip zip_file -x file_to_exclude

私の例では、.epsファイルを抽出したくないとしましょう。

[email protected]:$ unzip webdesign.zip -x *.eps
Archive:  webdesign.zip
  inflating: 339252-PAJF05-394.ai    
  inflating: 339252-PALBTI-224.ai    
  inflating: 339252-PALBTM-53.jpg   
  inflating: License free.txt        
  inflating: License premium.txt

これらは、Linuxでのunzipコマンドの最も一般的な例の一部です。その他のオプションについては、いつでもマニュアルページを確認できます。

頻繁に解凍する他のオプションを使用していますか?コメントで共有してみませんか?


Linux
  1. 25Linuxでの便利なfindコマンドの実用例

  2. Linuxでのrsyncコマンドの実用例

  3. Linuxでのddコマンドの5つの実用例

  1. Linuxでのcpコマンド:7つの実用的な例

  2. Linuxシャットダウンコマンド:5つの実用的な例

  3. 実用的な例を含む Linux rsync コマンド

  1. Linuxの実用的な例を含むコマンドの検索

  2. Linuxでのlsofコマンド(10例)

  3. Linuxでの「cd」コマンドの5つの実用例