我为linux 64位下载了二进制文件,我正在学习几个教程,每个教程都有类似的选项:
tar -C /usr/local --strip-components 1 -xzf /path/to/node.tar.gz
我总是收到这个错误:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
我用google搜索了,似乎我已经通过其中一个开关手动指定了gzip文件格式。文件实际上是tar.xz
,而不是tar.gz
。在旧版本中可能是tar.gz
。
我想知道所有这些选项意味着什么,我需要哪些? 是否有自动检测格式选项?
这就是运行info tar
所说的:
-C, --directory DIR
change to directory DIR
--strip-components=NUMBER
strip NUMBER leading components from file names on extraction
-x, --extract, --get
extract files from an archive
-z, --gzip, --gunzip --ungzip
-f, --file ARCHIVE
use archive file or device ARCHIVE
我不了解选项-f
,--strip-components
。
-f
- 除文件外还有什么其他内容?什么是"设备存档"?
--strip-components
- --strip-components 1
在这里做了什么?
我在文件中看不到任何数字。
请提供受--strip-components
影响的文件名示例并解释如何。
在linux上安装nodejs的想法是什么?
只需解压缩到/usr/local
或还需要做什么?
答案 0 :(得分:1)
首先,tar
足够智能,可以检测存档中使用的压缩方法,因此无需指定-z或-j。
-f - 除文件外还能做什么?什么是“设备存档”?
设备存档可以是在/ dev / your_tar
中附加到您计算机的磁带存档- strip-components - --strip-components 1究竟做什么
tar xfz /var/www/site/site.gz --strip-components=2
将创建/ var / site。