linux中常用的压缩文件指令

记录 linux 下常用的压缩文件解压指令

持续更新 ......


1. tar 指令

Examples:

  • tar -cf archive.tar foo bar (对文件 foo 和 bar 压缩,创建 archive.tar 压缩包)
  • tar -tvf archive.tar (列出压缩包中的所有文件)
  • tar -xf archive.tar (解压出 archive.tar 中的所有文件)
  • tar -xvf filename.tar (解压 filename.tar 并 列出压缩包中的所有文件)
  • tar -zxvf filename.tar.gz
  • tar -zxvf filename.tgz

主操作模式:

  -A, --catenate, --concatenate   追加 tar 文件至归档
  -c, --create               创建一个新归档
      --delete               从归档(非磁带!)中删除
  -d, --diff, --compare      找出归档和文件系统的差异
  -r, --append               追加文件至归档结尾
      --test-label           测试归档卷标并退出
  -t, --list                 列出归档内容
  -u, --update               仅追加比归档中副本更新的文件
  -x, --extract, --get       从归档中解出文件

其他常用:

  -v, --verbose              详细地列出处理的文件,显示所有过程
  -f, --file=ARCHIVE         使用归档文件或 ARCHIVE 设备
                             切记,这个参数是最后一个参数,后面只能接档案名
                             必选
  -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
  -j, --bzip2                通过 bzip2 过滤归档
  -Z, --compress, --uncompress   通过 compress 过滤归档

压缩并分片:

大文件拆分:先压缩,再拆分成指定大小

# 压缩
tar -zcvf filename.tar.gz filenam

# 切分
split -b 4000M -d -a 1 filename.tar.gz filename.tar.gz.
cat filename.tar.gz ' split -b 4000M -d -a 1 filename.tar.gz.

切分的参数说明:

-b 4000M 表示设置每个分割包的大小,单位还是可以k
-d 参数指定生成的分割包后缀为数字的形式
-a x来设定序列的长度(默认值是2),这里设定序列的长度为1

将切分的文件合并:

tar -zcvf filename.tar.gz filename ' split -b 4000M -d -a 1 -filename.tar.gz.

多个压缩文件解压方法:

cat filename.tar.gz.* ' tar -zxv

2. rar unrar 指令

Examples:

  • unrar e filename.rar # 解压到当前目录
  • unrar x filename.rar /path/to/extract

3. zip unzip 指令

Examples:

  • zip filename.zip filename (压缩 filename)
  • zip -r location.zip location (递归压缩目录 location)
  • unzip filename.zip -d filepath (解压缩)

常用:

- 压缩:
# 指令
zip passwd.zip /etc/passwd

# 输出
adding: etc/passwd (deflated 58%)

输出中,58% 表示压缩率,即压缩后的文件大小为源文件的 42%

- 加密压缩:
# 指令
zip -e passwd.zip /etc/passwd

# 输出
Enter password: 
Verify password: 
  adding: etc/passwd (deflated 58%)
- 递归压缩
# 指令
zip -r shell.zip shell

# 输出
adding: shell/ (stored 0%)
adding: shell/sleepParent.sh (stored 0%)
adding: shell/sleep.sh (deflated 22%)
adding: shell/dir/ (stored 0%)
adding: shell/dir/test.sh (stored 0%)

参考:
https://blog.csdn.net/K346K346/article/details/103230736
https://blog.csdn.net/zong596568821xp/article/details/106024351

posted @ 2022-12-07 09:48  向宁的光  阅读(807)  评论(0编辑  收藏  举报