Tri*_*ash 11 linux compression shell
在 linux 命令行中,您可以通过以下方式压缩文件:
zip -mqj archive.zip file.txt
Run Code Online (Sandbox Code Playgroud)
现在,我需要将 'file.txt' 存储为 'archive.zip' 中的 'file2.txt',而不需要在压缩前重命名文件。解压缩后,该文件应命名为“file2.txt”。
如何使用不同的名称存储文件?通读 MAN 页面并没有找到答案。
小智 10
下面的解决方案是@mkrnr在 stackoverflow上的答案的精确副本
您可以使用 zipnote,它应该随 zip 包一起提供。
首先使用 myfile.txt 文件构建 zip 存档:
zip archive.zip myfile.txt
Run Code Online (Sandbox Code Playgroud)
然后将 zip 存档中的 myfile.txt 重命名为:
printf "@ myfile.txt\n@=myfile2.txt\n" | zipnote -w archive.zip
Run Code Online (Sandbox Code Playgroud)
(感谢Jens的建议printf
而不是echo -e
。)
的简短解释"@ myfile.txt\n@=myfile2.txt\n"
:
From zipnote -h
: "@name" 后面可以跟一个 "@=newname" 行来改变名字
并将\n
两个命令分开。
创建指向 file.txt 的硬链接是否有效?
ln file.txt file2.txt
创建 file2.txt ,它指向与 file.txt 完全相同的 inode,但实际上没有加倍空间