tar的一个小问题

昨天在使用tar解包时遇到了一个小问题,详细情况是这样的
我用debian自带的ftp下载了一个tar.gz包 fvwm.tar.gz
然后输入tar -zxvf fvwm.tar.gz 结果出现错误提示
tar: Error is not recoverable: exiting   now
tar: Child returned status 2
tar: Error exit delayed from previous errors
我以为是这个包出问题了,就又用ftp下了一个fvwm.tar.bz2的压缩包试了一下 依然出错,而且最上边又多了一行
tar: bzip2: Cannot exec: No such file or directory
以为是权限不够 ,就切换到超级管理员,还是相同的错误提示
向google大哥提问好久但给的答案都不正确,问题依旧
后来,在不起眼的某个角落里看到了某为仁兄的提示,”开启ftp的bin模式”
于是
重新下载,不同的是在get fvwm.tar.gz前,先输入bin
下载成功后,重新 tar -zxvf tvwm.tar.gz 成功解压
为什么会这样的,简单的说,就是当我们用ftp传输数据时,它默认的模式是ascii, 在传输结束时会改变文件的结束符(不同的操作系统结束符不同),这可能倒致了tar对压缩包的无法识别. 而当使用bin模式时, 它不对文件作任何改变,直接将文件以二进制形式原封不动的传过来. 所以就没问题了…
第二个问题就简单了,原因是少一个bzip2软件包 直接 apt-get install bzip2 就解决了.

另外对于tar.bz2的解压应该是tar -jxvf *.tar.bz2
这里解释一下参数
-j表示要处理tar.bz2包(以bzip2压缩) 如果是z 就是处理tar.gz包(以gzip压缩)
-x表示是解压 应该是extract的第二个字母吧(不知道为啥不是第一个) 如果是-c(create)的话就是创建压缩包的
-v表示解压的过程显示文件, visible
-f表示处理文档, files, 这个参数一定要放在后面, 并跟上文件名. 如果这样写 tar -jxfv *.tar.bz2是不对的

最近看了一个关于linux的记录片, revolutionary os,很好看!

把fvwm也卸了,他太强大,太灵活了,以至于对我这样的linux newbie来说用好他是很困难的(把桌面弄的丑陋无比). 换上了fluxbox, 这个绝对不错,资源消耗一样少,一样具有很高的可定制性,默认桌面也很简洁,清爽,没有多余的乱七八糟的东西.这正是我想要的 哈哈.  那个小不点damnsmalllinux(真他妈小)用的就是它.

Related

Leave a comment

Your comment