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命令的用法

            </div>

命令格式

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命令的用法