English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux cpioコマンド

Linux コマンド全書

Linux cpioコマンドはファイルのバックアップに使用されます。

cpioは、バックアップファイルの作成、復元を行うツールプログラムで、cpioまたはtarのバックアップファイル内のファイルを追加、展開できます。

構文

cpio [-0aABckLovV][-C <入力/出力サイズ>][-F <バックアップファイル>][-H <バックアップ形式>][-O <バックアップファイル>][--block-size=<ブロックサイズ>][--force-local][--help][--quiet][--version] または cpio [-bBcdfikmnrsStuvV][-C <入力/出力サイズ>][-E <テンプレートファイル>][-F <バックアップファイル>][-H <バックアップ形式>][-I <バックアップファイル>][-M <返信情報>][-R <所有者><:/.><所属群組>][--block-size=<ブロックサイズ>][--force-local][--help][--no-absolute-filenames][--no-preserve-owner][--only-verify-crc][--quiet][--sparse][--version][范本样式...] または cpio [-0adkiLmpuvV][-R <所有者><:/.><所属群組>][--help][--no-preserve-owner][--quiet][--sparse][--version][目的目]

パラメータ

  • -0または--null  新しい列の制御文字を受け入れ、通常findコマンドの"と一緒に使用されます-パラメータの使用法
  • -aまたは--reset-access-time  ファイルのアクセス時間をリセットします。
  • -Aまたは--append  既存のバックアップファイルに追加し、このバックアップファイルはディスクに保存され、テープドライブには保存されません。
  • -bまたは--swap  このパラメータの効果は、同時に"-sS"パラメータと同じです。
  • -B  入力/出力のブロックサイズを5210 Bytes。
  • -c  古いASCIIバックアップフォーマットを使用します。
  • -C<ブロックサイズ>または--io-size=<区块大小>  设置输入/出力のブロックサイズ、単位はByteです。
  • -dまたは--make-directories  必要に応じてcpioは自動的にディレクトリを作成します。
  • -E<テンプレートファイル>または--pattern-file=<テンプレートファイル>  テンプレートファイルを指定し、その中に1つ以上のテンプレートスタイルが含まれており、cpioはテンプレート条件に一致するファイルを解凍します。各行に1つのテンプレートスタイルが含まれます。
  • -fまたは--nonmatching  cpioはテンプレート条件に一致しないすべてのファイルを解凍します。
  • -F<バックアップファイル>または--file=<バックアップファイル>  バックアップファイルの名前を指定し、標準入力または出力を置き換え、これによりネットワークを通じて使用して別のホストの保存デバイスにバックアップファイルをアクセスできます。
  • -H<バックアップフォーマット>  バックアップ時に使用するファイル形式を指定します。
  • -iまたは--extract  copyを実行します-inモードでは、バックアップファイルを復元します。
  • -l<バックアップファイル>  バックアップファイルの名前を指定し、標準入力を置き換え、これによりネットワークを通じて使用して別のホストの保存デバイスからバックアップファイルを読み取ることができます。
  • -k  このパラメータは無視され、cpioの異なるバージョン間の互換性問題を解決するためにのみ使用されます。
  • -lまたは--link  ファイルをコピーする代わりにハードリンクを作成し、copy-passモードで使用します。
  • -Lまたは--dereference  シンボリックリンクを直接コピーせず、リンク先の元のファイルをコピーします。
  • -mまたはpreserve-modification-time  ファイルの変更時間を交換しません。
  • -M<返信情報>または--message=<返信情報>  保存メディアの交換情報を設定します。
  • -nまたは--numeric-uid-gid  "-tv"パラメータでバックアップファイルの内容をリストアすると、さらにパラメータ"-n"と指定すると、ユーザーIDとグループIDで所有者とグループ名を代替してファイルリストを出力します。
  • -oまたは--create  copyを実行します-outモードでは、バックアップファイルを作成します。
  • -O<バックアップファイル>  バックアップファイルの名前を指定し、標準出力を置き換え、これによりネットワークを通じて使用して別のホストの保存デバイスにバックアップファイルを保存できます。
  • -pまたは--pass-through  copyを実行します-passモードでは、バックアップ手順をスキップし、ファイルを直接目的ディレクトリにコピーします。
  • -rまたは--rename  当有文件名称需要更动时,采用互动模式。
  • -R<拥有者><:/.><所属群组>或
  • ----owner<拥有者><:/.><所属群组>  在copy-in模式还原备份档,或copy-pass模式复制文件时,可指定这些备份,复制的文件的拥有者与所属群组。
  • -s或--swap-bytes  交换每对字节的内容。
  • -S或--swap-halfwords  交换每半个字节的内容。
  • -t或--list  将输入的内容呈现出来。
  • -u或--unconditional  置换所有文件,不论日期时间的新旧与否,皆不予询问而直接覆盖。
  • -v或--verbose  详细显示指令的执行过程。
  • -V或--dot  执行指令时,在每个文件的执行程序前面加上"."号
  • --block-size=<区块大小>  设置输入/输出的区块大小,假如设置数值为5,则区块大小为2500,若设置成10,则区块大小为5120,依次类推。
  • --force-local  强制将备份档存放在本地主机。
  • --help  在线帮助。
  • --no-absolute-filenames  使用相对路径建立文件名称。
  • --no-preserve-owner  不保留文件的拥有者,谁解开了备份档,那些文件就归谁所有。
  • -only-verify-crc  当备份档采用CRC备份格式时,可使用这项参数检查备份档内的每个文件是否正确无误。
  • --quiet  不显示复制了多少区块。
  • --sparse  倘若一个文件内含大量的连续0字节,则将此文件存成稀疏文件。
  • --version  显示版本信息。

在线示例

制作备份文件

[[email protected] var]# ll //显示当前目录下的文件
总用量 164
drwxr-xr-x  2 root root  4096 2008-03-30 account
drwxr-xr-x  9 root root  4096 2008-03-30 cache
drwxr-xr-x  3 netdump netdump 4096 2008-03-30 crash
drwxr-xr-x  3 root root  4096 2008-03-30 db
drwxr-xr-x  3 root root  4096 2008-03-30 empty
drwxr-xr-x  3 root root  4096 2008-03-30 ftp
drwxrwx--T  2 root gdm   4096 4月 9 20:17 gdm
drwxr-xr-x 25 root root  4096 2008-03-30 lib
drwxr-xr-x  2 root root  4096 2004-08-13 local
drwxrwxr-x  6 root lock  4096 5月 8 15:25 lock
drwxr-xr-x 14 root root  4096 5月 8 15:14 log
lrwxrwxrwx  1 root root   10 2008-03-30 mail -> spool/mail
drwxr-xr-x  2 root root  4096 2004-08-13 nis
drwxr-xr-x  2 root root  4096 2004-08-13 opt
drwxr-xr-x  2 root root  4096 2004-08-13 preserve
drwxr-xr-x 16 root root  4096 5月 8 15:14 run
drwxr-xr-x 16 root root  4096 2008-03-30 spool
drwxrwxrwt  3 root root  4096 1月 13 18:53 tmp
drwx------  2 root root  4096 2004-07-08 tux
drwxr-xr-x  8 root root  4096 1月 19 19:39 www
drwxr-xr-x  3 root root  4096 2008-03-30 yp
[[email protected] var]# ls | cpio -o >123.cpio //制作备份文件
25 blocks
[[email protected] var]# ll //显示当前目录下的文件
总用量 172
-rw-r--r--  1 root root  1024 5月 24 13:06 123.cpio
drwxr-xr-x  2 root root  4096 2008-03-30 account
drwxr-xr-x  9 root root  4096 2008-03-30 cache
drwxr-xr-x  3 netdump netdump 4096 2008-03-30 crash
drwxr-xr-x  3 root root  4096 2008-03-30 db
drwxr-xr-x  3 root root  4096 2008-03-30 empty
drwxr-xr-x  3 root root  4096 2008-03-30 ftp
drwxrwx--T  2 root gdm   4096 4月 9 20:17 gdm
drwxr-xr-x 25 root root  4096 2008-03-30 lib
drwxr-xr-x  2 root root  4096 2004-08-13 local
drwxrwxr-x  6 root lock  4096 5月 8 15:25 lock
drwxr-xr-x 14 root root  4096 5月 8 15:14 log
lrwxrwxrwx  1 root root   10 2008-03-30 mail -> spool/mail
drwxr-xr-x  2 root root  4096 2004-08-13 nis
drwxr-xr-x  2 root root  4096 2004-08-13 opt
drwxr-xr-x  2 root root  4096 2004-08-13 preserve
drwxr-xr-x 16 root root  4096 5月 8 15:14 run
drwxr-xr-x 16 root root  4096 2008-03-30 spool
drwxrwxrwt  3 root root  4096 1月 13 18:53 tmp
drwx------  2 root root  4096 2004-07-08 tux
drwxr-xr-x  8 root root  4096 1月 19 19:39 www
drwxr-xr-x  3 root root  4096 2008-03-30 yp
[[email protected] var]# 

バックアップファイルを展開

[[email protected] var]# ls | cpio -i -l 123.cpio

バックアップファイルを展開し、詳細な情報を表示

[[email protected] var]# cpio -t -I 123.cpio  
123.cpio
a.c
b.c
c.c
…… 省略部分結果

強制的に展開

[[email protected] var]# cpio -i -u -I 123.cpio 

展開時に逆マッチングを行い、展開しないファイルを指定

[[email protected] var]# cpio -i -I 123.cpio -f *.c 
//.c 終わりのファイルを展開しない

指定された.cpioファイルにファイルを追加

[[email protected] var]# ls
123.cpio crash ftp local mail preserve tmp yp
account  db    gdm lock  nis  run       tux
cache     empty lib log  opt  spool   www
[[email protected] var]# cpio -o -O 123.cpio -A
db  //ユーザー入力 按下Ctrl+D 終了入力
1 block
[[email protected] var]# 

標準入力からファイルをバックアップ

[[email protected] test]# ls              
a. a.c b.c c.c d.c    f.c
[[email protected] test]# cpio -o >123.cpio
a.c  //ユーザー入力
b.c
c.c  //Ctrl を押下+D 完成入力
3 block
[[email protected] test]# 

ファイルをコピー

[[email protected] test]# cpio -p /root
a.c  //ユーザー入力
b.c
c.c  //Ctrl を押下+D 完成入力
3 block

Linux コマンド全書