У меня есть веб-приложение в этом пути
var/app/current
Я использую эту команду для архивирования всего включая скрытые файлы как htaccess
zip -r yourfile.zip * .*
Это генерирует заархивированный файл, который содержит файлы веб-приложения и папки в дополнение к папке, названной текущей, который содержит другую копию файлов веб-приложения и папок.
Как я могу сжать файлы веб-приложения и папки включая скрытые файлы без включения каталога, названного 'текущим' как дубликат.
Вы не можете использовать .*
, потому что тот шарик оболочки будет также соответствовать .
и ..
(текущий и родительский каталог), вызывая поведение Вы описали.
Но это не необходимо так или иначе, можно просто использовать zip -r
опция самостоятельно. Позвольте мне заключить страницу руководства в кавычки man zip
:
-r
--recurse-paths
Travel the directory structure recursively; for example:
zip -r foo.zip foo
or more concisely
zip -r foo foo
In this case, all the files and directories in foo are saved in
a zip archive named foo.zip, including files with names starting
with ".", since the recursion does not use the shell's file-name
substitution mechanism. If you wish to include only a specific
subset of the files in directory foo and its subdirectories, use
the -i option to specify the pattern of files to be included.
You should not use -r with the name ".*", since that matches
".." which will attempt to zip up the parent directory (proba‐
bly not what was intended).
Multiple source directories are allowed as in
zip -r foo foo1 foo2
which first zips up foo1 and then foo2, going down each direc‐
tory.
[...]
Таким образом, Вы просто указываете папку, как которая Вы хотите архивировать:
zip -r yourfile.zip /var/app/current
Или если Ваш текущий каталог уже /var/app/current
, просто:
zip -r yourfile.zip .