linux打包命令进度条
-
在Linux中,使用命令行打包文件时可以配合使用工具来显示进度条。以下是一些常用的命令及相应工具:
1. 使用tar命令打包:
“`
tar -czvf package.tar.gz folder/
“`
这条命令将文件夹`folder/`打包成`package.tar.gz`文件,并通过`-v`参数显示文件打包的过程。但是默认情况下`tar`命令不会显示进度条。2. 使用pv命令显示进度条:
“`
tar -cf – folder/ | pv -cN folder | gzip > package.tar.gz
“`
在这条命令中,`pv`命令用于显示进度条。`-c`参数用于显示打包过程的进度百分比,`-N`参数用于设置进度条的名称。`pv`命令从标准输入读取数据,然后将其传递给`gzip`命令进行压缩。3. 使用progress命令显示进度条:
“`
tar -cf – folder/ | progress -mp > package.tar.gz
“`
`progress`是一个第三方工具,可以用来显示命令行任务的进度条。这里的`-mp`参数用于显示打包过程的进度百分比。同样,`progress`命令从标准输入读取数据,并将其传递给`gzip`命令进行压缩。无论是使用`pv`还是`progress`,都可以通过在终端运行`sudo apt-get install pv`或`sudo apt-get install progress`来安装相应的工具。
以上是在Linux中使用命令行打包文件时显示进度条的方法,希望对你有帮助!
2年前 -
在 Linux 系统中,可以使用以下命令打包文件并显示进度条:
1. 使用 `tar` 命令:
“`shell
tar cf –| pv -s $(du -sb | awk ‘{print $1}’) | gzip >
“`
具体步骤如下:
– ``:要打包的源文件夹的路径。
– `tar cf –`:将源文件夹打包成 tar 归档文件,并输出到标准输出。
– `pv -s $(du -sb| awk ‘{print $1}’)`:使用 `pv` 命令显示进度条。`-s` 参数用于指定总的文件大小,`$(du -sb | awk ‘{print $1}’)` 表示获取源文件夹的总大小。
– `gzip >`:将标准输出压缩成 gzip 格式,并保存到指定的输出文件中。 2. 使用 `rsync` 命令:
“`shell
rsync -a –info=progress2
“`
具体步骤如下:
– ``:要打包的源文件夹的路径。
– ``:打包后的文件夹的路径。
– `rsync -a`:启用归档模式进行数据复制。使用 `-a` 参数可以保留文件的原始权限、所有者信息和时间戳。
– `–info=progress2`:显示详细的传输进度,包括文件名、传输速度和剩余时间。3. 使用 `zip` 命令:
“`shell
zip -r| pv -l -s $(du -sb | awk ‘{print $1}’) > /dev/null
“`
具体步骤如下:
– ``:压缩文件的名称。
– ``:要打包的源文件夹的路径。
– `zip -r`:将源文件夹打包成 zip 归档文件。
– `pv -l -s $(du -sb| awk ‘{print $1}’) > /dev/null`:使用 `pv` 命令显示进度条,并将输出重定向到 `/dev/null`,这样就不会将进度条显示出来。 4. 使用 `tar` 和 `pv` 命令结合使用:
“`shell
tar -cf –| pv -n -s $(du -sb | awk ‘{print $1}’) | (cd && tar -xvf -)
“`
具体步骤如下:
– ``:要打包的源文件夹的路径。
– ``:打包后的文件夹的路径。
– `tar -cf –`:将源文件夹打包成 tar 归档文件,并输出到标准输出。
– `pv -n -s $(du -sb| awk ‘{print $1}’)`:使用 `pv` 命令显示进度条。`-n` 参数用于禁止显示估计剩余时间。
– `(cd&& tar -xvf -)`:将标准输入的 tar 归档文件解压缩到指定的输出文件夹中。 5. 使用 `7zip` 命令:
“`shell
7z a -bsp1 -bb2“`
具体步骤如下:
– ``:压缩文件的名称。
– ``:要打包的源文件夹的路径。
– `7z a`:创建 7z 压缩文件。
– `-bsp1`:显示进度信息的详细程度。值为 0 表示不显示进度信息,值为 1 表示显示进度信息。
– `-bb2`:设置错误报告的详细程度。值为 0 表示不显示错误报告,值为 2 表示显示所有错误报告。2年前 -
在Linux系统中,常用的打包命令包括tar、gzip和compress。这些命令通常用于将多个文件或目录打包成一个单独的文件。虽然这些命令通常不会显示进度条,但是我们可以通过一些技巧来实现显示打包进度的效果。
以下是一种实现方法的示例:
1. 创建一个名为`progress_bar`的bash脚本,并在其中添加以下代码:
“`bash
#!/bin/bash# 计算文件或目录的大小
total=$(du -bs “$1” | awk ‘{print $1}’)# 执行tar打包命令,并将进度条输出到stderr
tar c “$1” | pv -s $total -n > “$2”
“`2. 保存脚本并对其添加可执行权限:
“`bash
chmod +x progress_bar
“`3. 使用以下命令运行脚本,并指定需要打包的文件或目录以及目标文件路径:
“`bash
./progress_bar /path/to/source /path/to/destination.tar
“`上述脚本使用了`tar`命令打包文件或目录,并利用`pv`命令创建一个进度条。`-s`参数用于设置进度条的大小,这里使用了`du`命令获取文件或目录的大小。`-n`参数用于禁止pv命令显示ETA(Estimated Time of Arrival,估计到达时间)和速度信息。
请注意,在运行脚本之前,你需要安装`pv`命令。在大多数Linux发行版中,可以通过包管理器来安装,例如:
Debian/Ubuntu:
“`bash
sudo apt-get install pv
“`CentOS/RHEL:
“`bash
sudo yum install pv
“`使用以上方法,我们可以实现在Linux系统中显示打包进度条的效果。注意,这种方法只是估算进度,并不是完全精确,因为文件大小的计算可能会有些误差。
2年前