Linux:tar指令基本使用

命令格式:

tar[必要参数][选择参数][文件] 

参数说明

$ tar -h
第一个选项必须是模式说明符:
  -c Create  -r Add/Replace  -t List  -u Update  -x Extract

Common Options:
  -b #  Use # 512-byte records per I/O block
  -f <filename>  Location of archive
  -v    Verbose
  -w    Interactive

Create: tar -c [options] [<file> | <dir> | @<archive> | -C <dir> ]
  <file>, <dir>  add these items to archive
  -z, -j, -J, --lzma  Compress archive with gzip/bzip2/xz/lzma
  --format {ustar|pax|cpio|shar}  Select archive format
  --exclude <pattern>  Skip files that match pattern
  -C <dir>  Change to <dir> before processing remaining files
  @<archive>  Add entries from <archive> to output

List: tar -t [options] [<patterns>]
  <patterns>  If specified, list only entries that match

Extract: tar -x [options] [<patterns>]
  <patterns>  If specified, extract only entries that match
  -k    Keep (don't overwrite) existing files
  -m    Don't restore modification times
  -O    Write entries to stdout, don't restore to disk
  -p    Restore permissions (including ACLs, owner, file flags)

实例操作

# 新建一个临时目录
$ mkdir tmp && cd tmp

# 新建3个文件
$ touch file{1,2,3}.txt
$ ls
file1.txt   file2.txt   file3.txt

#  1、打包(并非压缩)
$ tar -cvf file.tar *.txt
a file1.txt
a file2.txt
a file3.txt

$ ls
file.tar    file1.txt   file2.txt   file3.txt

# 2、查看包内文件
$ tar -tvf file.tar
-rw-r--r--  0 QMP    admin       0  5 16 20:21 file1.txt
-rw-r--r--  0 QMP    admin       0  5 16 20:21 file2.txt
-rw-r--r--  0 QMP    admin       0  5 16 20:21 file3.txt

# 3、向现有打包文件中添加新文件
$ touch file4.txt
$ tar -rvf file.tar file4.txt
a file4.txt

$ tar -tvf file.tar
-rw-r--r--  0 QMP    admin       0  5 16 20:21 file1.txt
-rw-r--r--  0 QMP    admin       0  5 16 20:21 file2.txt
-rw-r--r--  0 QMP    admin       0  5 16 20:21 file3.txt
-rw-r--r--  0 QMP    admin       0  5 16 20:22 file4.txt

# 4、当前目录下解压文件
$ tar -xvf file.tar
x file1.txt
x file2.txt
x file3.txt
x file4.txt


$ ls
file.tar    file1.txt   file2.txt   file3.txt   file4.txt

# 指定解压目录,需要先新建目录,如果没有则会报错:目录不存在
$ mkdir file
$ tar -xvf file.tar -C file
x file1.txt
x file2.txt
x file3.txt
x file4.txt

$ ls
file        file1.txt   file3.txt
file.tar    file2.txt   file4.txt

# 进入目录查看解压后的文件
$ cd file
$ ls
file1.txt   file2.txt   file3.txt   file4.txt

参考

linux中tar命令的用法

上一篇:Python编程:abc模块实现抽象类


下一篇:Python:data:image/png;base64图片编码解码