Linux cpio命令

Linux cpio命令
Linux 命令大全

Linux cpio命令用于备份文件。

cpio是用来建立,还原备份档的工具程序,它可以加入,解开cpio或tra备份档内的文件。
语法

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指令的”-print0″参数使用。
  • -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=<范本文件>  指定范本文件,其内含有一个或多个范本样式,让cpio解开符合范本条件的文件,格式为每列一个范本样式。
  • -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”,则会以用户识别码和群组识别码替代拥有者和群组名称列出文件清单。
  • -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  显示版本信息。

制作备份文件

[root@runoob.com 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
[root@runoob.com var]# ls | cpio -o >123.cpio //制作备份文件
25 blocks
[root@runoob.com 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
[root@runoob.com var]#

解压备份文件

[root@runoob.com var]# ls | cpio -i -l 123.cpio

解压缩备份文件,并列出详细信息

[root@runoob.com var]# cpio -t -I 123.cpio  
123.cpio
a.c
b.c
c.c
……省略部分结果

强制解压缩

[root@runoob.com var]# cpio -i -u -I 123.cpio

解压缩时进行反向匹配,指定不解压的文件

[root@runoob.com var]# cpio -i -I 123.cpio -f *.c 

//不解压.c结尾的文件

向指定的.cpio文件添加文件

[root@runoob.com 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
[root@runoob.com var]# cpio -o -O 123.cpio -A
db  //用户输入 按下Ctrl+D结束输入
1 block
[root@runoob.com var]#

从标准输入备份文件

[root@runoob.com test]# ls              
a. a.c b.c c.c d.c    f.c
[root@runoob.com test]# cpio -o >123.cpio
a.c  //用户输入
b.c
c.c  //按下Ctrl+D完成输入
3 block
[root@runoob.com test]#

复制文件

[root@runoob.com test]# cpio -p /root
a.c  //用户输入
b.c
c.c  //按下Ctrl+D完成输入
3 block

Linux 命令大全

赞(0)

评论 抢沙发

评论前必须登录!

 

Linux 基础教程
Linux 简介Linux 安装Linux 云服务器Linux 系统启动过程Linux 系统目录结构Linux 忘记密码解决方法Linux 远程登录Linux 文件基本属性Linux 文件与目录管理Linux 用户和用户组管理Linux 磁盘管理Linux vi/vimlinux yum 命令VMware 安装 Centos7 超详细过程如何查找Linux中的Java版本在Ubuntu中安装OpenGL在Ubuntu使用Let's Encrypt在任何命令上中止一个shell脚本都会失败用make install改变安装目录在Linux中创建一个一定大小的文件从另一个SSH会话中分离出屏幕使用Linux bash提取子串在Linux上腾出一个TCP/IP端口在Linux的Bash中,这里的文件和这里的字符串如何在Bash中添加一列数字如何记录Linux终端会话在Linux上安装程序时如何编写 "yes "的脚本如何在 Linux 上使用 tmux在Linux上使用curl连接Https在特定行号处插入一行杀死Linux中一个进程组的所有成员限制Unix中的进程资源消耗在Cron作业中加载环境变量在Linux上移动所有文件,只有一个例外在Linux上删除文件的行尾在Linux上从命令行运行脚本中的一个函数在Linux上在后台运行多个命令在给定的行号上拆分一个文件什么是Linux上的LD_PRELOAD招数在Linux中使用Zip命令在Linux中创建一个临时文件在Bash中一次删除多个文件在Linux上测量一个进程的CPU使用率在Linux中对磁盘进行分区在Linux中计算一个目录的MD5校验和在Linux中检查一个字符串是否包含一个子串在Linux上计算文本文件中的重复行数确保Linux上只有一个Bash脚本的实例在运行从Linux容器到Docker的演变在Linux上用GREP排除多个模式在Linux上使用rsync时过滤复制的文件如何在Linux上杀死一个分离的屏幕会话如何在Linux上列出所有连接的SSH会话如何在linux中使用diff命令如何在Linux中使用mysql客户端和相关工具如何在Linux上使用Paste命令在Linux上的Bash脚本中实现一个计数器在Linux上保持SSH会话Alive在Linux中链接到文件Linux last命令在Linux中管理进程在Linux上将一个命令的输出作为另一个命令的参数传递Linux上Bash脚本中IFS的意义在Linux上使用find -exec命令选项在Linux上使用Vim寄存器什么是Linux中的.pid文件使用Linux Cat命令将文本写入文件Linux中的匿名管道和命名管道在Linux上检查目录是否被挂载在Bash中在Linux中检查主机的网络可用性在Linux上删除last n命令的历史记录.bashrc、.bash-profile和.profile之间的区别在Linux中并排显示文件在Linux中对目录进行加密和解密在Linux上将grep排除在ps结果之外在Linux中提取WAR文件Linux find命令的替代品fd命令在Linux上查找和转换以CRLF结尾的文件在Linux上查找和压缩文件在Linux中查找一个正在运行的进程的当前工作目录在Linux上用Shell变量获取网页的内容在Linux中生成随机数的指南如何在Linux上将多个文件的内容追加到一个文件中如何计算在Linux中使用dd的最佳块大小如何改变Linux上用户的默认主目录如何在Linux中使用journalctl检查日志如何清理Linux僵尸进程如何在Linux上通过脚本创建一个crontabLinux上Bash Globbing的介绍在/etc/hosts中对主机名和端口进行映射监测Linux中的网络使用情况在Linux中把包括隐藏文件在内的所有文件移入父目录在Linux中否定Bash脚本中的if条件在Linux的多个终端窗口中保存Bash历史记录在Linux上阅读壳牌命令的源代码在Linux上重定向一个已经运行的进程的输出在Linux中删除文本文件的第一行在Linux中删除一个文件的最后N行在Linux上以服务形式运行Java应用程序只在Linux中没有运行的情况下运行Cron作业在Linux上使用grep搜索特定文件类型在Linux中从终端发送邮件在Linux中从壳牌脚本中显示GUI通知为Linux上的Crontab指定一个编辑器在Shell脚本中的变量中存储命令Linux中的netcat命令用字面字符串代替输入文件使用sedcd在Linux上有什么作用在Bash中何时使用别名、脚本和新函数为什么我们要在Linux上禁用SSH上的Root-login在Linux命令行中评估XPathLinux ARP命令Linux中的cut命令Linux中的date命令Linux touch命令指南Linux wc命令指南在Linux上使用sed流编辑器的指南如何在Linux中改变终端输出颜色是否有办法在Linux上按栏目进行 "uniq"Linux中的kill命令Linux的sort命令Linux tar命令Linux的watch命令从终端关闭和重启Linux系统在Linux上从终端软删除文件Linux中的echo命令LINUX中的head和tail命令Linux上的nslookup命令LINUX中的traceroute命令通过SSH在Linux机器之间传输文件在Linux脚本中使用Shebang #!Linux Crontab 介绍Linux 如何从命令行查找文件Linux启动过程的逐步解释Linux Bash终端重定向到另一个终端Linux 常见文本搜索命令Linux 如何使用交叉编译器为 ARM 编译本地 GCCLinux 连接文件的不同方法Ubuntu 配置Postfix以使用Gmail SMTPUbuntu 用Gmail配置PostfixUbuntu 用Gmail配置sendmailSimulink 查找结构变量中未使用的字段Linux 一般DaemonServer设计--最佳实践(CC++)Linux中的流重定向指南Linux find命令指南Linux 如何确定哪些单独的页面是常驻页面Linux 如何找到破碎的符号链接Linux 如何识别用于生成许可证的主机名和主机IDLinux 如何使USB设备支持多点触控Linux 如何在Udev事件上运行长时间的进程Linux 如何设置防火墙Ubuntu 如何设置sendmailLinux 安装和配置Net-SNMPCUDA 应用程序之间是否可以共享Cuda上下文在Linux x64上与x86共享库链接Linux curl 和 wget命令比较xwindow的剪贴板的机制Linux 监控上下文切换Linux 使用Wget进行多次同步下载Linux 替换然后通过ssh打开stdinstdout解决 sendto operation not permitted netsnmp 错误Linux 用chown和chmod设置权限在Unix系统中分割文件在ecryptfs和类似的可堆叠文件系统中使用直接IO谁在Linux系统中调用了我的DBus API为什么-r选项(可重定位)使ld找不到任何库
Linux 命令
Linux 命令大全Linux cat命令Linux chattr命令Linux chgrp命令Linux chmod命令Linux chown命令Linux cksum命令Linux cmp命令Linux diff命令Linux diffstat命令Linux file命令Linux find命令Linux git命令Linux gitview命令Linux indent命令Linux cut命令Linux ln命令Linux less命令Linux locate命令Linux lsattr命令Linux mattrib命令Linux mc命令Linux mdel命令Linux mdir命令Linux mktemp命令Linux more命令Linux mmove命令Linux mread命令Linux mren命令Linux mtools命令Linux mtoolstest命令Linux mv 命令Linux od命令Linux paste命令Linux patch命令Linux rcp命令Linux rm命令Linux slocate命令Linux split命令Linux tee命令Linux tmpwatch命令Linux touch命令Linux umask命令Linux which命令Linux cp命令Linux whereis命令Linux mcopy命令Linux mshowfat命令Linux rhmask命令Linux scp命令Linux awk 命令Linux read 命令Linux updatedb 命令Linux col命令Linux colrm命令Linux comm命令Linux csplit命令Linux ed命令Linux egrep命令Linux ex命令Linux fgrep命令Linux fmt命令Linux fold命令Linux grep 命令Linux ispell命令Linux jed命令Linux joe命令Linux join命令Linux look命令Linux mtype命令Linux pico命令Linux rgrep命令Linux sed 命令Linux sort命令Linux spell命令Linux tr命令Linux expr命令Linux uniq 命令Linux wc命令Linux let 命令Linux lprm命令Linux lpr命令Linux lpq命令Linux lpd命令Linux bye命令Linux ftp命令Linux uuto命令Linux uupick命令Linux uucp命令Linux uucico命令Linux tftp命令Linux ncftp命令Linux ftpshut命令Linux ftpwho命令Linux ftpcount命令Linux cd命令Linux df命令Linux dirs命令Linux du命令Linux edquota命令Linux eject命令Linux mcd命令Linux mdeltree命令Linux mdu命令Linux mkdir命令Linux mlabel命令Linux mmd命令Linux mrd命令Linux mzip命令Linux pwd命令Linux quota命令Linux mount命令Linux mmount命令Linux rmdir命令Linux rmt命令Linux stat命令Linux tree命令Linux umount命令Linux ls命令Linux quotacheck命令Linux quotaoff命令Linux lndir命令Linux repquota命令Linux quotaon命令Linux badblocks命令Linux cfdisk命令Linux dd命令Linux e2fsck命令Linux ext2ed命令Linux fsck命令Linux fsck.minix命令Linux fsconf命令Linux fdformat命令Linux hdparm命令Linux mformat命令Linux mkbootdisk命令Linux mkdosfs命令Linux mke2fs命令Linux mkfs.ext2命令Linux mkfs.msdos命令Linux mkinitrd命令Linux mkisofs命令Linux mkswap命令Linux mpartition命令Linux swapon命令Linux symlinks命令Linux sync命令Linux mbadblocks命令Linux mkfs.minix命令Linux fsck.ext2命令Linux fdisk命令Linux losetup命令Linux mkfs命令Linux sfdisk命令Linux swapoff命令Linux apachectl命令Linux arpwatch命令Linux dip命令Linux getty命令Linux mingetty命令Linux uux命令Linux telnet命令Linux uulog命令Linux uustat命令Linux ppp-off命令Linux netconfig命令Linux nc命令Linux httpd命令Linux ifconfig命令Linux minicom命令Linux mesg命令Linux dnsconf命令Linux wall命令Linux netstat命令Linux ping命令Linux pppstats命令Linux samba命令Linux setserial命令Linux talk命令Linux traceroute命令Linux tty命令Linux newaliases命令Linux uuname命令Linux netconf命令Linux write命令Linux statserial命令Linux efax命令Linux pppsetup命令Linux tcpdump命令Linux ytalk命令Linux cu命令Linux smbd命令Linux testparm命令Linux smbclient命令Linux shapecfg命令Linux adduser命令Linux chfn命令Linux useradd命令Linux date命令Linux exit命令Linux finger命令Linux fwhios命令Linux sleep命令Linux suspend命令Linux groupdel命令Linux groupmod命令Linux halt命令Linux kill命令Linux last命令Linux lastb命令Linux login命令Linux logname命令Linux logout命令Linux ps命令Linux nice命令Linux procinfo命令Linux top命令Linux pstree命令Linux reboot命令Linux rlogin命令Linux rsh命令Linux sliplogin命令Linux screen命令Linux shutdown命令Linux rwho命令Linux sudo命令Linux gitps命令Linux swatch命令Linux tload命令Linux logrotate命令Linux uname命令Linux chsh命令Linux userconf命令Linux userdel命令Linux usermod命令Linux vlock命令Linux who命令Linux whoami命令Linux whois命令Linux newgrp命令Linux renice命令Linux su命令Linux skill命令Linux w命令Linux id命令Linux groupadd 命令Linux free命令Linux reset命令Linux clear命令Linux alias命令Linux dircolors命令Linux aumix命令Linux bind命令Linux chroot命令Linux clock命令Linux crontab 命令Linux declare命令Linux depmod命令Linux dmesg命令Linux enable命令Linux eval命令Linux export命令Linux pwunconv命令Linux grpconv命令Linux rpm命令Linux insmod命令Linux kbdconfig命令Linux lilo命令Linux liloconfig命令Linux lsmod命令Linux minfo命令Linux set命令Linux modprobe命令Linux ntsysv命令Linux mouseconfig命令Linux passwd命令Linux pwconv命令Linux rdate命令Linux resize命令Linux rmmod命令Linux grpunconv命令Linux modinfo命令Linux time命令Linux setup命令Linux sndconfig命令Linux setenv命令Linux setconsole命令Linux timeconfig命令Linux ulimit命令Linux unset命令Linux chkconfig命令Linux apmd命令Linux hwclock命令Linux mkkickstart命令Linux fbset命令Linux unalias命令Linux SVGATextMode命令Linux gpasswd 命令Linux ar命令Linux bunzip2命令Linux bzip2命令Linux bzip2recover命令Linux gunzip命令Linux unarj命令Linux compress命令Linux cpio命令Linux dump命令Linux uuencode命令Linux gzexe命令Linux gzip命令Linux lha命令Linux restore命令Linux tar命令Linux uudecode命令Linux unzip命令Linux zip命令Linux zipinfo命令Linux setleds命令Linux loadkeys命令Linux rdev命令Linux dumpkeys命令Linux MAKEDEV命令Linux poweroff 命令Linux bc 命令Linux tail 命令Linux xargs 命令Linux 常用命令全拼AWK 工作原理AWK 数组AWK 条件语句与循环AWK 用户自定义函数AWK 内置函数8 个有力的 Awk 内建变量
Linux 问答
Nano和VIM编辑器的区别Bash脚本中Zsh和Bash的区别Ubuntu中APT和DPKG的区别Linux中桌面环境和窗口管理器的区别Owncloud和Nextcloud的区别wget和curl的区别UNIX系统中用户cpu时间和系统cpu时间的区别KornShell 和 BashShell 的区别Linux下Ext4和Btrfs文件系统的区别片上系统SoC 与 单板计算机SBC的区别用户级线程和内核级线程的区别优先级倒置和优先级继承的区别MMU和MPU有什么区别UEFI(统一可扩展固件接口)与BIOS的区别不同类型的RAM(随机存取内存)Ubuntu 和 Red Hat Linux 的区别Ubuntu 和 Kali Linux 的区别Jumpshare 和 Ubuntu One 的区别Ubuntu和Fedora的区别RAID 1 和 RAID 5的区别比特币和区块链的区别Arch Linux 和 Kali Linux 的区别Fedora 和 Kali Linux 的区别硬拷贝和软拷贝的区别RAID 5 和 RAID 10的区别本地文件系统 (LFS) 和分布式文件系统 (DFS) 的区别RPA 和 Selenium 的区别Linux 和 OS/2的区别Linux 和 Plan 9 的区别硬盘驱动器和闪存驱动器的区别中断和异常的区别Arduino和树莓派的区别FAT32、exFAT 和 NTFS 文件系统的区别FCFS和优先级CPU调度的区别Linux和Unix的区别Python 和 Bash 的区别fork() 和 exec()的区别先到先服务 (FCFS) 和最长作业优先 (LJF) CPU 调度算法的区别最长作业优先 (LJF) 和循环 (RR) 调度算法的区别多道程序,多任务,多线程和多处理的区别管道和消息队列的区别优先级调度和循环 (RR) CPU 调度的区别优先级调度和最短作业优先 (SJF) CPU 调度的区别UEFI和BIOS的区别fork()和vfork()的区别CAD和CAM之间的区别数据和信息的区别基本数据类型和派生数据类型之间的区别全息术与摄影的区别JPEG和GIF的区别JPEG和SVG之间的区别内存和存储之间的区别SSD和HDD之间的区别ZIP和RAR的区别