linux中各类解压命令(踩坑记录之Linux分卷解压缩失败问题)

本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。

注意:

Linux下区分大小写;Linux多用户多线程;Linux下每个文件和目录都有访问权限;

踩坑记录之Linux分卷解压缩失败问题

环境:虚拟化服务器、CentOS 7、cat、tar#cat合并后文件大于源文件#、#cat合并后文件变大#、#cat合并文件#、#tar解压缩分卷文件失败#、#分卷解压缩失败#、#分卷解压缩#

1.问题描述

因为源文件总量过大且碎小,为了加快传输速度,通过tar、split分卷压缩后的文件pic00-04,在另一台服务器上解压缩时,出现cat合并后的文件大于源分卷压缩文件,即分卷压缩文件pic00-04为700M、700M、700M、700M、200M,合并后,pic.tar.gz为6000M,几乎是源文件的2倍大小,最终使用tar解压缩pic.tar.gz失败,出现错误信息。

# cat pc* > pic.tar.gz #合并分卷带下文件 # tar xvzf pic.tar.gz #解压合并后的文件 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now

2.问题结论

先说结论,折腾了好久,最后发现是命令别名的原因,气的不行。在新建虚拟机服务器时执行了脚本含有#alias cat='cat -v’内容,即将cat -v定义成了cat,执行cat时自带-v参数,平时用cat查看文件,也没啥问题,但是对合并文件产生无法描述的错误,极其坑。咱也搞不懂为啥会用这么坑、这么不规范的别名,整个不一样的也行啊,如ll=‘ls -lt’、cv=‘cat -v’。

3.问题解决过程

(1)最初一直怀疑tar程序有问题,重新虚拟化N多机器,测试过都可以,就我使用的那台服务器不行。(2)后来在测试过程中发现了cat前后文件大小不一致的情况,即合并后的文件大于源分卷压缩文件,把问题定位于cat命令问题。(3)再后来经过多次测试,发现重启完服务器后,就会出现上述问题,不是我那台服务器的特例。(4)然后开始检查history,查看虚拟机都执行过哪些命令,发现了y_cat.sh脚本,内容为alias cat=‘cat -v’,在重启时会执行该脚本。

# history

(5)查看所有命令别名

# alias

发现alias cat=‘cat -v’,当时还不确定是不是-v参数引起的问题,决定去掉试一试(6)删除别名

# unalias cat

(7)重新执行cat合并,tar解压,正常,泪奔,蛋疼的无意义、不规范命令别名。最后移除y_cat.sh脚本,确保再次重启时不执行。

linux中各类解压命令(踩坑记录之Linux分卷解压缩失败问题)(1)

IT小胖豆:初学者踩坑之路及过程分享,希望能够帮到一些初学者,欢迎各位IT打工人,入坑讨论-_-

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页