《linux就该这么学》笔记(6)
人们越来越倾向于传输压缩格式的文件, 压缩文件内存更小,传输的更快。付出的代价就是多了压缩和解压两个步骤。 在linux系统中tar命令就可以完成该任务。
tar [参数] [文件]
在linux系统中,常见的压缩文件格式比较多, 其中主要的是.tar或.tar.gz 或.tar.bz2。 这些格式大部分都是由tar命令生成的。
tar的使用完全依赖其参数,下面列出参数及其作用。
参数 | 官方说明 | 作用 |
---|---|---|
-A | append tar files to an archive | 将tar文件追加到文件 |
-c | create a new archive | 创建压缩文件 |
-d | find differences between archive and file system | 查找压缩和文件系统之间的区别 |
–delete | delete from the archive (not on mag tapes!) | 从存档中删除(不是在磁带上!) |
-r | append files to the end of an archive | 将文件追加到压缩文件的末尾 |
-t | list the contents of an archive | 列出压缩文件的内容 |
–test-label | test the archive volume label and exit | 测试压缩文件标签并退出 |
-u | only append files newer than copy in archive | 在压缩文件中只追加比复制更新的文件 |
-x | extract files from an archive | 解开压缩文件 |
-t | list the contents of an archive | 查看压缩包里有哪些文件 |
-z | filter the archive through gzip | 用Grip压缩或解压 |
-j | filter the archive through bzip2 | 用bzip2压缩或解压 |
-J | filter the archive through xz | 用xz压缩或解压 |
-g | handle new GNU-format incremental backup | 处理新的gnu格式增量备份 |
-G | handle old GNU-format incremental backup | 处理旧的gnu格式增量备份 |
–ignore-failed-read | do not exit with nonzero on unreadable files | 在不可读的文件上不以非零退出 |
–level | dump level for created listed-incremental archive | 已创建的列表增量归档的转储级别 |
-n | archive is seekable | 已创建的列表增量归档的转储级别 |
–no-check-device | do not check device numbers when creating incremental archives | 创建增量归档时不检查设备号 |
-v | verbosely list files processed | 显示解压或压缩的过程 |
-f | use archive file or device ARCHIVE | 目标文件名 |
-p | extract information about file permissions (default for superuser) | 保留原始的权限与属性 |
-P | don’t strip leading `/’s from file names | 使用绝对路径来压缩 |
-C | change to directory DIR | 指定解压到的目录 |
-c 和-x不能同时使用,一个压缩一个解压。 在执行某些压缩或解压文件时,可能要花费较长时间,如果屏幕一直没有动静,您可能以为电脑死机了,所以可以用-v参数向用户不断显示压缩或解压的过程。 -C参数用于指定要解压到哪个目录。 -f参数特别重要,它必须放到参数的最后一位。
下面分别压缩和解压 test.txt文件:
[root@linuxpronbe home]# touch test.txt
[root@linuxpronbe home]# ls
redhat test.txt
[root@linuxpronbe home]# tar -czvf test.tar.gz test.txt ### 压缩
test.txt
[root@linuxpronbe home]# ls
redhat test.tar.gz test.txt
[root@linuxpronbe home]# rm -f test.txt
[root@linuxpronbe home]# tar -xzvf test.tar.gz -C /home ### 解压
test.txt
[root@linuxpronbe home]# ls
redhat test.tar.gz test.txt