Linux基础命令---cpio

简介:
cpio
      从归档中复制文件,或者复制文件到归档中。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
      Cpio命令有三种工作模式:
      1)copy-out mode,cpio指令将文件复制到归档。它读取标准输入上的文件名列表(每行一个),将归档包写到标准输出。
      2)copy-in mode,cpio指令从归档中复制文件,从标准输入读取归档包。
      3)cpio-pass mode,从目录树复制文件到另一个目录,它从标准输入中读取要复制的文件列表。


1、语法
       cpio  -o  namelist  > archive 
      cpio  -i  <  archive
      cpio  -p  dst-dir  < namelist


2、选项列表
      -? | --help
            帮助信息
      --version
            显示命令版本信息

      主操作模式
      -i | --extract
            从包中提取文件,copy-in模式
      -o | --create
            创建包,copy-out模式
      -p | --pass-through
            运行copy-pass模式
      -t | --list
            打印输入内容列表
      -l | --list
            对于每一个压缩的文件,列出压缩文件大小、解压大小、压缩比列、压缩前的文件名字
     
      应用在所有模式的选项
      -B
            设置IO块的大小为5120字节
      -c
            使用老式跨平台的归档格式
      -f
            仅拷贝不匹配任意给定模式的文件
      -F
            用文件名代替标准输入和输出
      -n | --numeric-uid-gid
            在内容列表的详细信息中显示uid和gid
      --quite
            不打印以拷贝的块数
      -v | --verbose
            详细信息
      -V | -dot
            每处理一个文件就打印一个“.”
      应用于copy-in的徐昂想

      -b | --swap

      -r | --rename
            交互式重命名
      -E
            把指定文件的内容当做匹配字符串
      应用于copy-out的选项

      -A | --append
            追加到文档的结尾
      -O
            使用包文件名,而不是标准输入输出
     
       应用于copy-pass的选项
      -l | --link
            在执行时尽可能创建链接,而不是复制文件
      应用于copy-in和copy-out

      --absolute-filenames
            文件名不出去文件系统前缀
      --no-absolute-filenames
            当前目录创建所有文件
      
      应用于copy-out和copy-pass
      -0 | --null
            输入文件名以null字符结尾
      -a | --reset-access-time
            文件读取后,还原文件的访问时间
      -I
            从文件读入
      -R | --owner
            设置所有文件的组合用户信息
     
       应用于copy-in和copy-pass
      -d
            必要时创建目录
      -m
            创建文件是,保留文件修改时间属性
      -u
            无条件覆盖


3、例子代码

      % ls | cpio -ov > directory.cpio
      归档当前目录下的内容,并且制定输出文件
      % find . -print -depth | cpio -ov > tree.cpio
      存档整个目录树,find命令可以将文件列表提供给cpio。这将获取当前目录中的所有文件,以及下面的目录,并将它们放置在归档目录tree.cpio中
      % cpio -iv < directory.cpio
      这将检索存档在文件directory.cpio中的文件,并将它们放在当前目录中
      % cpio -idv < tree.cpio
      这将获取存档tree.cpio的内容,并将其解压缩到当前目录。
      % find . -depth -print0 | cpio --null -pvd new-dir
      将当前目录的文件和子目录复制到一个名为new-dir的新目录中

4、实例
1)将当前目录归档
      [root@localhost weijie]#  ls | cpio -o > mybak           //将ls的输出定向到cpio,然后归档
      1 块
      [root@localhost weijie]#  ls
      11.c  1.c  2.c  3.c  4.c  5.c  6.c  mybak
2)从归档中提取文件
      [root@localhost weijie]#  cpio -i < mybak                   //从归档中提取
      cpio: 未创建 11.c:已有更新或同样新的版本存在
      cpio: 未创建 5.c:已有更新或同样新的版本存在
      cpio: 未创建 6.c:已有更新或同样新的版本存在
      cpio: 未创建 mybak:已有更新或同样新的版本存在
      1 块
      [root@localhost weijie]#  ls
      11.c  1.c  2.c  3.c  4.c  5.c  6.c  mybak
3)拷贝文件
      [root@localhost weijie]#  cat list.c  
      1.c
      2.c
      3.c
      [root@localhost weijie]#  cpio -p bak/ < list.c          //将list.c中的内容当做文件列表,然后拷贝到bak目录
      cpio: 忽略空行
      1 块
      [root@localhost weijie]#  ls bak/
      1.c  2.c  3.c
相关文章
|
11天前
|
Linux 数据安全/隐私保护 Windows
命令方式:window向linux传文件
【10月更文挑战第6天】本文介绍了如何在Linux系统中通过命令`ip a`获取IP地址,并在Windows系统下使用CMD命令行工具和SCP命令实现文件传输。示例展示了如何将D盘中的`mm.jar`文件上传至IP地址为192.168.163.122的Linux系统的/up/目录下,最后在Linux系统中确认文件传输结果。
167 65
|
3天前
|
安全 Linux
Linux系统之lsof命令的基本使用
【10月更文挑战第14天】Linux系统之lsof命令的基本使用
25 2
Linux系统之lsof命令的基本使用
|
11天前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
36 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
13天前
|
监控 安全 网络协议
|
5天前
|
Linux
Linux 系统五种帮助命令的使用
Linux 系统五种帮助命令的使用
31 14
|
1天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-
|
1天前
|
Linux Perl
Linux awk命令使用技巧
【10月更文挑战第16天】Linux awk命令使用技巧
9 4
|
6天前
|
Linux
Linux经常使用命令汇总和总结
Linux经常使用命令汇总和总结
25 1
|
6天前
|
安全 Linux Shell
Linux | Rsync 命令:16 个实际示例(上)
Linux | Rsync 命令:16 个实际示例(上)
20 0
Linux | Rsync 命令:16 个实际示例(上)
|
9天前
|
存储 安全 Linux
Linux文件管理命令md5sum awk
通过结合 `md5sum`和 `awk`,不仅可以高效地进行文件完整性校验,还能灵活地处理和分析校验结果,为系统管理、数据审计等工作提供强大的支持。
20 2