ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
tar コマンドの基本
Linux の標準的なアーカイブツール。複数ファイルを 1 つにまとめる (tar = tape archive 由来)。
圧縮機能はgzip / bzip2 / xz を組合せて使います。
# 圧縮: ディレクトリを gzip 形式でアーカイブ
tar -czf archive.tar.gz mydir/
# 解凍 (展開)
tar -xzf archive.tar.gz
# 中身一覧 (展開しない)
tar -tzf archive.tar.gz
# 詳細表示しながら圧縮
tar -czvf archive.tar.gz mydir/
# 圧縮しないただのまとめ (.tar)
tar -cf archive.tar mydir/
tar -xf archive.tar
主要オプション
| オプション | 意味 |
|---|---|
-c | create (新規作成) |
-x | extract (展開) |
-t | list (中身一覧) |
-z | gzip 圧縮/解凍 (.tar.gz / .tgz) |
-j | bzip2 圧縮/解凍 (.tar.bz2) |
-J | xz 圧縮/解凍 (.tar.xz) |
-v | verbose (詳細表示) |
-f <file> | アーカイブファイル名指定 (必須) |
-C <dir> | 展開先ディレクトリ |
--exclude=PAT | パターンに合うファイルを除外 |
--strip-components=N | 展開時に先頭 N 層を削る |
-p | パーミッション保持 |
--preserve-permissions | 同上の長形式 |
-a | 拡張子から圧縮形式を自動推定 (GNU tar) |
圧縮形式の比較
| 形式 | 圧縮率 | 速度 | 典型用途 |
|---|---|---|---|
| tar.gz / tgz | 中 | ★★★ 高速 | 一般、Web 配布 |
| tar.bz2 | 高 | ★ 遅い | 古典的、最近は xz に置換 |
| tar.xz | ★★★ 最高 | ★ 遅い (展開は速い) | カーネルソース等大物 |
| tar.zst | 高 | ★★★ gzip 並 | 新世代 (Facebook 製) |
実測例 (Linux カーネル 6.x ソース)
| 形式 | サイズ目安 |
|---|---|
| 無圧縮 (tar) | 約 1.3 GB |
| tar.gz | 約 230 MB |
| tar.bz2 | 約 180 MB |
| tar.xz | 約 140 MB |
典型ユースケース
1. バックアップ作成
# 日付付きでバックアップ
tar -czf backup-$(date +%Y%m%d).tar.gz /var/www/html
# 詳細表示
tar -czvf backup.tar.gz /var/www/html
# 除外しながらバックアップ
tar -czf backup.tar.gz /var/www/html \
--exclude='*.log' \
--exclude='node_modules' \
--exclude='vendor/cache'
2. 別ディレクトリへ展開
# /tmp 配下に展開
tar -xzf archive.tar.gz -C /tmp
# 先頭ディレクトリを削って展開 (rails-master/ を削る)
tar -xzf rails-master.tar.gz --strip-components=1
# 特定ファイルだけ展開
tar -xzf archive.tar.gz path/to/file.txt
tar -xzf archive.tar.gz --wildcards "*.conf"
3. 別形式で圧縮
# bzip2 (より小さく)
tar -cjf archive.tar.bz2 mydir/
tar -xjf archive.tar.bz2
# xz (最も小さく)
tar -cJf archive.tar.xz mydir/
tar -xJf archive.tar.xz
# 自動推定 (拡張子で判断、GNU tar)
tar -caf archive.tar.gz mydir/ # gz
tar -caf archive.tar.xz mydir/ # xz
tar -xaf archive.tar.bz2 # 解凍も自動
並列圧縮 (pigz / pbzip2 / pxz)
多コア CPU を活かして圧縮を高速化:
# pigz: 並列 gzip
sudo apt install -y pigz
tar -cf - mydir/ | pigz > archive.tar.gz
# または --use-compress-program
tar --use-compress-program=pigz -cf archive.tar.gz mydir/
# pbzip2: 並列 bzip2
sudo apt install -y pbzip2
tar -cf - mydir/ | pbzip2 > archive.tar.bz2
# pxz: 並列 xz
tar -cf - mydir/ | pxz > archive.tar.xz
# zstd (内蔵並列、速くて小さい)
tar --zstd -cf archive.tar.zst mydir/
tar --zstd -xf archive.tar.zst
# スレッド数指定
pigz -p 8 file.tar # 8 スレッド
ネット越しのアーカイブ操作
# ダウンロードしながら展開 (パイプ)
curl -L https://example.com/source.tar.gz | tar xz
# wget でも
wget -O - https://example.com/source.tar.gz | tar xz
# SSH 越しのバックアップ
tar czf - /var/www/html | ssh user@backup-server "cat > backup.tar.gz"
# SSH 越しの転送+展開
tar czf - /var/www/html | ssh user@target "cd /restore && tar xzf -"
# rsync 経由 (より高機能)
rsync -avz --progress /var/www/html/ user@target:/restore/
Windows での解凍
| ツール | 使い方 |
|---|---|
| Windows 10 1803+ | 標準で tar コマンド搭載 (BSD tar) |
| 7-Zip | 右クリック → 7-Zip → ここに展開 |
| WinRAR | 同じく右クリックメニュー |
| PowerShell + tar | tar -xzf archive.tar.gz でそのまま動く |
| WSL | Linux と同じ |
差分バックアップ / 増分バックアップ
# 増分バックアップ (新規・変更のみ)
# 初回 (フル)
tar --listed-incremental=snapshot.snar -czf full.tar.gz /var/www/html
# 2 回目以降 (差分)
tar --listed-incremental=snapshot.snar -czf incr-$(date +%F).tar.gz /var/www/html
# 復元 (フル → 差分の順)
tar --listed-incremental=/dev/null -xzf full.tar.gz
tar --listed-incremental=/dev/null -xzf incr-2026-06-10.tar.gz
整合性確認
# アーカイブが壊れていないか
tar -tzf archive.tar.gz > /dev/null && echo OK || echo BROKEN
# 詳細チェック (gzip)
gzip -t archive.tar.gz && echo OK
# サイズ・ファイル数確認
tar -tzf archive.tar.gz | wc -l
トラブルシューティング
| 症状 | 原因 | 対処 |
|---|---|---|
tar: archive: Cannot open: No such file | パス間違い | 絶対パスで指定 |
tar: Removing leading '/' from member names | 絶対パス指定の警告 | 無視可。気になるなら相対パスへ cd |
gzip: stdin: not in gzip format | 拡張子と中身が違う | file archive.tar.gz で確認 |
Unexpected EOF in archive | 転送途中で切れた | 再ダウンロード / 再転送 |
| 展開後のパーミッションがおかしい | -p なしで展開 | tar -xpzf で展開、root で実行 |
| シンボリックリンクが壊れる | 古い tar / 別 OS で作成 | GNU tar 利用、形式に注意 |
FAQ
Q: .tar.gz と .tgz の違い?
A: 中身は全く同じ。拡張子の長さの差だけ。歴史的にファイル名 8 文字制限のあった環境で .tgz が使われた名残。
Q: なぜ f オプションが必要?
A: -f なしだと標準入出力 (パイプ) を期待する。ファイル相手なら必ず -f file.tar.gz。
Q: 巨大ファイルでメモリ不足になる
A: tar はストリーミングなのでメモリは食わない。圧縮プログラムの問題かディスクの問題。xz は特にメモリ大食いなので --memlimit-compress=512MiB 等で制限可能。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- ls ファイル/ディレクトリ一覧表示
- sudo ユーザー指定
- cron/crontab ジョブの自動実行と登録方法
- wget http通信によるファイルダウンロード
- rm ファイル/ディレクトリ削除
- pwd カレントディレクトリの表示
- cd ディレクトリの移動
- ./configure
- make
- make install
- unzip ファイルの解凍
- mv ファイル/ディレクトリの移動および名称変更
- mkdir ディレクトリの作成
- touch 空ファイルの新規作成
- vi テキストディタの使用
- find ファイル/ディレクトリ検索
- grep 文字列の検索
- tail ファイルの末尾表示
- curl HTTP通信によるリクエスト
- nslookup ドメインのIP解決
- apt update パッケージリストの情報を更新
- apt upgrade パッケージの更新
- ln リンク/ショートカットの作成と削除
- rsync ファイル/ディレクトリの同期
- ssh リモートとの暗号化通信
- scp sshを利用したファイルのコピー
- unzip zip ファイルを解凍する
- cp ファイル/ディレクトリのコピー
- diffファイルの差分抽出
- fdisk ハードディスクに対する操作
- lsblk デバイスをツリー状で表示する
- kill プロセスを終了させる
- zip ファイルやディレクトリをzip形式に圧縮する
- hostコマンド
- chmod 権限の変更
- ip IPアドレスの確認
- chown コマンド(所有者の変更)
- chgrp ファイル/ディレクトリのグループ情報の変更
- nohupと'&' プログラムのバックグラウンド実行(ssh接続時)
- lsof 開いているポート番号の確認
- tar ファイルの圧縮と解凍
- file ファイルの種類を表示
- cat ファイルの中身を表示
- head ファイルの先頭部分を表示
- wc 行数/単語数/文字数を確認
- shutdown システムのシャットダウンと再起動
- ps プロセスの確認
- which コマンドの絶対パスを調べる
- yum RedHat系ディストリビューションの管理
- mount ファイルシステムのマウント
- 特定フォルダ以下の特定拡張子のファイルを再帰的に削除する方法
- 特定のフォルダとそのサブフォルダ内にある特定のファイル名のファイルを再帰的に削除
- sed テキスト処理用ストリームエディタ
- awk フィールド単位の柔軟なテキスト処理
- sort 行の並び替え
- uniq 重複行の除去・カウント
- cut 行から特定列を切り出し
- tr 文字の置換・削除
- less ページャでファイルを読む
- more 古典ページャ
- xargs 標準入力をコマンド引数に変換
- paste 複数ファイルを列方向に結合
- top プロセスの動的監視
- htop 強化版インタラクティブプロセス監視
- nice プロセスの優先度を指定して起動
- renice 実行中プロセスの優先度を変更
- jobs シェル管理下のジョブ一覧
- bg ジョブをバックグラウンドで実行
- fg バックグラウンドジョブをフォアグラウンドに
- killall プロセス名でまとめて終了
- pgrep プロセス名から PID を検索
- pkill プロセス名でシグナルを送信
- uname システム情報の表示
- uptime システム稼働時間とロードアベレージ
- free メモリ使用状況の表示
- df ディスク使用量 (ファイルシステム単位)
- du ディレクトリ・ファイル単位の使用量
- lscpu CPU 情報の表示
- lsmod 読み込み済みカーネルモジュール一覧
- lspci PCI デバイス一覧
- dmesg カーネルリングバッファの表示
- w ログイン中ユーザーと負荷の表示
- ping ホストへの到達性とラウンドトリップ確認
- traceroute ホストまでの経路を表示
- netstat ネットワーク接続・ルーティング表示 (旧式)
- ss netstat 後継、ソケット統計
- ifconfig ネットワークインターフェース表示・設定 (旧式)
- dig DNS リゾルバ問い合わせの定番
- route ルーティングテーブル表示 (旧式)
- iptables Linux パケットフィルタリング
- telnet TCP 接続診断・古典的リモートログイン
- arp ARP テーブルの表示・編集 (旧式)
- useradd ユーザーアカウントの作成
- usermod 既存ユーザーアカウントの変更
- userdel ユーザーアカウントの削除
- passwd パスワードの変更・管理
- groupadd グループの追加
- id ユーザーとグループの ID・所属を表示
- whoami 現在のユーザー名を表示
- su 別ユーザーに切り替え
- dnf Red Hat 系の次世代パッケージマネージャ (yum 後継)
- pacman Arch Linux のパッケージマネージャ
- echo 文字列・変数の出力
- export 環境変数の設定と継承
- alias コマンドの別名定義
- source / . スクリプトをカレントシェルで実行
- history コマンド履歴の表示・操作
- type コマンドの種別 (組み込み/関数/エイリアス/外部) を表示
- env 環境変数表示と一時設定でコマンド実行
- set シェルオプションと位置パラメータの操作
- unset 変数・関数の削除
- printf C 風書式付き出力
- systemctl systemd ユニットの管理
- service init.d 互換のサービス管理
- journalctl systemd ジャーナルログの参照
- crontab 定期実行ジョブの登録・編集
- at 指定時刻に 1 回だけコマンド実行
- umount ファイルシステムのアンマウント
- reboot システムを再起動
- halt システムを停止
- date 日付・時刻の表示と設定
- hostname ホスト名の表示・設定
- gzip ファイルを Deflate で圧縮
- gunzip gzip 圧縮ファイルの展開
- bzip2 高圧縮率の圧縮コマンド
- xz LZMA2 ベースの高圧縮コマンド
- zstd Facebook 製の高速圧縮コマンド
- dpkg Debian パッケージの低レベル操作
- rpm Red Hat パッケージの低レベル操作
- snap Canonical の sandbox パッケージマネージャ
- apt Debian/Ubuntu の高レベルパッケージマネージャ
- 7z 7-Zip コマンドラインツール
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?