目录

tar打包给你!

做玄机打包服务器源码有点麻烦,所以今天来介绍一下tar打包,scp下载等命令及参数,只用不理解感觉有个疙瘩

全是干货,没点茶水看不下去了哈哈哈哈哈

# 扩展名.tar.gz

tar 通常用于将多个文件和目录打包成一个归档文件,称为 "tarball"(通常带有 .tar 扩展名)。

tar 本身不压缩文件,但可以与压缩工具(如 gzip 或 bzip2)结合使用,创建压缩的归档文件(如 .tar.gz 或 .tar.bz2)

所以常见打包文件两个扩展名.tar.gz

# 打包、压缩

什么是打包?

打包的作用是把多个文件或目录放在一个归档文件里,类似于把东西装进一个箱子里。这不就是我理解的压缩吗

打包前:

file1.txt  
file2.txt  
dir1/  
1
2
3

打包后:

archive.tar  (这个文件包含了 file1.txt、file2.txt 和 dir1/)
1

多个文件,目录,打包成一个文件archive.tar。需要时可以打开,叫做解包

什么是压缩?

压缩是对文件进行大小缩减,通过特定算法减少文件占用的存储空间。原来这才是压缩

压缩前:

archive.tar  (大小可能是 100 MB)
1

压缩后:

archive.tar.gz  (大小可能是 50 MB,文件更小了)
1

压缩的目的是为了节省空间

拷打gpt

  • 打包:像把文件装进一个箱子,方便携带
  • 压缩:像把箱子里的空气抽掉,让箱子更小

tar命令可以使用参数来压缩文件,-z参数gzip压缩、-j参数bzip2压缩

winrar支持tar文件,双击可以直接像压缩包一样解包

# tar命令

tar命令常用参数:

  • -cCreate

创建一个新的打包文件

tar -cvf archive.tar file1.txt file2.txt
1

作用:将 file1.txtfile2.txt 打包到 archive.tar

  • -xExtract

对tar文件解包

tar -xvf archive.tar
1

作用:解包 archive.tar 提取到当前目录

  • -vView

显示详细操作过程,让用户看到哪些文件正在被处理

  • -fFile

指定打包文件名

tar -cvf archive.tar file1.txt
1

作用:将 file1.txt 打包成 archive.tar

  • -zgzip

使用 gzip 对归档文件进行压缩

tar -czvf archive.tar.gz file1.txt
1

作用:打包 file1.txt 并用 gzip 压缩成 archive.tar.gz

  • -jbzip2

使用 bzip2 对归档文件进行压缩

tar -cjvf archive.tar.bz2 file1.txt
1

作用:打包 file1.txt 并用 bzip2 压缩成 archive.tar.bz2

  • -tList

列出归档文件的内容

tar -tvf archive.tar
1

作用:只查看 archive.tar 中的内容,不提取文件

  • -CChange Directory

指定解包或操作时切换到的目录

tar -xvf archive.tar -C /tmp
1

作用:将归档文件的内容提取到 /tmp 目录

wow,理解好多了

# tar命令常用参数组合

  • 创建并压缩归档文件:
tar -czvf archive.tar.gz file1.txt file2.txt
1

cz创建打包文件gzip压缩,显示过程,指定打包文件名

  • 解压并提取 gzip 压缩的打包文件
tar -xzvf archive.tar.gz
1

xz gzip解压解包,v显示过程,f指定打包文件名

完美!

# scp命令

scp (Secure Copy Protocol) 是一个基于 SSH 的文件传输工具

用法:

scp [选项] <源文件路径> <目标路径>
1

本地文件复制到目标服务器,真厉害(还能这样

scp file.txt user@remote_host:/path/to/destination/
1

从远程服务器复制文件到本地

scp user@remote_host:/path/to/file.txt /local/destination/
1

复制整个目录

-r 参数递归复制目录

scp -r my_folder user@remote_host:/path/to/destination/
1

指定端口

如果远程服务器使用的 SSH 端口不是默认的 22

scp -P 2222 file.txt user@remote_host:/path/to/destination/
1

# 常用选项

  • -r:递归复制整个目录
  • -P:指定 SSH 端口号
  • -v:显示详细信息,便于调试
  • -i:指定私钥文件,用于认证(密钥连接类型)
最后一次更新于: 2024/11/27, 01:15:50