什么的gzip相当于以下命令:
解压gzip文件到指定的目录
tar xvzf /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
我想
gzip -d /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
,但它不工作,我该怎么做,用gzip ?
什么的gzip相当于以下命令:
解压gzip文件到指定的目录
tar xvzf /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
我想
gzip -d /usr/local/file/file/file.tar.gz -C /usr/local/extract_here
,但它不工作,我该怎么做,用gzip ?
鉴于你有一个.tar.gz文件,你试过第一种方式,与-C选项,将工作得很好:
tar xvzf /dir/to/file.tar.gz -C /dir/to/output/
tar
调用gzip来解压缩,然后从tar流中提取文件。 gzip
只能解压缩,所以gunzip file.tar.gz
会随解压的file.tar
一起离开,然后您需要tar xvf file.tar
。 tar
的z
选项只是一个简单的快捷方式,可以在解压缩文件的同时使用gzip进行解压缩。
如果您只想将.gz文件(而不是提取.tar.gz文件)解压缩到其他目录,只需将其放在那里。例如。 gzip -dc <file.gz> /somewhere/file
。
为了保护不GZIP压缩.tar文件,我用这样的线具有良好的效果:
cat file_to_uncompress.tar.gz | gzip -d > /destination_directory/packet_uncompressed.tar
这在某些情况下,管理包一个有用而直观的形式。
cd /mydir_with_gz_files
for i in *gz
do
gzip -dkc < $i > /my_destination_dir/${i%%.gz}
done
此语法用于提取包含在/mydir_with_gz_files
多个*.gz
文件到不同的目录。
1)在此使用-k
选项,因为否则gzip将不会保留存档本身。好记!
2)我也想强调那些给出正确答案似乎很明显的东西,但对我和问题的作者来说不是这样:gzip不会将文件提取到不同的DIRECTORY中,但会期望得到的未压缩文件也要指定NAME。
这是由$i > ${i%%.gz}
庆典parameter substitution这条像它的“.gz
”后缀“file.gz
”的名称在这里实现。使用其他shell的语法将会不同(如果可能的话)。
如果你想移动问题到一个不同的SX平台,我相信这是一个过程 – mit