Tips

LinuxServer ファイル管理について ファイルのリンク、圧縮、伸長、アーカイブ

  • cpioコマンド
  • ファイルをアーカイブするのには、tarコマンドの他にcpioコマンドがあります。

    [コマンド書式]
    cpio -フラグ オプション

    cpioコマンドの主なフラグは次のとおりです。

    フラグ 説明
    -i < アーカイブ アーカイブからファイルを取り出します
    -o > アーカイブ アーカイブを作成します
    -p 出力先ディレクトリ アーカイブ対象ファイル ファイルを別のディレクトリにコピーします

    cpioコマンドの主なオプションは次のとおりです。

    オプション 説明
    -A 既存のアーカイブにファイルを追加します
    -d 必要ならディレクトリを作成します
    -v ファイル名の一覧を表示します

    cpioコマンドは入力ファイルや出力ファイルを直接アーカイブ対象として指定することが出来ず、標準入力や標準出力を使用します。

    そのため、findやlsコマンドなどでアーカイブにまとめるファイル(アーカイブ対象)の一覧を取り出し、
    パイプ(|)を使用してcpioコマンドの標準入力に渡します。また、作成するアーカイブ(出力ファイル)はリダイレクトの「>」を使用して指定します。

    [コマンド実行例]カレントディレクトリにあるhoge[1234].txtファイルをhogearc.cpioにアーカイブします。

    $ ls hoge*
    hoge1.txt hoge2.txt hoge3.txt hoge4.txt

    $ ls hoge* | cpio -o > hogearc.cpio
    cpio: File hogearc.cpio grew, 663552 new bytes not copied
    2593 blocks

    作成したhogearc.cpioのリストを表示します。
    $ cat hogearc.cpio | cpio -iv
    $ cpio -iv < hogearc.cpio
    hoge1.txt
    hoge2.txt
    hoge3.txt
    hoge4.txt
    cpio: hogearc.cpio not created: newer or same age version exists
    hogearc.cpio
    2593 blocks

  • ddコマンド
  • ddコマンドは、ファイルシステムに関係なく、データを直接コピーすることができるコマンドです。
    CD-ROM等のデバイスのデータをそのまま取り扱うことができ、さらに別のデバイスにコピーする事が可能です。

    ddコマンドの主なオプションは次のとおりです。

    オプション 説明
    if=入力ファイル 入力側ファイル(デバイス)を指定します
    特に指定しない場合は標準入力が指定されます
    if=出力ファイル 出力側ファイル(デバイス)を指定します
    特に指定しない場合は標準出力が指定されます
    bs=バイト数 入出力のブロックサイズ(一度に読み書きをするバイト数)を指定します
    標準では512バイトです
    bs=バイト数 入出力のブロックサイズ(一度に読み書きをするバイト数)を指定します
    標準では512バイトです
    count=回数 bsで指定したブロック数をコピーする回数を指定します

    [コマンド実行例]CD-ROMからイメージファイル(image.iso)を作成します
    dd if=/dev/cdrom of=image.iso

    また、特定サイズのダミーファイルを作成したい場合、ddコマンドで全データがnullであるファイル「/dev/zero」を
    入力ファイルに指定することで作成することができます。
    さらに、「/dev/zero」を入力ファイルに指定し、出力ファイルに既存ファイルを指定することでデータの上書きを行うことも可能です。

    [コマンド実行例]512バイト*10000=約5MBのファイルを作成します
    $ dd if=/dev/zero of=ddmake.dat count=10000
    10000+0 レコード入力
    10000+0 レコード出力
    5120000 バイト (5.1 MB) コピーされました、 0.0600579 秒、 85.3 MB/秒

    $ ls -l ddmake.dat
    -rw-rw-r– 1 test test 5120000 11月 20 16:19 ddmake.dat

    Linux認定資格 LPICを取るなら・・

    Linux資格 「LPIC Lv1」徹底解説 連載目次

    Recent News

    Recent Tips

    Tag Search