命令格式:
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
参考