文件压缩

tar压缩当前文件夹中所有文件

tar czvf my.tar file1 file2,...

例如压缩所有jpg与txt文件

tar czvf my.tar.gz *.jpg *.txt

/bin/tar: Argument list too long问题

如果超过了3W个文件,会报这个错误。解决方式:

find . -name '*.txt' -print >/tmp/test.manifest
tar -cvzf textfiles.tar.gz --files-from /tmp/test.manifest

将文件解压到指定目录

使用-C—directory参数,例如

tar -xf archive.tar -C /target/directory

注意这个目录必须已存在,如果不存在,使用mkdir /target/directory命令创建。

zip压缩命令

zip -r test.zip *

  • 将当前文件夹下和子目录内容都压缩到test.zip。

zip test.zip *

  • 将当前文件夹下所有文件打包到test.zip中,test.zip将会生成在当前文件夹下。生成的包中不包含子文件夹内容。

zip压缩时默认指定密码

zip.sh:

# 用户输入zip xxx.png,将其加密后生成xxx.png.zip


FILENAME=$1
zip --password vqHjQOOu "$FILENAME".zip "$FILENAME"

unzip.sh:

FILENAME=$1
unzip -P vqHjQOOu $FILENAME

alias:

alias zip="/Documents/zip.sh"
alias unzip="/Documents/unzip.sh"