Linux (二): 压缩指令 tar, zip

tar

以前每次使用 Linux 进行解压的时候都得重新上网查找一遍指令, 尤其是 tar 指令, 动不动就四五个 flag 很烦人, 现在就把它学会了!

tar 指令用于把文件归档和压缩, 归档就是将所有文件合并到一个文件里面
这个文件 (.tar) 和文件夹的区别是: 文件夹只是一个指针, 指向了它所包含的文件, 而 .tar 文件则是真真实实地包含了它所包含的文件. 因此在进行网络传输的时候, 无法传输文件夹 (因为文件夹本身没有数据), 只能传输归档文件

而归档本身并没有压缩, 只是单纯地将文件打包在一起, 好在可以添加一个 flag 来方便地完成压缩.

归档命令

tar -cf foo.tar 1.jpg 2.png 3.txt somedir

该命令有两个 flag:

  • -c 表示 create: 创建归档文件
  • -f 表示 file: 告诉 tar 指令你要操作 (创建) 的归档文件的名字
  • 后面的所有名字是你要归档的文件或文件夹的名字
    f必须是最后一个 flag, f 后面必须紧跟要操作的归档文件的名字
    很好记, c = create

你也可以添加flag v (verbose, 只显示归档的文件名) 或 vv (very verbose, 还显示所有文件的操作权限和创建日期等) 来显示归档的文件, 如

tar -cvf foobar.tar foo.png tar.jpg

查看

通过键入下列指令查看一个 tar 文件里都有什么文件

tar -tf foobar.tar

其中 -t 表示 list
你也可以加一个 -v 来查看更相信的操作权限, 创建信息等内容

tar -tvf foobar.tar

提取

tar -xf foobar.tar

其中 -x 表示 extract (提取)
如果想要提取到指定目录, 添加 -C (大写 C)

tar -xf foobar.tar -C /some/dir

压缩

tar 指令支持多种压缩算法, 最常见的是 gzip (文件名是 foobar.tar.gz)

扫描二维码关注公众号,回复: 5784127 查看本文章
tar -czf foobar.tar.gz foo.txt bar.jpg

其中 -z 表示 使用 gzip 算法进行压缩
解压和上述一样, 即

tar -xf foobar.tar.gz

zip

压缩

有时候压缩文件是 zip 格式的, 这时候我们就需要 zip 命令:

zip foobar.zip foo.txt bar.txt

如果你想压缩文件夹里的内容, 需要加上 -r 来表示递归压缩

zip -r foo.zip some_dir

解压

unzip foobar.zip

如果你想解压的指定目录, 可以添加 -t, 如

unzip foobar.zip -t /this/is/some/dir

猜你喜欢

转载自blog.csdn.net/vinceee__/article/details/88862872