命令格式:
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 $ lsfile1.txt file2.txt file3.txt# 1、打包(并非压缩)$ tar -cvf file.tar *.txt a file1.txt a file2.txt a file3.txt $ lsfile.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 $ lsfile.tar file1.txt file2.txt file3.txt file4.txt# 指定解压目录,需要先新建目录,如果没有则会报错:目录不存在$ mkdir file$ tar -xvf file.tar -C filex file1.txt x file2.txt x file3.txt x file4.txt $ lsfile file1.txt file3.txt file.tar file2.txt file4.txt# 进入目录查看解压后的文件$ cd file$ lsfile1.txt file2.txt file3.txt file4.txt