linux复制文件显示过程,一种linux系统下拷贝文件时显示进度条的方法与流程

本发明涉及linux系统技术领域,特别涉及一种linux系统下拷贝文件时显示进度条的方法。

背景技术:

随着互联网+和云服务的快速发展,服务器趋向集群式,互联网业务的服务器数量越来越庞大。所以服务器系统管理员和运维人员的任务很艰巨,工作时间很宝贵,急需提高工作效率的方法。服务器的运维管理过程中进场需要拷贝大量的文件和日志等,而linux系统自带的cp命令无法查看拷贝进度,管理人员无法知晓拷贝的速度和大约的剩余时间,等待拷贝完成或者不断查看拷贝是否完成会浪费很多的宝贵时间。

基于上述情况,本发明提出了一种linux系统下拷贝文件时显示进度条的方法,以方便知晓拷贝进度。该方法为系统管理、运维人员提供便利,可以提高工作效率。

技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的linux系统下拷贝文件时显示进度条的方法。

本发明是通过如下技术方案实现的:

一种linux系统下拷贝文件时显示进度条的方法,其特征在于包括以下步骤:

(1)首先,在linux系统下获取源文件目录和目的文件目录,并检验目的文件目录是否存在;

(2)当目的文件目录不存在时,创建目的文件目录,并获取源文件数量;

(3)实时获取已经拷贝的文件百分比,并以图形化的形式显示出进度条;

(4)进程结束。

所述步骤(1)中,当检验发现目的文件目录存在时,提示目的文件目录存在,请更换目的文件目录名称,进程结束。

所述步骤(1)中,linux系统使用CP拷贝命令对源文件目录和目的文件目录进行拷贝操作,以获取源文件目录和目的文件目录。

本发明的有益效果是:该linux系统下拷贝文件时显示进度条的方法,通过在linux系统下扩展了系统拷贝命令CP的功能,并以图形的方式简单明了的显示了出拷贝进度条,方便知晓文件拷贝的进度,使用简单,操作方便,为linux系统维护、管理和测试的过程中的文件拷贝提供了便利。

附图说明

附图1为本发明linux系统下拷贝文件时显示进度条的方法示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该linux系统下拷贝文件时显示进度条的方法,包括以下步骤:

(1)首先,在linux系统下获取源文件目录和目的文件目录,并检验目的文件目录是否存在;

(2)当目的文件目录不存在时,创建目的文件目录,并获取源文件数量;

(3)实时获取已经拷贝的文件百分比,并以图形化的形式显示出进度条;

(4)进程结束。

所述步骤(1)中,当检验发现目的文件目录存在时,提示目的文件目录存在,请更换目的文件目录名称,进程结束。

所述步骤(1)中,linux系统使用CP拷贝命令对源文件目录和目的文件目录进行拷贝操作,以获取源文件目录和目的文件目录。

该linux系统下拷贝文件时显示进度条的方法,通过shell脚本实现,代码如下:

#!/bin/bash

#$1 是源文件目录,$2是目的文件目录

dir=$1/*

des=$2

# 检查目的文件目录是否存在

[ -d $des ] && echo "Dir Exist,please change the other Dir" && exit 1

#如果目的文件目录不存在,则创建目的文件目录

mkdir $des

# 计数器,用来计算源文件的数量

i=0

# 计算源文件数量

n=`echo $1/* |wc -w`

for file in `echo $dir`

do

# 实时计算已经拷贝的文件百分比并以图形显示出来进度条

percent=$((100*(++i)/n))

cat <

XXX

$percent

Copying file $file ...

XXX

EOF

/bin/cp -r $file $des &>/dev/null

done | dialog --title "Copy" --gauge "files" 6 70

clear

该linux系统下拷贝文件时显示进度条的方法,使用时将shell脚本拷贝到linux系统的服务器,然后执行该脚本即可,shell脚本会自动执行并显示出进度条。

# ./cp_Progress_bar.sh src_dir des_dir

该linux系统下拷贝文件时显示进度条的方法,在linux系统下通过shell脚本扩展了CP拷贝命令的功能,在拷贝之前先获取拷贝的文件数量信息,然后拷贝文件的过程中实时计算拷贝的百分比,进而以图形的方式简单明了的显示出拷贝进度条,方便知晓文件拷贝的进度,使用简单,操作方便,为linux系统维护、管理和测试的过程中的文件拷贝提供了便利。

你可能感兴趣的:(linux复制文件显示过程)