このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】アーカイブからファイルを抽出する:cpioコマンド

cpioコマンドの概要
「cpio
」コマンドは、アーカイブファイルの作成、リスト、および抽出を行うためのユーティリティです。cpio
は、tar
と同様に、複数のファイルを一つのアーカイブファイルにまとめたり、そのアーカイブファイルからファイルを抽出するために使用されます。cpio
は標準入力またはファイルリストからファイルを読み取り、それらをアーカイブに格納するか、アーカイブから抽出します。

主なオプションと説明
オプション | 説明 |
---|---|
-i | アーカイブからファイルを抽出する(input) |
-o | ファイルをアーカイブにコピーする(output) |
-p | ディレクトリ間でファイルをコピーする(pass) |
コマンドの使用例と解説
1.ファイルの作成
まず、アーカイブするファイルを作成し、「ls」コマンドで作成したファイルとディレクトリを確認します。
以下のコマンドを実行します。
- 「
date | tee file1.txt file2.txt
」コマンド - 「
ls
」コマンド
user01@ubuntu-vm:~$ date | tee file1.txt file2.txt
2024年 6月 2日 日曜日 03:52:38 JST
user01@ubuntu-vm:~$ ls
file1.txt snap テンプレート ドキュメント ピクチャ 公開
file2.txt ダウンロード デスクトップ ビデオ ミュージック
2.カレントディレクトリにあるファイルとディレクトリからアーカイブを作成する。
・「ls | cpio -o > /tmp/backup.cpio
」コマンドを実行し、「ls -l
/tmp/backup.cpio」コマンドで確認します。
user01@ubuntu-vm:~$ ls | cpio -o > /tmp/backup.cpio
2 ブロック
user01@ubuntu-vm:~$ ls -l /tmp/backup.cpio
-rw-rw-r-- 1 user01 user01 1024 6月 2 03:54 /tmp/backup.cpio
3.ディレクトリの作成と移動
ディレクトリを作成して、作成したディレクトリに移動します。
次のコマンドを実行します。
・「mkdir dir
」コマンドを実行
・「cd dir
」コマンドを実行
user01@ubuntu-vm:~$ mkdir dir
user01@ubuntu-vm:~$ cd dir
user01@ubuntu-vm:~/dir$
4.アーカイブからファイルとディレクトリを抽出する。
・「cpio -i < /tmp/backup.cpio
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~/dir$ cpio -i < /tmp/backup.cpio
2 ブロック
user01@ubuntu-vm:~/dir$ ls -l
合計 44
-rw-rw-r-- 1 user01 user01 43 6月 2 04:04 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 04:04 file2.txt
drwx------ 2 user01 user01 4096 6月 2 04:04 snap
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 ダウンロード
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 テンプレート
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 デスクトップ
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 ドキュメント
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 ビデオ
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 ピクチャ
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 ミュージック
drwxr-xr-x 2 user01 user01 4096 6月 2 04:04 公開
5.作成したファイルとディレクトリの削除
この演習で作成したファイルとディレクトリを削除します。
1つ上の階層に移動します。
・「cd ..
」コマンドを実行します。
・「rm -r file* dir
」コマンドを実行して、「ls
」コマンドで削除されたかを確認します。
user01@ubuntu-vm:~$ rm -r file* dir
user01@ubuntu-vm:~$ ls
snap テンプレート ドキュメント ピクチャ 公開
ダウンロード デスクトップ ビデオ ミュージック
まとめ
「cpio
」コマンドは、アーカイブファイルの作成、リスト、および抽出を行うための強力なツールです。以下の表を参考に、適切なオプションを使用してファイルをアーカイブに格納したり、アーカイブから抽出したりすることができます。
これらのオプションを組み合わせることで、様々なアーカイブ操作やファイル管理が可能になります。
オプション | 説明 |
---|---|
-i | アーカイブからファイルを抽出する |
-o | ファイルをアーカイブにコピーする |
-p | ディレクトリ間でファイルをコピーする |