tar
tar 是 Linux 中一个常用的打包工具,可以将多个文件和文件夹打包成一个单一的文件,通常与压缩工具(如 gzip 或 bzip2)结合使用。
打包与解包文件(不压缩)
1 2 3
| tar -cvf demo-tar.tar demo-folder/ tar -xvf demo-tar.tar tar -xvf demo-tar.tar -C ./new-folder
|
-c:创建一个新的归档文件(create)。
-v:详细模式,显示处理的文件(verbose)。
-f:指定输出的归档文件名。
-x:解包归档文件(extract)。
-C:指定解包后的位置。
使用 tar 解包之后,所有文件夹都会保留被打包时的名称,如将 demo-folder/ 打包成 demo-tar.tar,那么解包之后得到的就是文件夹 demo-folder/,且该文件夹在工作目录下。但是如果打包时进入文件夹,对全部文件进行打包:
1 2
| tar -cvf demo-tar.tar ./* tar -xvf demo-tar.tar
|
那么解包之后所有文件/文件夹都会直接在当前工作目录下,而非在某个文件夹中(如果不使用 -C 指定),所以解包前最好先查看一下 .tar 文件中是仅有一个文件夹或是有很多文件。
打包与解包文件(压缩)
1 2 3 4
| tar -czvf demo.tar.gz demo-folder/ tar -xzvf demo.tar.gz tar -cjvf demo.tar.bz2 demo-folder/ tar -xjvf demo.tar.bz2
|
查看打包文件内容(不解包或解压)
1 2
| tar -tvf demo-tar.tar tar -tzvf demo.tar.gz
|
-t:列举全部内容(list)。
-v:查看每个文件的详细信息,比如权限、大小、修改时间等(verbose)。
zip, unzip
1 2 3 4
| zip -r demo.zip demo-folder/ unzip demo.zip unzip demo.zip -d new-folder unzip -l demo.zip
|
-r:递归地压缩文件夹中的所有文件和子文件夹。
-d:指定解压后的位置