浦口区网站建设售后保障,市场调研报告万能模板,常德地区网站建设,成都网站建设空间tar命令 [rootlinux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数#xff1a;-c #xff1a;建立一个压缩文件的参数指令(create 的意思)#xff1b;-x #xff1a;解开一个压缩文件的参数指令#xff01;-t #xff1a;查看 tarfile 里面的文件#xff01;特别注意… tar命令 [rootlinux ~]# tar [-cxtzjvfpPN] 文件与目录 ....参数-c 建立一个压缩文件的参数指令(create 的意思)-x 解开一个压缩文件的参数指令-t 查看 tarfile 里面的文件特别注意在参数的下达中 c/x/t 仅能存在一个不可同时存在因为不可能同时压缩与解压缩。-z 是否同时具有 gzip 的属性亦即是否需要用 gzip 压缩-j 是否同时具有 bzip2 的属性亦即是否需要用 bzip2 压缩-v 压缩的过程中显示文件这个常用但不建议用在背景执行过程-f 使用档名请留意在 f 之后要立即接档名喔不要再加参数例如使用『 tar -zcvfP tfile sfile』就是错误的写法要写成『 tar -zcvPf tfile sfile』才对喔-p 使用原文件的原来属性属性不会依据使用者而变-P 可以使用绝对路径来压缩-N 比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中--exclude FILE在压缩的过程中不要将 FILE 打包范例范例一将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar[rootlinux ~]# tar -cvf /tmp/etc.tar /etc 仅打包不压缩[rootlinux ~]# tar -zcvf /tmp/etc.tar.gz /etc 打包后以 gzip 压缩[rootlinux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc 打包后以 bzip2 压缩# 特别注意在参数 f 之后的文件档名是自己取的我们习惯上都用 .tar 来作为辨识。# 如果加 z 参数则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file # 如果加 j 参数则以 .tar.bz2 来作为附档名啊# 上述指令在执行的时候会显示一个警告讯息# 『tar: Removing leading / from member names』那是关於绝对路径的特殊设定。 范例二查阅上述 /tmp/etc.tar.gz 文件内有哪些文件[rootlinux ~]# tar -ztvf /tmp/etc.tar.gz# 由於我们使用 gzip 压缩所以要查阅该 tar file 内的文件时# 就得要加上 z 这个参数了这很重要的范例三将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下[rootlinux ~]# cd /usr/local/src[rootlinux src]# tar -zxvf /tmp/etc.tar.gz# 在预设的情况下我们可以将压缩档在任何地方解开的以这个范例来说# 我先将工作目录变换到 /usr/local/src 底下并且解开 /tmp/etc.tar.gz # 则解开的目录会在 /usr/local/src/etc 呢另外如果您进入 /usr/local/src/etc# 则会发现该目录下的文件属性与 /etc/ 可能会有所不同喔范例四在 /tmp 底下我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已[rootlinux ~]# cd /tmp[rootlinux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称如果单只要一个文件# 就可以透过这个方式来下达注意到 etc.tar.gz 内的根目录 / 是被拿掉了范例五将 /etc/ 内的所有文件备份下来并且保存其权限[rootlinux ~]# tar -zxvpf /tmp/etc.tar.gz /etc# 这个 -p 的属性是很重要的尤其是当您要保留原本文件的属性时范例六在 /home 当中比 2005/06/01 新的文件才备份[rootlinux ~]# tar -N 2005/06/01 -zcvf home.tar.gz /home范例七我要备份 /home, /etc 但不要 /home/dmtsai[rootlinux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc范例八将 /etc/ 打包后直接解开在 /tmp 底下而不产生文件[rootlinux ~]# cd /tmp[rootlinux tmp]# tar -cvf - /etc | tar -xvf -# 这个动作有点像是 cp -r /etc /tmp 啦依旧是有其有用途的# 要注意的地方在於输出档变成 - 而输入档也变成 - 又有一个 | 存在# 这分别代表 standard output, standard input 与管线命令啦# 这部分我们会在 Bash shell 时再次提到这个指令跟大家再解释啰gzip, zcat 命令 [rootlinux ~]# gzip [-cdt#] 档名[rootlinux ~]# zcat 档名.gz参数-c 将压缩的资料输出到萤幕上可透过资料流重导向来处理-d 解压缩的参数-t 可以用来检验一个压缩档的一致性看看文件有无错误-# 压缩等级-1 最快但是压缩比最差、-9 最慢但是压缩比最好预设是 -6 范例范例一将 /etc/man.config 複制到 /tmp 并且以 gzip 压缩[rootlinux ~]# cd /tmp[rootlinux tmp]# cp /etc/man.config .[rootlinux tmp]# gzip man.config# 此时 man.config 会变成 man.config.gz 范例二将范例一的文件内容读出来[rootlinux tmp]# zcat man.config.gz# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容范例三将范例一的文件解压缩[rootlinux tmp]# gzip -d man.config.gz范例四将范例三解开的 man.config 用最佳的压缩比压缩并保留原本的文件[rootlinux tmp]# gzip -9 -c man.config man.config.gzbzip2, bzcat 命令 [rootlinux ~]# bzip2 [-cdz] 档名[rootlinux ~]# bzcat 档名.bz2参数-c 将压缩的过程产生的资料输出到萤幕上-d 解压缩的参数-z 压缩的参数-# 与 gzip 同样的都是在计算压缩比的参数 -9 最佳 -1 最快范例范例一将刚刚的 /tmp/man.config 以 bzip2 压缩[rootlinux tmp]# bzip2 -z man.config# 此时 man.config 会变成 man.config.bz2 范例二将范例一的文件内容读出来[rootlinux tmp]# bzcat man.config.bz2# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容范例三将范例一的文件解压缩[rootlinux tmp]# bzip2 -d man.config.bz2范例四将范例三解开的 man.config 用最佳的压缩比压缩并保留原本的文件[rootlinux tmp]# bzip2 -9 -c man.config man.config.bz2compress 命令 [rootlinux ~]# compress [-dcr] 文件或目录参数-d 用来解压缩的参数-r 可以连同目录下的文件也同时给予压缩呢-c 将压缩资料输出成为 standard output (输出到萤幕)范例范例一将 /etc/man.config 複制到 /tmp 并加以压缩[rootlinux ~]# cd /tmp[rootlinux tmp]# cp /etc/man.config .[rootlinux tmp]# compress man.config[rootlinux tmp]# ls -l-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z 范例二将刚刚的压缩档解开[rootlinux tmp]# compress -d man.config.Z范例三将 man.config 压缩成另外一个文件来备份[rootlinux tmp]# compress -c man.config man.config.back.Z[rootlinux tmp]# ll man.config*-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z# 这个 -c 的参数比较有趣他会将压缩过程的资料输出到萤幕上而不是写入成为# file.Z 文件。所以我们可以透过资料流重导向的方法将资料输出成为另一个档名。# 关於资料流重导向我们会在 bash shell 当中详细谈论的啦dd 命令 [rootlinux ~]# dd ifinput_file ofoutptu_file bsblock_size \countnumber参数if 就是 input file 啰也可以是装置喔of 就是 output file 喔也可以是装置bs 规划的一个 block 的大小如果没有设定时预设是 512 bytescount多少个 bs 的意思。范例 范例一将 /etc/passwd 备份到 /tmp/passwd.back 当中[rootlinux ~]# dd if/etc/passwd of/tmp/passwd.back31 records in31 records out[rootlinux ~]# ll /etc/passwd /tmp/passwd.back-rw-r--r-- 1 root root 1746 Aug 25 14:16 /etc/passwd-rw-r--r-- 1 root root 1746 Aug 29 16:57 /tmp/passwd.back# 仔细的看一下我的 /etc/passwd 文件大小为 1746 bytes因为我没有设定 bs # 所以预设是 512 bytes 为一个单位因此上面那个 31 表示有 3 个完整的# 512 bytes以及未满 512 bytes 的另一个 block 的意思啦# 事实上感觉好像是 cp 这个指令啦范例二备份 /dev/hda 的 MBR[rootlinux ~]# dd if/dev/hda of/tmp/mbr.back bs512 count110 records in10 records out# 这就得好好瞭解一下啰我们知道整颗硬盘的 MBR 为 512 bytes# 就是放在硬盘的第一个 sector 啦因此我可以利用这个方式来将# MBR 内的所有资料都纪录下来真的很厉害吧 ^_^范例三将整个 /dev/hda1 partition 备份下来。[rootlinux ~]# dd if/dev/hda1 of/some/path/filenaem# 这个指令很厉害啊将整个 partition 的内容全部备份下来# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊否则怎么读也读不完# 这个动作是很有效用的如果改天你必须要完整的将整个 partition 的内容填回去# 则可以利用 dd if/some/file of/dev/hda1 来将资料写入到硬盘当中。# 如果想要整个硬盘备份的话就类似 Norton 的 ghost 软体一般# 由 disk 到 disk 嘿嘿利用 dd 就可以啦厉害厉害cpio 命令 [rootlinux ~]# cpio -covB [file|device] 备份[rootlinux ~]# cpio -icduv [file|device] 还原参数-o 将资料 copy 输出到文件或装置上-i 将资料自文件或装置 copy 出来系统当中-t 查看 cpio 建立的文件或装置的内容-c 一种较新的 portable format 方式储存-v 让储存的过程中文件名称可以在萤幕上显示-B 让预设的 Blocks 可以增加至 5120 bytes 预设是 512 bytes 这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)-d 自动建立目录由於 cpio 的内容可能不是在同一个目录内如此的话在反备份的过程会有问题 这个时候加上 -d 的话就可以自动的将需要的目录建立起来了-u 自动的将较新的文件覆盖较旧的文件范例范例一将所有系统上的资料通通写入磁带机内[rootlinux ~]# find / -print | cpio -covB /dev/st0# 一般来说使用 SCSI 介面的磁带机代号是 /dev/st0 喔 范例二检查磁带机上面有什么文件[rootlinux ~]# cpio -icdvt /dev/st0[rootlinux ~]# cpio -icdvt /dev/st0 /tmp/content# 第一个动作当中会将磁带机内的档名列出到萤幕上面而我们可以透过第二个动作# 将所有的档名通通纪录到 /tmp/content 文件去范例三将磁带上的资料还原回来[rootlinux ~]# cpio -icduv /dev/st0# 一般来说使用 SCSI 介面的磁带机代号是 /dev/st0 喔范例四将 /etc 底下的所有『文件』都备份到 /root/etc.cpio 中[rootlinux ~]# find /etc -type f | cpio -o /root/etc.cpio# 这样就能够备份啰您也可以将资料以 cpio -i /root/etc.cpio# 来将资料捉出来 转载于:https://blog.51cto.com/zlfwmm/1610378