如何压缩 Shell 脚本文件内的文件?

如何压缩 Shell 脚本文件内的文件?

我在终端中执行一个 .sh 文件时,它会提取 sh 文件内的一些 jar 文件,如何创建这样的 sh 文件?我无法在普通 gedit 中打开该 sh 文件来检查内容。有什么办法吗?

答案1

使用莎尔用于 Shell 档案

使用创建 shell 档案莎尔公用事业。 例如:

# Create some fixture data to archive.
cd /tmp
mkdir -p foo/bar/baz
touch foo/bar/baz/quux

# Create the shell archive.
find foo/ -exec shar {} + > quux.sh

# Remove fixture data.
rm -rf foo/

# Extract archive to recreate directories and files.
sh quux.sh

您可以使用 验证这是否重新创建了您的数据ls -R foo。此外,如果您检查quux.sh,你会发现它由一系列简单的 shell 命令组成。如果需要,你可以将这些命令直接插入另一个 shell 脚本中,或者从另一个脚本调用存档来解压它。

注意事项

BSD 版本的莎尔macOS 上没有单独的编码步骤,无法处理二进制数据,而 GNU 版本有各种编码选项可供使用。如果你的 shar 版本不支持二进制编码,你最好使用更强大的存档选项,例如柏油。 你的旅费可能会改变。

答案2

要压缩文件或一组文件,您可以使用gzipUNIX 中的命令。

要压缩单个文件,请使用:-

$ gzip filename 

它将创建一个名为 的文件filename.gz
要压缩文件夹,请先创建一个.tar文件,然后将其压缩。
让文件夹的名称为shell

要创建.tar文件,请使用:-

$ tar cvf filename.tar shell/.

它将创建一个名为filename.tar

现在使用

$ gzip filename.tar 

它将创建一个名为的文件filename.tar.gz
因此,您可以通过这种方式压缩文件。

注意:要解压缩文件,您可以使用gunzip命令。

相关内容