Linux|Linux新手入门系列:踩坑记录之Linux分卷解压缩失败问题

Linux|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新手入门系列:踩坑记录之Linux分卷解压缩失败问题】IT小胖豆:初学者踩坑之路及过程分享 , 希望能够帮到一些初学者 , 欢迎各位IT打工人 , 入坑