0Pricing
Linux Command Line Mastery · レッスン

アーカイブと圧縮:`tar`、`gzip`、`bzip2`

アーカイブの作成、ファイルの圧縮、内容の展開に使うコマンドを学びます。

「アーカイブと圧縮:`tar`、`gzip`、`bzip2`」はCoddyKit上の無料Linux Command Line Masteryレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Command Line Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Command Line Masteryコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

Why Archive & Compress?

Ever needed to bundle many files into one, or reduce a file's size? That's where archiving and compression come in!

Archiving combines multiple files or directories into a single file, often called a "tarball." This makes them easier to manage and transfer.

Compression reduces the size of a file, saving disk space and speeding up transfers.

`tar`: The Archiver

The tar command (Tape ARchiver) is the standard Linux utility for creating and extracting archive files. It doesn't compress by default, but it's often used with compression tools.

Key options for tar include:

  • c: Create a new archive.
  • x: Extract files from an archive.
  • v: Verbose output (show files being processed).
  • f: Specify the archive filename.

Creating a `.tar` File

To create an archive, you typically use the -c (create), -v (verbose), and -f (filename) options. Let's make a simple archive of a directory.

mkdir my_project
echo "line 1" > my_project/file1.txt
echo "line 2" > my_project/file2.txt
tar -cvf project.tar my_project
ls -l project.tar

Unpacking a `.tar` File

To extract files from a .tar archive, use the -x (extract), -v (verbose), and -f (filename) options. We'll extract the archive we just created.

Notice how the original directory structure is restored after extraction.

rm -rf my_project # Clean up existing directory
mkdir my_project # Create it again
echo "line 1" > my_project/file1.txt
echo "line 2" > my_project/file2.txt
tar -cvf project.tar my_project # Create the archive
rm -rf my_project # Delete original directory
tar -xvf project.tar # Extract it
ls -l my_project

`gzip` for Quick Compression

gzip (GNU zip) is a popular tool for compressing single files. It's fast and effective, often reducing file sizes significantly. Files compressed with gzip typically have a .gz extension.

gzip replaces the original file with its compressed version. To decompress, use gunzip or gzip -d.

`gzip` in Action

Let's see gzip in action. We'll create a text file, compress it, and then decompress it. Observe the file sizes and extensions.

echo "This is a test file for gzip compression." > testfile.txt
ls -l testfile.txt
gzip testfile.txt
ls -l testfile.txt.gz
gunzip testfile.txt.gz
ls -l testfile.txt

`.tar.gz`: Archiving & Gzipping

The most common way to archive and compress files in Linux is to combine tar with gzip. This creates a "tarball" that is also compressed, usually with the .tar.gz or .tgz extension.

tar has built-in support for compression. You just add the -z option for gzip to your tar command.

Working with `.tar.gz` Files

To create a .tar.gz file, use tar -czvf. The z option tells tar to use gzip compression. To extract, use tar -xzvf.

mkdir web_assets
echo "index.html content" > web_assets/index.html
echo "style.css content" > web_assets/style.css
tar -czvf website.tar.gz web_assets
ls -l website.tar.gz
rm -rf web_assets # Clean up
tar -xzvf website.tar.gz
ls -l web_assets

`bzip2` for Max Compression

bzip2 is another compression utility, similar to gzip, but it typically achieves a higher compression ratio. This means smaller file sizes, but it's often slower during compression and decompression.

Files compressed with bzip2 usually have a .bz2 extension. To decompress, use bunzip2 or bzip2 -d.

`.tar.bz2`: Archiving & Bzipping

When maximum compression is desired, you can combine tar with bzip2. This creates a .tar.bz2 or .tbz2 file. The tar option for bzip2 is -j.

To create, use tar -cjvf. To extract, use tar -xjvf.

mkdir large_logs
for i in $(seq 1 5); do echo "Log entry $i: Something important happened." >> large_logs/app.log; done
tar -cjvf logs.tar.bz2 large_logs
ls -l logs.tar.bz2
rm -rf large_logs # Clean up
tar -xjvf logs.tar.bz2
ls -l large_logs

Archiving & Compression Quiz

Which command would you use to create an archive named backup.tar.gz containing the directory mydata, showing verbose output during the process?

Archiving & Compression Recap

Great job! You've learned the essentials of archiving and compression in Linux:

  • tar: For bundling files into a single archive (.tar).
  • gzip: For fast, efficient compression (.gz).
  • bzip2: For stronger compression, though slower (.bz2).
  • Combining tar with -z for gzip (.tar.gz) or -j for bzip2 (.tar.bz2) for common compressed archives.

These tools are fundamental for managing files efficiently and securely!

よくある質問

「アーカイブと圧縮:`tar`、`gzip`、`bzip2`」レッスンは無料ですか?

はい。「アーカイブと圧縮:`tar`、`gzip`、`bzip2`」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Command Line Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Command Line Masteryコースには全4レッスンが含まれています。

「アーカイブと圧縮:`tar`、`gzip`、`bzip2`」で何を学びますか?

アーカイブの作成、ファイルの圧縮、内容の展開に使うコマンドを学びます。 ブラウザで直接実行するハンズオンコードでLinux Command Line Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Linux Command Line Masteryを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLinux Command Line Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「アーカイブと圧縮:`tar`、`gzip`、`bzip2`」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLinux Command Line Masteryレッスンでコードを書いて実行できますか?

はい。すべてのLinux Command Line Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. アーカイブと圧縮:`tar`、`gzip`、`bzip2`
  2. パッケージ管理(Debian/Ubuntu):`apt`、`dpkg`
  3. パッケージ管理(CentOS/Fedora):`yum`、`dnf`、`rpm`
  4. ソースからのビルド:configure、make、make install
← Linux Command Line Masteryに戻る