是否可以,如何从Linux Shell中压缩符号链接?

#1 楼

您可以使用标准--symlinkszip参数将符号链接存储为符号链接(与其指向的文件/目录的副本相反)。

假设foo是一个包含符号链接的目录:

zip --symlinks -r foo.zip foo/



rar a -ol foo.rar foo/


tar默认存储它们。

tar czpvf foo.tgz foo/


请注意,符号链接本身几乎不占用任何磁盘空间(只是一个inode)。您可能知道,这只是文件系统中的一种指针。

评论


我无法使用tar,但是--symlinks无法与zip一起使用。您确定这是默认的zip包吗?

–DucDigital
2011年5月3日,3:33



您有哪个发行版?版权所有(c)1990-2008 Info-ZIP-键入“ zip“ -L”'作为软件许可证。邮编3.0(2008年7月5日)。您可以改用rar吗?请参见添加的示例。

– Eduardo Ivanec
2011年5月3日,3:39



版权所有(c)1990-2006 Info-ZIP。版权所有。这可能是因为Zip 2.32。我会尝试rar

–DucDigital
2011年5月3日,下午4:03

分裂头发,但是从技术上讲,符号链接确实占用了磁盘空间,并占用了索引节点。

–ttyS0
2011年5月3日,下午4:06

诚然。实际上,从我过去阅读的内容来看,它们甚至更像包含指向目标文件/目录路径的常规文件。现在,如果我没记错的话,它们只是一种特殊的inode。

– Eduardo Ivanec
2011年5月3日下午4:13

#2 楼

在RHEL 5上,我们有

$ zip -h
Copyright (C) 1990-2005 Info-ZIP
Type 'zip "-L"' for software license.
Zip 2.31 (March 8th 2005). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
(snip)
  -y   store symbolic links as the link instead of the referenced file


评论


与OpenSUSE Leap相同。所以确实是zip -y -r foo.zip foo /。

–David Faure
19年6月12日在13:33