没有特定目录的 Tar 内容

没有特定目录的 Tar 内容

我有一个 magento 安装,我想将其打包成 tar。有些人可能已经知道,在 Magento 安装的根目录中有一个名为“media”的目录。这是存储所有产品图像的目录。

我想打包整个 Magento 安装,但不打包此目录。因为开发时不需要这个目录,只有在实时服务器上才需要。

我曾使用过 tar 的 --exclude 选项,但是,这会排除所有名为“media”的目录。我只想跳过根目录中的子目录 media。

我想要 tar 的示例根目录:

/app /app/media -> 我不想排除这个 /lib /js /media -> 我想排除这个 /skin ...etc

通常我使用 tar -pcvzf filename.tar . 来压缩整个目录。使用什么命令来排除根媒体目录?

答案1

您想在 --exclude 正则表达式中使用锚点来限制模式匹配。如果您这样做

tar -pcvzf filename.tgz --exclude "^media" .

这将排除 ./media,但不会排除 ./app/media。模式开头的“^”

答案2

看这里:https://stackoverflow.com/questions/984204/shell-command-to-tar-directory-clusion-certain-files-folders

简而言之,您可以排除目录的完整路径,如下所示:

tar -pcvzf file.tar.gz --exclude=/media

相关内容