要用到了linux中的tar命令来打包一堆更新系统的文件。
以前,只是用到tar最基本的打包和解包参数
打包:tar cf filename.tar dir
它将把dir所指定的目录下的所有文件打包到tar文件中,目录从dir开始,而且,不能是绝对路径。如果一定要用绝对路径,得带上P参数。
解包:tar xf filename.tar
把tar文件,在当前目录下展开,如果当前目录有一致的子目录结构,则会把tar包中的文件,覆盖原文件;如果当前目录下的子目录结构与tar包中的不一致,则会新建相应子目录结构。
查看:tar tvf filename.tar
用tar -uf filename.tar t1.txt,想更换t1.txt文件,查看tar文件时,却出现两个t1.txt
如果多次更新t1.txt,还会显示出更多的t1.txt行,但解开后,只有最后一个t1.txt的内容。如果用一个新文件,执行-uf, 就相当于新添一个文件。
试了好一阵才找到从tar包中删除文件:
tar -f test.tar --delete t0.txt
执行tar -f test.tar --delete t1.txt,则上面的所有t1.txt显示都没有了。
如果有取一个特定的文件,tar -xf test.tar t1.txt是不行的,它会把tar包解开。这时,需要执行tar -f test.tar--extract t1.txt,这样就只取出t1.txt了,--get也可以。从tar –help显示的帮助信息中,有的参数以-引导,有的用两个-引导,似乎是单-参数放在tar 和tar包之间,而双-放在tar包之后。而且,单-参数至少得有一个,-f比较常用。
tar的参数太多,不过也没必要都搞清楚。够用就行。
原文:https://www.cnblogs.com/shiningjune/p/12567815.html