TVアニメ「トリニティセブン」 PromotionVideo 2
アニメ『トリニティセブン』(2014)
DxDが面白かったので、同じくハーレムものの本アニメが見たくなりました。やはり主人公は強い。
アーカイブ(書庫)に接続して、魔法を使うのですが、だんだん中二病になってきた自分は、このアーカイブに接続って表現がかっこよくて仕方がないです。
コンピュータ使ってると、アーカイブは接続するものではなくて、展開するものなんですが、そもそも本来のアーカイブは、重要記録を保存する場所のことを言うようです。
なので、このアニメの使い方の方が合ってるのかもしれません。
アーカイブつながりで、cpio使います。
書庫にする元データはこれ。
takk@deb9:~/tmp$ seq 12 | perl -ne 'print chr'>a.bin takk@deb9:~/tmp$ hd a.bin 00000000 01 02 03 04 05 06 07 08 09 0a 0b 0c |............| 0000000c takk@deb9:~/tmp$
cpioで書庫を作成するには、ファイルの一覧をcpioの標準入力に与えます。find等で一覧は作りますが、今はファイル一つなのでecho a.binで与えます。
-oオプションはコピーアウトモードで、書庫を作成するときのモードです。リダイレクトして書庫ファイルへ書き出します。
takk@deb9:~/tmp$ echo a.bin | cpio -o > a.bin.cpio 1 block takk@deb9:~/tmp$ ls a.bin a.bin.cpio takk@deb9:~/tmp$ hd a.bin.cpio 00000000 c7 71 01 08 56 58 a4 81 e8 03 e8 03 01 00 00 00 |.q..VX..........| 00000010 ee 5a ee bd 06 00 00 00 0c 00 61 2e 62 69 6e 00 |.Z........a.bin.| 00000020 01 02 03 04 05 06 07 08 09 0a 0b 0c c7 71 00 00 |.............q..| 00000030 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 00000040 0b 00 00 00 00 00 54 52 41 49 4c 45 52 21 21 21 |......TRAILER!!!| 00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200 takk@deb9:~/tmp$ wc -c a.bin.cpio 512 a.bin.cpio takk@deb9:~/tmp$
書庫を展開するには、-iオプションでコピーインモードを使います。
takk@deb9:~/tmp$ rm a.bin takk@deb9:~/tmp$ ls a.bin.cpio takk@deb9:~/tmp$ cat a.bin.cpio | cpio -i 1 block takk@deb9:~/tmp$ ls a.bin a.bin.cpio takk@deb9:~/tmp$
展開後のデータは、元ファイルと一致しますね。
takk@deb9:~/tmp$ hd a.bin 00000000 01 02 03 04 05 06 07 08 09 0a 0b 0c |............| 0000000c takk@deb9:~/tmp$
さて、タイトルにあるエンディアン変換ですが、-iオプション時のコピーインモードのときのみ使用できます。
-sを合わせて指定することで、上下1Byte(8bit)の交換をしてくれます。
takk@deb9:~/tmp$ rm a.bin takk@deb9:~/tmp$ ls a.bin.cpio takk@deb9:~/tmp$ cat a.bin.cpio | cpio -is 1 block takk@deb9:~/tmp$ ls a.bin a.bin.cpio takk@deb9:~/tmp$ hd a.bin 00000000 02 01 04 03 06 05 08 07 0a 09 0c 0b |............| 0000000c takk@deb9:~/tmp$
さらに、-Sを指定すると上下16bitの交換をしてくれます。
takk@deb9:~/tmp$ rm a.bin takk@deb9:~/tmp$ ls a.bin.cpio takk@deb9:~/tmp$ cat a.bin.cpio | cpio -iS 1 block takk@deb9:~/tmp$ ls a.bin a.bin.cpio takk@deb9:~/tmp$ hd a.bin 00000000 03 04 01 02 07 08 05 06 0b 0c 09 0a |............| 0000000c takk@deb9:~/tmp$
4Byteのエンディアン変換したいときは、-sと-Sを同時に指定します。
takk@deb9:~/tmp$ cat a.bin.cpio | cpio -isS 1 block takk@deb9:~/tmp$ ls a.bin a.bin.cpio takk@deb9:~/tmp$ hd a.bin 00000000 04 03 02 01 08 07 06 05 0c 0b 0a 09 |............| 0000000c takk@deb9:~/tmp$
-sと-Sの同時指定は、-bと同じです。
takk@deb9:~/tmp$ rm a.bin takk@deb9:~/tmp$ cat a.bin.cpio | cpio -ib 1 block takk@deb9:~/tmp$ hd a.bin 00000000 04 03 02 01 08 07 06 05 0c 0b 0a 09 |............| 0000000c takk@deb9:~/tmp$
コメント