Linux中,“tar”命令用于创建和管理存档文件非常好用。可支持多个文件和目录打包成一个存档文件,在存档中添加、删除或更新文件。常用的tar命令和选项,如存档中添加、删除和更新文件的便捷方式有哪些,华纳云在下文为大家解答?
tar存档文件中基础操作,如想要创建一个新的tar存档可以直接使用命令:
tar -cvf archive.tar file1 file2 directory/
其中,“-c”是指的创建一个新的存档。“
-v”显示详细信息。
“-f”指定存档文件名。
想查看存档内容,使用:
tar -tvf archive.tar
其中,-t:列出存档中的文件。
如果是想要解压文档:
tar -xvf archive.tar
命令中,“-x”代表是从存档中提取文件。
如果需要在tar存档中添加文件,在现有的tar存档中添加文件,可以使用“-r”选项,这种命令适用于没有被压缩过的tar存档:
tar -rvf archive.tar newfile
其中,-r指的是向存档中追加文件。下u也关注的是hi压缩过的“tar.gz”或者是“tar.bz2”是不能使用“-r”选项,压缩情况需要解压存档,添加文件然后再重新进行压缩。为了更快的完成处理压缩文件,这边可以使用另外一个工具如:--append 选项,或创建一个临时目录来展开和重建压缩存档。如:
tar -czf archive.tar.gz existingdir/
tar --append --file=archive.tar.gz newfile.txt
在压缩存档的情况下:
gzip -d archive.tar.gz # 解压缩
tar -rvf archive.tar newfile.txt # 添加文件
gzip archive.tar # 重新压缩
当需要从tar存档中删除文件,使用--delete 选项(不适用于压缩文件):
tar --delete -f archive.tar file_to_remove
命令中的“--delete”是指删除存档中的文件。这个命令同样也是不能使用于压缩的tar存档,需要对压缩存档进行解压才能生效。先解压,删除文件再重新压缩:
tar --delete -f archive.tar oldfile.txt
对压缩存档:
gzip -d archive.tar.gz # 解压缩
tar --delete -f archive.tar file_to_remove # 删除文件
gzip archive.tar # 重新压缩
如果是想要更新tar存档中的文件,可以使用 -u 选项:
tar -uvf archive.tar updatedfile
-u:仅更新存档中已存在的文件。如:
tar -uvf archive.tar updatedfile.txt
需要关注更新只能应用于非压缩存档。 对于压缩的存档,使用类似的流程来解压、更新并重新压缩。如:
gzip -d archive.tar.gz # 解压缩
tar -uvf archive.tar updatedfile.txt # 更新文件
gzip archive.tar # 重新压缩
常用到的组合操作,如创建并立即压缩:
tar -cvzf archive.tar.gz file1 file2 directory/
-z:通过gzip压缩存档。
解压特定文件:
tar -xvf archive.tar file1
从存档中仅提取file1。
更新压缩的存档,需要先解压缩存档:
gzip -d archive.tar.gz
更新文件:
tar -uvf archive.tar updatedfile.txt
重新压缩存档:
gzip archive.tar
脚本化操作:
#!/bin/bash
# 解压缩
gzip -d "$1"
# 执行操作
tar --delete -f "${1%.gz}" "$2"
# 重新压缩
gzip "${1%.gz}"
echo "更新后的存档为 $1"
使用tar命令可以更简便完成操作,如:
./update-tar.sh archive.tar.gz file_to_remove
在Linux中,tar命令实现了便捷的方式来管理存档文件。尽管压缩存档的文件添加、删除和更新需要额外步骤,但通过脚本化操作,可以简化这些流程。使用tar可以有效地进行文件备份、传输和管理。