在 Linux 中,我可以通过以下工作目录压缩所有文件(隐藏文件除外) :
zip 1.zip *
但是如何包含隐藏文件呢?
EDIT: The correct way is zip -r 1.zip .
zip -r 1.zip .
The commands shown in my previous answer below are incorrect because they also include the parent directory.
Have you tried this:
zip yourfile.zip sourcedir/* .*
or you in your case
zip 1.zip * .[^.]*
It should include all hidden files also.
Just to be sure it is not forgotten since this is a forum for developers and a good number of us use git.
An easy way to get only what you want in the zip is to use git archive -o filename.zip branch
git archive -o filename.zip branch
If you want to zip all files (+hidden files) Kindly using: zip -r namefiles.zip . The "." is all files in folder.
zip -r namefiles.zip "folder will zip"
Or you can add more simple
zip 1.zip ./
if you don't have rights to save zip file in current dir you can go to dir where you have rights and type
zip -r 1.zip /path/to/source/dir/.
However when if in .../some_dir you type
.../some_dir
unzip 1.zip
then your files will be decompress into .../some_dir/path/to/source/dir/
.../some_dir/path/to/source/dir/
On macOS 10.15.7 I had to separatelly add all dot leading files (\.*) and rest of the files (*):
\.*
*
zip -r file.zip \.* *
If you'd like to save some subdirectory of the current directory recursively with hidden and regular files just type
$ zip -r backup_subdirectory.zip backup_subdirectory/. backup-subdirectory/*
And for unzipping:
$ unzip backup_subdirectory.zip
Or even simpler by using tar for creating an archive:
tar
$ tar czvf backup_subdirectory.tar.gz backup_subdirectory/
And for extracting all files from the archive:
$ tar xzvf backup_subdirectory.tar.gz
zip -r 1.zip .* -x "../*"
Just doing zip -r 1.zip .* will include the parent folder as well so the trick is to exclude the parent folder using -x "../*"
zip -r 1.zip .*
-x "../*"