|
小弟最近刚学linux - -遇到一个小问题 还请各位大侠帮忙解决
- - 这个问题我翻阅了很多资料 但是都没办法解决 无奈只好来论坛求助
在linux上安装mysql的时候遇到这么一个命令
shell> gunzip < mysql.tar.gz | tar -xvf -
这命令的意思是 gunzip解压mysql.tar.gz 解压后的编码直接显示到控制台上 而且不对原压缩包进行任何改动 并且把gunzip < mysql.tar.gz 输出作为 tar -xvf -的输入对该编码进行解压包操作
- - 我的语言表达能力有点差劲 还请见谅
一开始我不明白 gunzip < mysql.tar.gz的含义 就单独在控制台运行了一次 得到得结果是一些莫名其妙的数字 经过对比我发现和gunzip -c mysql.tar.gz的结果是一样的(我不知道他们的工作流程是
否相同)然后我把gunzip -c mysql.tar.gz输出重定向一下 得到一个文件 这个文件是一个解压后的包 可以用tar解包
而tar -xvf -的含义是把标准输出作为操作对象来进行解包
- - 以上内容我说的没有错吧
问题1:标准输入的作用是用来干嘛的?标准输出又是用来干嘛的?(也就是他们的作用)
问题2: 为什么 gunzip mysql.tar.gz和gunzip < mysql.tar.gz 的执行结果是不一样的?
问题3: gunzip < mysql.tar.gz 的标准输入被重定向为mysql.tar.gz
gunzip是通过mysql.tar.gz这个文件名寻找到文件的 对吗? 为什么解压后的数据被作为标准输出直接显示到屏幕上了?而不是像gunzip mysql.tar.gz那样什么也不显示?
问题4: gunzip mysql.tar.gz 的标准输出结果也是显示到屏幕的是这样吗? 只不过他的输出内容为空对吗?
问题5:tar -xvf -的含义是把标准输出作为操作对象来进行解包 为什么他直接能对解压后的编码进行操作? 在问题3中gunzip < mysql.tar.gz gunzip通过mysql.tar.gz查找到操作对象 然后再对操
作对象进行解压 这是两个步骤 而tar -xvf -直接就对编码进行操作 这是一个步骤 为什么同样是从标准输入来定位操作对象 步骤却有差别? |
|