tar打包给你!
做玄机打包服务器源码有点麻烦,所以今天来介绍一下tar打包,scp下载等命令及参数,只用不理解感觉有个疙瘩
全是干货,没点茶水看不下去了哈哈哈哈哈
# 扩展名.tar.gz
tar 通常用于将多个文件和目录打包成一个归档文件,称为 "tarball"(通常带有 .tar 扩展名)。
tar 本身不压缩文件,但可以与压缩工具(如 gzip 或 bzip2)结合使用,创建压缩的归档文件(如 .tar.gz 或 .tar.bz2)
所以常见打包文件两个扩展名.tar.gz
?
# 打包、压缩
什么是打包?
打包的作用是把多个文件或目录放在一个归档文件里,类似于把东西装进一个箱子里。这不就是我理解的压缩吗
打包前:
file1.txt
file2.txt
dir1/
2
3
打包后:
archive.tar (这个文件包含了 file1.txt、file2.txt 和 dir1/)
多个文件,目录,打包成一个文件archive.tar
。需要时可以打开,叫做解包
什么是压缩?
压缩是对文件进行大小缩减,通过特定算法减少文件占用的存储空间。原来这才是压缩
压缩前:
archive.tar (大小可能是 100 MB)
压缩后:
archive.tar.gz (大小可能是 50 MB,文件更小了)
压缩的目的是为了节省空间
拷打gpt
- 打包:像把文件装进一个箱子,方便携带
- 压缩:像把箱子里的空气抽掉,让箱子更小
tar命令可以使用参数来压缩文件,-z
参数gzip压缩、-j
参数bzip2压缩
winrar支持tar文件,双击可以直接像压缩包一样解包
# tar命令
tar命令常用参数:
-c
:Create
创建一个新的打包文件
tar -cvf archive.tar file1.txt file2.txt
作用:将 file1.txt
和 file2.txt
打包到 archive.tar
中
-x
:Extract
对tar文件解包
tar -xvf archive.tar
作用:解包 archive.tar
提取到当前目录
-v
:View
显示详细操作过程,让用户看到哪些文件正在被处理
-f
:File
指定打包文件名
tar -cvf archive.tar file1.txt
作用:将 file1.txt
打包成 archive.tar
-z
:gzip
使用 gzip
对归档文件进行压缩
tar -czvf archive.tar.gz file1.txt
作用:打包 file1.txt
并用 gzip
压缩成 archive.tar.gz
-j
:bzip2
使用 bzip2
对归档文件进行压缩
tar -cjvf archive.tar.bz2 file1.txt
作用:打包 file1.txt
并用 bzip2
压缩成 archive.tar.bz2
-t
:List
列出归档文件的内容
tar -tvf archive.tar
作用:只查看 archive.tar
中的内容,不提取文件
-C
:Change Directory
指定解包或操作时切换到的目录
tar -xvf archive.tar -C /tmp
作用:将归档文件的内容提取到 /tmp
目录
wow,理解好多了
# tar命令常用参数组合
- 创建并压缩归档文件:
tar -czvf archive.tar.gz file1.txt file2.txt
cz创建打包文件gzip压缩,显示过程,指定打包文件名
- 解压并提取 gzip 压缩的打包文件
tar -xzvf archive.tar.gz
xz gzip解压解包,v显示过程,f指定打包文件名
完美!
# scp命令
scp
(Secure Copy Protocol) 是一个基于 SSH 的文件传输工具
用法:
scp [选项] <源文件路径> <目标路径>
本地文件复制到目标服务器,真厉害(还能这样)
scp file.txt user@remote_host:/path/to/destination/
从远程服务器复制文件到本地
scp user@remote_host:/path/to/file.txt /local/destination/
复制整个目录
-r 参数递归复制目录
scp -r my_folder user@remote_host:/path/to/destination/
指定端口
如果远程服务器使用的 SSH 端口不是默认的 22
scp -P 2222 file.txt user@remote_host:/path/to/destination/
# 常用选项
-r
:递归复制整个目录-P
:指定 SSH 端口号-v
:显示详细信息,便于调试-i
:指定私钥文件,用于认证(密钥连接类型)