由于业务迁移,需要将大量文件拷贝到目标机器上的/mnt目录,在拷贝过程中,想要查看上传的速度,做法如下:

[root@mail01 ~]# du -sh /mnt

5.6G /mnt

[root@mail01 ~]# watch -n1 'du -sm /mnt/' #会出现下面的一屏现象

Every 1.0s: du -sm /mnt/ Tue Dec 12 19:16:34 2017

5862 /mnt/ #通过这一行实时刷新的信息就能看出文件上传的速度了。

================================watch 命令说明==================================

代码语言:javascript复制watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得一遍遍的手动运行。

在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某

个文件的大小变化等等。

1)命令格式:

watch[参数][命令]

2)命令功能:

可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令

3)命令参数:

-n或--interval watch缺省每2秒运行一下程序,可以用-n或-interval来指定间隔的时间。

-d或--differences 用-d或--differences 选项watch 会高亮显示变化的区域。 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。

-t 或-no-title 会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。

-h, --help 查看帮助文档

4)使用实例:

实例1:每隔一秒高亮显示网络链接数的变化情况

[root@mail01 ~]# watch -n 1 -d netstat -ant

说明:切换终端: Ctrl+x 退出watch:Ctrl+g

实例2:每隔一秒高亮显示http链接数的变化情况

[root@mail01 ~]# watch -n 1 -d 'pstree|grep http'

说明:每隔一秒高亮显示http链接数的变化情况。 后面接的命令若带有管道符,需要加''将命令区域归整。

实例3:实时查看模拟攻击客户机建立起来的连接数

[root@mail01 ~]# watch 'netstat -an | grep:21 | \ grep<模拟攻击客户机的IP>| wc -l'

实例4:监测当前目录中 scf' 的文件的变化

[root@mail01 ~]# watch -d 'ls -l|grep scf'

实例5:10秒一次输出系统的平均负载

[root@mail01 ~]# watch -n 10 'cat /proc/loadavg'

实例6:每隔1秒查看文件/data的上传速度(上传操作还在进行中)

[root@mail01 ~]# watch -n1 'du -sm /data/'