Linuxのzipコマンドでできることはたくさんあります
Linuxのコマンドラインを使用してファイルを圧縮する方法はいくつかあります。 この記事では、zipコマンドを使用してファイルシステム内のファイルを圧縮および整理する方法を示す具体的な例を紹介します。
圧縮ファイルは、スペースを節約し、 大きなファイルをある場所から別の場所にコピーする必要がある場合に使用されます。
サイズが100メガバイトの10のファイルがあり、それらをftpサイトに転送する必要がある場合、転送にはプロセッサの速度に応じてかなりの時間がかかる可能性があります。
10個のファイルすべてを1つの圧縮アーカイブに圧縮し 、ファイルサイズをファイルごとに50MBに減らすと、半分のデータを転送するだけで済みます。
フォルダ内のすべてのファイルのアーカイブを作成する方法
次のMP3ファイルを含む曲のフォルダがあるとします。
夜Prowler.mp3 |
愛は空腹です。 |
Get It Hot.mp3 |
あなたの上を歩く.mp3 |
ハイウェイからhell.mp3 |
あなたが血を欲しければそれを得ます。 |
flames.mp3に表示する |
タッチがあまりにも多く。 |
bush.mp3の周りを殴る |
ガールズ・ガット・リズム.mp3 |
ACDC_Highway_to_Hell.zipという現在のフォルダ内のすべてのファイルのアーカイブを作成する方法を示すこの簡単なLinuxコマンド:
zip ACDC_Highway_to_Hell *
テキストは、追加されているファイルを示す画面をスクロールします。
アーカイブに隠しファイルを含める方法
前のコマンドは、フォルダ内のすべてのファイルをアーカイブする場合は問題ありませんが、隠されていないファイルのみが含まれています。
これは必ずしも単純ではありません。 ホームフォルダを圧縮して、 USBドライブまたは外付けハードドライブにバックアップできるようにしたいとします。 ホームフォルダには隠しファイルが含まれています。
フォルダ内の隠しファイルを含むすべてのファイルを圧縮するには、次のコマンドを実行します。
ジップホーム*。*
ホームフォルダ内のすべてのファイルを含むhome.zipというファイルが作成されます。
(これが機能するには、ホームフォルダ内にいる必要があります)。 このコマンドの問題は、フォルダではなくホームフォルダ内のファイルのみを含むことで、次の例になります。
Zipファイル内のすべてのファイルとサブフォルダをアーカイブする方法
アーカイブ内にすべてのファイルとサブフォルダを含めるには、次のコマンドを実行します。
zip -r home。
既存のZipアーカイブに新しいファイルを追加する方法
新しいファイルを既存のアーカイブに追加するか、アーカイブ内のファイルを更新する場合は、zipコマンドを実行するときにアーカイブファイルに同じ名前を使用します。
たとえば、4つのアルバムを含むミュージックフォルダがあり、music.zipというアーカイブを作成してバックアップとして保存するとします。 1週間後に2枚の新しいアルバムをダウンロードすると想像してください。 新しいアルバムをzipファイルに追加するには、以前の週と同じzipコマンドを実行するだけです。
元の音楽アーカイブを作成するには、次のコードを実行します。
zip -r music / home / yourname / music /
新しいファイルをアーカイブに追加するには、同じコマンドを再度実行します。
zipファイルにファイルのリストがあり、ディスク上のファイルの1つが変更された場合は、修正されたファイルがzipファイルで更新されます。
Zipアーカイブで既存のファイルを更新する方法
毎回同じファイル名を含むと思われるzipファイルがあり、そのファイルに加えられた変更をそのファイルに更新したい場合は、 -fスイッチを使用してこれを行うことができます。
たとえば、次のファイルを含むzipファイルがあるとします。
/ home / yourname / documents / file1 |
/ home / yourname / documents / file2 |
/ home / yourname / documents / file3 |
/ home / yourname / documents / file4 |
/ home / yourname / documents / file5 |
/ home / yourname / documents / file6 |
今週は、2つの新しいファイルを追加し、2つのファイルを修正して、/ home / yourname / documentsというフォルダが次のように表示されることを想像してください。
/ home / yourname / documents / file1 |
/ home / yourname / documents / file2 |
/ home / yourname / documents / file3 |
/ home / yourname / documents / file4(更新済み) |
/ home / yourname / documents / file5(更新済み) |
/ home / yourname / documents / file6 |
/ home / yourname / documents / file7 |
/ home / yourname / documents / file8 |
次のコマンドを実行すると、zipファイルには更新されたファイル(file4とfile5)が含まれますが、file7とfile8は追加されません。
zip zipfilename -f -r / home / yourname / documents
ジップアーカイブからファイルを削除する方法
だからあなたは何百ものファイルを持つ巨大なzipファイルを作成し、zipファイルには必要のないファイルが4つまたは5つあることを認識しました。 これらのファイルをすべて圧縮せずに、次のように-dスイッチを指定してzipコマンドを実行するだけです。
zip zipfilename -d [アーカイブ内のファイル名]
たとえば、アーカイブにhome / documents / test.txtという名前のファイルがある場合は、次のコマンドを使用して削除します。
zip zipfilename -d home / documents / test.txt
あるZipファイルから別のZipファイルにファイルをコピーする方法
1つのzipファイルにファイルがあり、それらを最初に抽出して再圧縮せずに別のzipファイルにコピーする場合は、 -uスイッチを使用します。
"variousmusic.zip"というzipファイルがあり、その中にはAC / DCのいろいろなアーティストの音楽があるとします。 次のコマンドを使用して、variousmusic.zipファイルのAC / DCソングをACDC.zipファイルにコピーできます。
zip variousmusic.zip -U --out ACDC.zip "Back_In_Black.mp3"
上記のコマンドは、variousmusic.zipから "Back in black"というファイルをACDC.zipにコピーします。 コピー先のzipファイルが存在しない場合は作成されます。
パターンマッチングとパイプを使ってアーカイブを作成する方法
次のスイッチは、他のコマンドの出力を使ってzipファイルにファイルを挿入できるので、本当に便利です。 lovesongs.zipというファイルを作成したいとします。このファイルには、タイトルに「愛」という単語が含まれているすべての曲が含まれています。
タイトルに好きなファイルを見つけるには、次のコマンドを使います:
/ home / yourname / Music -name * love *を検索する
上記のコマンドは100%完璧ではありません。なぜなら、それは "クローバー"のような言葉を拾うからです。 上記のコマンドの返された結果をすべてlovesongs.zipというzipファイルに追加するには、次のコマンドを実行します。
/ home / yourname / Music -name * love * | zip lovesongs.zip - @
分割アーカイブを作成する方法
コンピュータをバックアップしているが、バックアップに使用できるメディアだけが空のDVDセットである場合は、選択肢があります。 zipファイルが4.8ギガバイトになるまでファイルを圧縮して保存したり、DVDを焼いたり、指定した制限に達した後に新しいアーカイブを作成し続ける分割アーカイブと呼ばれるものを作成することができます。
例えば:
zip mymusic.zip -r / home / myfolder / Music -s 670m
ジッピングプロセスの進行状況レポートをカスタマイズする方法
ジッパーの進行中に表示される出力をカスタマイズするには、さまざまな方法があります。
使用可能なスイッチは次のとおりです。
- -db =圧縮されたバイト数と、残っているバイト数を表示します。
- -dc =圧縮されたファイルの数と、残っているファイルの数を表示します。
- -dd =圧縮された10MBのファイルごとにドットを表示します。
- -ds =ドットの表示頻度を設定します。
- -du =各ファイルの圧縮されていないサイズを表示する
例えば:
zip myzipfilename.zip -dc -r / home / music
Zipファイルを修正する方法
壊れているzipアーカイブがある場合は、 -Fコマンドを使用して修正し、失敗した場合はFFコマンドを使用して修正できます。
これは、 -sスイッチを使用して分割アーカイブを作成し、アーカイブファイルの1つを失った場合に便利です。
たとえば、まずこれを試してみてください:
zip -F myfilename.zip --out myfixedfilename.zip
その後
zip -FF myfilename.zip --out myfixedfilename.zip
アーカイブを暗号化する方法
zipファイルに保存する機密情報がある場合は、 -eコマンドを使用して暗号化します。 パスワードの入力とパスワードの再入力を求められます。
例えば:
zip myfilename.zip -r / home / wikileaks -e
何がジップされるのかを示す方法
大きなアーカイブを作成することがわかっている場合は、正しいファイルがzipファイルに追加されるようにしてください。 -sfスイッチを指定することによって、zipコマンドの予期される結果を確認することができます。
例えば:
zip myfilename.zip -r / home / music / -sf
アーカイブをテストする方法
ファイルをzipファイルにバックアップした後は、元のファイルを削除してディスク容量を節約したいと考えています。 これを行う前に、zipファイルが適切に動作するかどうかをテストすることをお勧めします。
-Tスイッチを使用して、zipファイルが有効であることをテストできます。
例えば:
zip myfilename.zip -T
アーカイブが無効である場合、このコマンドの出力は次のようになります。
- zip警告:終了署名がありません - おそらくzipファイルではありません
壊れたzipファイルを修正するには、-Fコマンドを試してください。
-Tは、すべてのファイルを展開することができるにもかかわらず、Zipファイルが壊れているという意味で、-Tが誤検出を引き起こす可能性があります。
ファイルを除外する方法
特定のファイルをzipファイルから除外したい場合があります。 たとえば、電話機やデジタルカメラからファイルをコピーすると、ビデオと画像が混在しています。 photos.zipに写真を圧縮し、videos.zipに動画を圧縮したい場合があります。
photos.zipを作成するときに動画を除外する方法の1つです
zip photos.zip -r / home / photos / -x * .mp4
圧縮レベルの指定方法
ファイルをzipファイルに圧縮すると、システムはファイルを圧縮するのか、それとも単に保存するのかを決定します。 例えば、 MP3ファイルはすでに圧縮されているので、さらに圧縮することはほとんどありません。 通常はzipファイル内にそのまま保存されます。
ただし、ファイルをさらに圧縮するには、圧縮レベルを0〜9の間で指定します。 これには時間がかかりますが、スペースを大幅に節約できます。
zip myfiles.zip -r / home -5