Linux怎么使用压缩和解压到指定目录的命令?

LINUX怎么把一个文件夹压缩成zip_Linux使用zip命令压缩目录方法

你好,当我第一次接触 Linux 时,我已经使用这个 zip 命令很长时间了。
让我告诉你我遇到的陷阱,以确保它实用。

记得有一年,我在帮同事迁移数据,他让我压缩一个非常大的项目包并发给他。
该包必须有十多GB,包含一堆代码、文档和各种日志文件。
我的手在颤抖,我只是压缩了 myproject.zip myproject 并开始工作。
结果呢?当我派人解压时,它崩溃了,说文件太大。
我一看,哦,我就打到了最上面的目录,没有再进去。
对于 Linux,您必须使用 -r。

还有一次,在服务器上打包备份时,打包中不能包含日志文件,否则会浪费太多流量,占用空间。
我只是使用 -x 来排除。
结果,我完全忘记了/var/log。
打包后发现包裹比想象中大了一倍!幸好发现得及时,不然就真的麻烦了。
这个通配符必须用引号括起来,否则 shell 会先帮你解析它,造成混乱。
例如zip -x ".log" ".tmp",如果写成zip -x ".log .tmp",嗨,它只能排除找到第一个.log之后的.tmp。
注意。

如果系统中没有zip,则需要先安装。
我在旧的 CentOS 系统上使用 yum install zip,安装速度超级快。
后来,在新系统上,我发现必须使用dnf,它类似于yum,可以安装。

有时,如果您想查看压缩后的内容,但又不想先解压,只需使用 unzip -l 即可。
这个命令非常方便。
比如我上次压缩了一个包后,想看看有没有丢失的文件,我直接解压 -l mybackup.zip 就立刻看到了里面的文件列表和大小,省去了打开解压软件查找的麻烦。

压缩时,还需要注意效率。
如果文件较多或文件较大,压缩速度会很慢。
我一般喜欢用-9 ,压缩比高。
虽然慢,但是省事。
如果你很赶时间,请使用 -q 安静模式,不显示进度,只知道你在做什么。

一般来说,使用zip命令时,打包和传输会方便很多。
关键是不要错过 -r,不要忘记对 -x 使用引号,并且不要安装错误的包管理器。
这些我都给你踩好了,赶紧用起来吧!

将Linux中的文件夹打包成zip然后传到物理机中

说实话,以前在Linux和Windows之间传输文件时,最头疼的就是格式兼容问题。
后来我发现zip打包已经成为一项必备技能。
下面我就给大家讲讲我常用的几种方法,都是我经历过坑之后总结出来的。

我们先来说一下包装步骤。
我有一个习惯,在打包项目代码时总是使用 zip -r -q 。
静音模式省去了很多麻烦。
你想一想,如果减压窗口接二连三地弹出,那可就耽误了不少事情。
但有时我需要备份整个网站,所以我使用zip -r -m,压缩后直接删除源文件,以避免手动清理。
当服务器空间有限时,此技巧特别有用,但您必须在使用它之前确保您确实不需要那么多空间。

我把传输方式分为三种,每种都有自己的优点。
sz命令是我使用的第一个命令,配合Xshell使用非常好用。
我记得有一次上传了一个3 G的日志文件。
使用sz时,进度条是实时的,我可以看到每一步。
然而,我最近发现了一个问题。
sz对中文路径特别不友好,经常会出现乱码。
这时候就得靠SCP了,这东西稳定得就像老朋友一样。
我习惯在传输前通过 scp -i /path/to/keyfile 指定一个无密钥密钥,这样就不用每次都输入密码了。
比如我想转移到1 9 2 .1 6 8 .1 .1 00的用户test主目录,我就写scp -i ~/.ssh/id_rsa myfolder.zip test@1 9 2 .1 6 8 .1 .1 00:/home/test/。

SFTP通常用于更改文件。
例如,如果服务器上有一个配置文件需要修改,我会使用sftp来连接它。
get config.txt 会下载到本地电脑进行修改,然后 put config.txt 修改后会上传回来。
这个交互操作比scp方便很多。

验证传输时有一个小技巧。
在Windows上,我习惯使用dir /s myfolder.zip来确认完整路径中是否有这个文件。
在 Linux 上,我使用 ls -lh /home/test/。
文件大小和修改时间必须与源文件匹配。
有一次,因为scp传输时权限被设置为只读,所以当我改文件的时候,发现写不进去,真是哭笑不得。

最后,我们来说说一些琐事。
压缩级别实际上会影响传输速度。
我测试过 zip -0 速度最快,但压缩比最低; zip -9 最慢,但可以节省空间。
一般我使用zip -6 来寻找速度和压缩比之间的平衡。
我记得有一次我用zip -9 来传输系统镜像,但是传输花了整整3 个小时。
这是一个深刻的教训。

事实上,如果你经常使用这些方法,你就会习惯它们。
我现在正在传输文件,根据需要使用 sz、scp 和 sftp,并使用 rsync 进行增量备份。
它们的组合非常有效。
当你第一次使用它时,你可能会觉得它很麻烦,但是一旦习惯了它,你就会发现它有多么方便。