cpio是什么文件?

Cpio可以以cpio或tar格式存储和读取归档包中的文件,这是一个包含其他文件和相关信息的文件。相关信息包括:文件名、所有者、时间戳和访问权限。存档包可以是磁盘、磁带或管道上的其他文件。

一个有用的命令。有些人在帖子里没有发现。所以我发了。希望有用。

希望大家发一些有用又难找的命令给大家欣赏。

cpio命令的详细用法

cpio-访问归档包中的文件

语法句法

cpio-O[-aBLuvV][-C bufsize][-C |-H格式][-K volumesize][-O file[,file...] ] [ -M消息] ] [ -Pifd,ofd ]

cpio-I[-6 abbcdfkmnqrsttuvv][-C bufsize][-I file[,file...] ]

[ -M消息] ] [ -Pifd,ofd ] [模式...]

cpio -p [ -adlLmruvV ] [ -Pifd,ofd ]目录

描述(描述)

Cpio可以以cpio或tar格式存储和读取归档包中的文件,这是一个包含其他文件和相关信息的文件。相关信息包括:文件名、所有者、时间戳和访问权限。存档包可以是磁盘、磁带或管道上的其他文件。

Cpio有三种工作模式:

在复制输出模式下,cpio将文件复制到归档包中。它从标准输入中获取文件名列表(一次一行),并将归档包写入标准输出。生成文件名列表的典型方法是使用find命令;您可能希望在find之后使用-depth选项,以减少输入没有访问权限的目录所带来的麻烦。

在复制模式下,cpio从归档文件中读取文件或列出归档文件的内容。它从标准输入中读取存档包。任何不是选项的命令行参数都被视为shell的通配符模式;在归档包中,只能复制文件名与这些模式字符串匹配的文件。与shell中不同的是,“.”文件名的开头可以匹配模式字符串开头的通配符,文件名中的'/'也可以匹配通配符。如果没有给定模式字符串,将读出所有文件。

在复制传递模式下,cpio将文件从一个目录树复制到另一个目录树,这结合了复制入和复制出的操作,但不使用归档包。Cpio从标准输入中读取要复制的文件名列表;目标目录作为非选项命令行参数给出。

Cpio支持以下存档格式:二进制、旧ascii、新ascii、CRC、hpux二进制、hpux旧ascii、旧tar和POSIX.1 tar。

“二进制”格式是一种过时的格式,因为它保存文件信息的方法不能适用于不同系统的机器之间的移植。“旧ASCII”格式可以跨平台使用,但不能用于超过65536个I节点的文件系统。“新ASCII”格式可以跨平台使用,也适用于任何大小的文件系统,但并不是所有版本的cpio都支持。目前只支持GNU和系统VR4的cpio。“crc”格式类似于“新ASCII”格式,并且为每个文件计算校验和。Cpio在创建归档包时计算校验和,并在解包文件时验证它。“HPUX”格式用于与HP UNIX兼容的cpio,它使用一种独特的方法来保存设备文件。

“tar”格式用于与tar程序兼容。它不能归档文件名超过100个字符的文件,也不能归档特殊文件(块设备或字符设备)。“POSIX.1 tar”格式无法归档文件名长度超过255个字符(小于,除非文件名最右边有“/”)的文件。

默认情况下,cpio会创建一个“二进制”格式的存档包,以便与旧的cpio程序兼容。当扩展存档包时,cpio可以自动识别存档包的格式,并可以读取在其他字节顺序的机器上创建的存档包。

cpio的一些选项只能在相应的操作模式下使用;参见概述部分,该部分列出了哪些模式下可以使用哪些选项。

选项(选项)

-0,-null在复制输出和复制传递模式下,认为输入文件名以空字符结尾,而不是换行符,所以即使文件名包含换行符,也不会影响存档。GNU find是生成以null结尾的文件名列表的方法之一。

-a,-reset-access-time在读取文件后重置文件的访问时间,使其看起来好像没有被访问过。

-a,-append附加到现有的归档文件包中。仅用于复制输出模式。归档软件包必须是使用-O或-f(--file)选项指定的磁盘文件。

-b,-swap在copy-in模式下,反转字中半字和数据中半字字节的顺序。相当于-sS使用这个选项,您可以在大端机器和小端机器之间转换32位整数。

-B将I/O块大小设置为5120字节,初始块大小为512字节。

-块大小=块大小

将I/O块大小设置为块大小* 512字节。

-c使用旧的跨平台(ASCII)存档格式。

-cIO-SIZE,-IO-size = io-size将I/O块大小设置为io大小的字节。

-d -d,-make-directory在需要的地方创建起始目录。

-e -E FILE,- pattern-FILE=FILE = FILE在copy-in模式下,用于匹配文件名的模式字符串从文件中读取,文件中的内容作为cpio的非选项参数处理。

-f,-nonmatching只复制那些不匹配任何给定模式字符串的文件。

-f -F,- file=archive使用存档文件名,而不是标准输入或输出。如果其他机器上的磁带机用作存档文件,文件名应以“HOSTNAME:”开头。主机名的前面可以加上用户名和一个“@”,作为访问远程磁带机的用户(如果您有这样的权限,通常在用户的~/中会有这样一项。rhosts文件)。

- force-local和-F、-I或-O一起使用。即使文件名包含冒号,归档文件也被视为本地文件。一般来说,冒号表示远程主机名。

- H格式,- FORMAT=FORMAT使用存档格式格式。下面列出了有效的格式,不区分大小写。“复制入”模式的默认动作是自动检测存档格式,“复制出”的默认格式是“bin”。

Bin,旧的二进制格式。

Odc的老式(POSIX.1)跨平台格式。

Newc的新(SVR4)跨平台格式支持大于65536 i节点的文件系统。

新的crc (SVR4)是跨平台的格式,校验和是计算出来的。

Tar,旧的tar格式。

Ustar POSIX.1 tar格式也可以识别GNU tar存档文件,有相似但不完全相同。

hpbin HP UNIX上cpio使用的旧二进制格式。(以独特的方式存储设备文件)

hpodc HP UNIX上cpio使用的跨平台格式。(以独特的方式存储设备文件)

-I,-extract进入复制模式。

-I archive使用存档文件名而不是标准输入。如果其他计算机上的磁带驱动器已存档,文件名应以“HOSTNAME:”开头。主机名的前面可以加上用户名和一个“@”,作为访问远程磁带机的用户(如果您有这样的权限,通常在用户的~/中会有这样一项。rhosts文件)。

-k无效操作;它仅用于兼容其他版本的cpio。

-l,-link如果可能的话,连接文件而不是复制文件。

-l,-dereference解除符号链接的关联(复制符号链接指向的文件,而不是链接本身)。

-m,-preserve-modification-time创建文件时,保留之前的文件修改时间。

-m -M MESSAGE,- message=MESSAGE当备份媒体(如磁带或软盘)到达卷尾时,会显示一条消息,提醒用户插入下一个卷。如果邮件包含字符串“%d”,它将被替换为当前卷号(从1开始)。

-n -n,-numeric-UID-gid-GID以详细形式显示内容时,以数字形式显示UID和GID,而不是将其转换为名称。

-no - no-absolute-filenames处于复制模式,即使它们在归档包中有绝对路径名。还在当前目录中创建所有相关文件,

-no - no-preserve-owner在复制输入和复制传递模式下,文件的所有权关系不变;使它们属于扩展它们的用户。这是普通用户的默认行为,所以System V的用户不会无意中泄露文件。

-o,-create进入复制输出模式。

-O archive使用存档文件名,而不是标准输出。如果其他计算机上的磁带驱动器已存档,文件名应以“HOSTNAME:”开头。主机名的前面可以加上用户名和一个“@”,作为访问远程磁带机的用户(如果您有这样的权限,通常在用户的~/中会有这样一项。rhosts文件)。

- only-verify-crc-crc在copy-in模式下读取CRC格式的存档包时,不展开里面的文件,只测试文件的CRC码。

-p -p,- pass-through进入复制-传递模式。

- quiet不显示复制的块数。

-r,-Rename交互文件已重命名。

-r[用户] [:。] [组],-所有者[用户][:。] [group]在复制输出和复制传递模式下,将所有文件的所有者设置为指定的用户和/或用户组。用户和用户组都必须存在。如果省略了用户组,但给定了分隔符“:”或”。,使用给定用户登录时的用户组。只有超级用户可以更改文件的所有者。

- sparse在复制输出和复制传递模式下,将数据为0的大文件作为稀疏文件写入。

-s -s,- swap-bytes在copy-in模式下,交换文件中每个半字(字节对)中的字节。

-s,-swap-复制模式下的半字-S,-swap-文件中每个字(4个字节)的半字。

-t,-list显示输入存档包的内容。

-u,-无条件替换所有文件,不再询问是否用旧文件替换已有的新文件。

-v,-verbose列出已处理的文件,使用-t选项,您可以列出一个' ls -l '样式的列表。在归档文件包内容的详细列表中,如果归档文件的用户和用户组名称在本地系统中不存在,它们将被其数字UID和GID对应于本地系统的用户和用户组名称替换。

-v点显示一个“.”每次处理文件时。

- version显示cpio程序的版本号,然后退出。