前言

tar打包对于服务器端运维来说是个非常重要的命令,因为很多数据备份都需要先打包,然后在scp或者rsync传送,这里介绍tar的基本命令,方便自己回顾

man tar

linux下学习什么命令都需要先man一下,只有好处没有坏处!


选项

  • -c : 建立新的归档文件
  • -x :  从归档文件中解出文件
  • -v :  处理过程中输出相关信息
  • -z :  调用gzip来压缩归档,与-x连用时调用gzip完成解压缩
  • -f  :  use archive file or device ARCHIVE
  • -C :  change to directory DIR,解压时用于指定解压目录

示例


(1)压缩文件



(2)指定目录,解压缩





tar与openssl加密解密打包文件

很多时候我们可能需要将压缩后文件上传到云主机服务器,这时就涉及到隐私问题,需要加密传输了,tar和openssl的结合可以帮我们解决这个问题

当前目录下有个code.c文件:



tar对文件加密

tar -czf - code.c | openssl des3 -salt -k password | dd of=code.des3

code.c:替换你需要压缩的文件名或目录名
password:替换为你需要设置的密码

图示:



得到一个code.des3的打包文件,打包密码为password

tar对加密文件解压

dd if=code.des3 | openssl des3 -d -k password | tar -zxf  - -C ./

图示:




tar和split分割打包文件

有时候就算用到tar压缩,可能压缩后的文件还是会很大,例如几百m等等,碰上对单个文件有大小限制的系统,就需要对tar打包后的文件进行分割,切分成合适的大小。例如,我在用有拍云做云存储的时候,发现它对单个文件有大小不超过100m的限制,而我的上传文件的平均大小为150m左右,这时我就需要用到sqlit做分割

图示,限制压缩文件最大为20m




split用法

主要参数:

-b:SIZE 指定每个文件的大小,其单位可以为b(512字节)、k(1K)、m(1M) 
-d:使用数字而不是字母作为后缀名 
-a:指定后缀名的长度,默认为2位 

命令:
split -b 20m -a 2 movie.tar.gz movie.tar.gz.

注意:
文件名后面我加了一个“.”,方便做区分,还是很有好处的

截图:


恢复:
cat命令即可,不做讲解了,和tar合用时采用管道符

参考链接


GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐