Linux常用命令

2017年07月06日

watch 定时监测

如同名字一样,watch就是监测一个命令的运行结果,省得自己不断的重复输入。

watch -n 2 "nvidia-smi" 每两秒运行一次nvidia-smi
watch -n 2 -d "nvidia-smi" 同时高亮显示每次命令执行后变化的区域

检查代码行数

统计某目录(demo)下.py文件的代码行数

find demo -name "*.py"|xargs cat|grep -v ^$|wc -l

crontab 系统服务计划

对于周期性运行的工作,比如每天凌晨01:00内存内容计算并写入硬盘。可以加入系统的计划中。

    # Example of job definition:     

    # .---------------- minute (0 - 59) # 分钟
    # |  .------------- hour (0 - 23)  # 小时
    # |  |  .---------- day of month (1 - 31)# 日期
    # |  |  |  .------- month (1 - 12) OR  # 月份 jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  #星期几
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed # 要执行的命令,可以是系统命令,也可以是自己编写的脚本文件   

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次

举例子:

1、每分钟执行一次            
*  *  *  *  * 

2、每隔一小时执行一次        
00  *  *  *  * 
or
* */1 * * *  (/表示频率)       **使用频率的执行方式有bug,网上说的不准**

3、每小时的15和30分各执行一次 
15,30 * * * * (,表示并列)

4、在每天上午 8- 11时中间每小时 15 ,45分各执行一次
15,45 8-11 * * * command (-表示范围)

5、每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 command

6、每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command


-_-below can discuss!-_-