这可能吗?我怎样才能从 Linux Shell 压缩符号链接?
答案1
您可以使用程序的--symlinks
或参数将符号链接存储为符号链接(而不是它们指向的文件/目录的副本)。-y
zip
假设foo
是一个包含符号链接的目录:
zip --symlinks -r foo.zip foo/
# or
zip -y -r foo.zip foo/
使用哪个标志取决于您的 版本zip
;较新的版本可能同时支持这两个标志。检查zip --help
或man zip
以找到适合您情况的正确标志。
Rar 等效项:
rar a -ol foo.rar foo/
tar
默认情况下按原样存储它们。
tar czpvf foo.tgz foo/
请注意,符号链接本身几乎不占用任何磁盘空间(仅占用一个 inode)。您可能知道,它只是文件系统中的一种指针。
答案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