当前位置: 技术问答>linux和unix
关于shell脚本的tar命令“-”,表示神马意思。。。。呼叫大神驾到
来源: 互联网 发布时间:2017-03-22
本文导语: 1 #! /bin/bash 2 3 A="/root/tmp/test2" 4 B="/root/tmp/test4" 5 6 cd $A 7 tar cvf - . | tar xvf - -C $B 这个脚本实现的把A目录下的所有内容拷贝到B的目录下。 但是,我的问题是: tar cvf - . 或者tar xvf - ...
1 #! /bin/bash
2
3 A="/root/tmp/test2"
4 B="/root/tmp/test4"
5
6 cd $A
7 tar cvf - . | tar xvf - -C $B
这个脚本实现的把A目录下的所有内容拷贝到B的目录下。
但是,我的问题是:
tar cvf - . 或者tar xvf - -C $B中的“-”表示神马意思?
我不要“-”的话,也就是tar cvf . | tar xvf -C $B会报错的。
嗯~~我自己怀疑是临时文件,,,但是找不到根据,,,
求大神驾到啊~~~~
2
3 A="/root/tmp/test2"
4 B="/root/tmp/test4"
5
6 cd $A
7 tar cvf - . | tar xvf - -C $B
这个脚本实现的把A目录下的所有内容拷贝到B的目录下。
但是,我的问题是:
tar cvf - . 或者tar xvf - -C $B中的“-”表示神马意思?
我不要“-”的话,也就是tar cvf . | tar xvf -C $B会报错的。
嗯~~我自己怀疑是临时文件,,,但是找不到根据,,,
求大神驾到啊~~~~
|
##参考来源:
1. The dash "-" represents standard input. dash表示标准输入设备.
http://www.abbeyworkshop.com/howto/unix/nix_gtar/index.html
2.
If the name of the file is - (dash), tar writes to standard output or reads
from standard input, whichever is appropriate. Thus, tar can be used
as the head or tail of a filter chain. The tar utility can also be
used to move hierarchies with the command:
cd fromdir; tar cf - . | (cd todir; tar xpf -)
http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN1/0153____.HTM
##理解:
1. tar cvf - . 表示把当前文件夹(.)下的内创建(c)一个包,包名(f)为标准输入设备
2. | 管道只能从标准输入设备中输入数据(所以上面要创建文件到标准输入设备)[注1]
3. tar xvf -C $B 再转到(C) $B 目录,从标准输入设备(-)中解包(x)出(原来的)文件.
##注:
1. 看看UNIX痛恨者手册会了解Linux的一些限制和不爽的地方.
1. The dash "-" represents standard input. dash表示标准输入设备.
http://www.abbeyworkshop.com/howto/unix/nix_gtar/index.html
2.
If the name of the file is - (dash), tar writes to standard output or reads
from standard input, whichever is appropriate. Thus, tar can be used
as the head or tail of a filter chain. The tar utility can also be
used to move hierarchies with the command:
cd fromdir; tar cf - . | (cd todir; tar xpf -)
http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/V51B_HTML/MAN/MAN1/0153____.HTM
##理解:
1. tar cvf - . 表示把当前文件夹(.)下的内创建(c)一个包,包名(f)为标准输入设备
2. | 管道只能从标准输入设备中输入数据(所以上面要创建文件到标准输入设备)[注1]
3. tar xvf -C $B 再转到(C) $B 目录,从标准输入设备(-)中解包(x)出(原来的)文件.
##注:
1. 看看UNIX痛恨者手册会了解Linux的一些限制和不爽的地方.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。