Linux学习笔记之超详细基础linux命令
---------------------------------接Part 12------------------------------
--进程调度
at调度
方法:at [选项] [时间]
功能:设置是定时间执行的指定的命令
主要选项:
-f(file)文件名 从指定文件而非标准输入设别获取要执行的命令
-l(list)文件名 显示等待执行的作业调度
-d(delete) 删除指定的调度作业
说明:进程开始执行的时间可采用以下方法表示:
1.绝对计时法
HH:MM即时:分,可以采用24小时记时制。如果采用12小时记时制,则时间后面要加AM(上午),PM(下午) MMDDYY或MM/DD/YY或MM:DD:YY,指定具体的日期,必须写在具体的时间后
2.相记时间法
now+时间间隔,时间单位为minuts(分钟),hours(时),day(天),week(星期)
3.直接计时法
today(今天),tomorrow(明天),midnight(深夜),noon(午夜),teatime(下午4点)
例子:设置at调度,要求在2012年11月20号22时36分向登录系统上的所有用户发送信息
[laiyu@localhost ~]$ at 23:59 12312008
at: refusing to create job destined in the past
[laiyu@localhost ~]$ at 22:36 11202012
at> who
at> so bad,so sad
at> fuck
at>
job 2 at 2012-11-20 22:36
[laiyu@localhost ~]$ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/laiyu": 1 message 1 new
>N 1 laiyu Tue Nov 20 22:36 17/678 "Output from your job "
&
...
注:输入at命令后,系统将出现at>提示符,等待用户输入将执行的命令。输入完后按【Ctrl+D】组合键,出现
at>
job 2 at 2012-11-20 22:36
在“&”提示符后输入新邮件的编号“1”后按【Enter】键,屏幕显示邮件内容
...
&
最后在“&”提示符后面输入“q”,退出邮件工具。
cron调度
crontab配置文件
说明:crontab配置文件保留cron调度的内容,共有6个字段,从左到右依次分为分钟,时,日期,月份,星期和命令
字段 分钟 时 日期 月份 星期 命令
取值范围0-59 0-23 01-31 01-12 0-6,0为星期天
所有的字段不能为空,字段之间用空格分开,如果不指定字段内容,则使用“*”符号
可以使用“-”符号表示一段时间,如果在日期栏中输入“1-5”则表示每个月前5天每天都要执行该命令
可以使用“,”符号来表示指定的时间,如果在日期栏中输入”5,15,25“则表示每个月的5日,15日,25日都要执行该命令
如果执行的命令来未使用输出重定向,那么系统将会把执行结果以邮件的方式发送给crontab文件的所有者。
用户的crontab配置文件保存于/var/spool/cron目录中,其文件名和用户名相同
[root@localhost laiyu]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# 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
crontab命令
方法:crontab [选项]
功能:维护用户的crontab配置文件
主要选项:
-e(edit)创建并编辑crontab配置文件
-l(list)显示crontab配置文件的内容
-r(remove)删除crontab配置文件
crond进程
crond进程在系统启动时自动启动,并一直运行在后台。负责检测crontab配置文件,并按照其设置内容,定期重复执行指定的cron调度工作。
例子:laiyu用户设置cron调度,并要求每周五的17时00分将/home/laiyu/data目录中的所有文件归档并压缩为/backup目录中的laiyu-data.tar.gz文件
[laiyu@localhost ~]$ crontab -e
输入命令后,启动vi文本编辑器,用户输入以下配置内容后保存退出。
00 17 * * 5 tar -czf /backup/laiyu-data.tar.gz /home/laiyu/data
例子:laiyu用户查看cron调度的内容
[root@localhost ~]# cron
crond crontab
[root@localhost ~]# crontab -l
no crontab for root
例子:laiyu用户查看cron调度的执行结果
[laiyu@localhost ~]$ mail
。。。。。
>N 1。。。。。。
&
--系统监视
--实施系统监视的命令
who命令
方法:who [选项]
功能:查看当前已登录的所有用户
主要选项:
-m显示当前用户的用户名
-H(heading)显示用户的详细信息
例:查看所有用户的详细信息
[laiyu@localhost ~]$ who -H
NAME LINE TIME COMMENT
laiyu tty1 2012-11-20 21:14 (:0)
laiyu pts/0 2012-11-20 21:14 (:0.0)
注:LINE显示用户登录的终端号,TIME显示用户登录的时间
top命令
方法:top [-d秒数]
功能:动态显示CPU利用率、内存利用率和进程状态等相关信息,是目前使用最广泛的实时系统性能监视程序。默认5秒更新显示信息。而“-d秒数”选项可指定刷新频率
方法:top [-n number]
功能:指定top命令执行次数,默认一直运行,不会自动退出top命令
说明:top命令默认按照进程的CPU使用率排列所有的进程,
按【M】键将按照内存使用率排列所有进程
按【m】将显示或隐藏Mem&Swap这两行信息
按【T】键将按照进程的执行时间排列所有进程
按【P】键将按照CPU使用率排列所有进程。
【Ctrl+C】组合键,或者【q】键结束top命令
例:执行一次top命令后退出系统
$ top -n 1
...
例子:动态监视系统性能,每10秒刷新一次。
[laiyu@localhost ~]$ top -d 10
top - 22:44:46 up 1:31, 2 users, load average: 0.67, 0.67, 0.46
Tasks: 201 total, 2 running, 199 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.5%us, 1.4%sy, 0.0%ni, 94.8%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3822456k total, 939888k used, 2882568k free, 162476k buffers
Swap: 4198392k total, 0k used, 4198392k free, 423572k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2347 root 20 0 184m 42m 9176 S 13.3 1.1 4:16.13 Xorg
2868 laiyu 15 -5 78728 14m 10m S 4.8 0.4 0:26.22 gnome-terminal
2865 laiyu 15 -5 85896 19m 14m S 1.5 0.5 0:53.42 gedit
2598 laiyu 15 -5 65532 13m 10m S 0.7 0.4 0:10.75 wnck-applet
2572 laiyu 15 -5 135m 13m 10m S 0.5 0.4 0:05.57 metacity
2927 laiyu 15 -5 538m 117m 35m S 0.4 3.1 4:53.40 firefox
2826 laiyu 15 -5 70200 20m 13m S 0.3 0.6 0:12.86 python
2555 laiyu 15 -5 121m 8964 7348 S 0.2 0.2 0:02.47 gnome-settings-
3509 laiyu 15 -5 2684 1148 864 R 0.2 0.0 0:00.07 top
43 root 20 0 0 0 0 S 0.1 0.0 0:00.52 ata/2
285 root 20 0 0 0 0 S 0.1 0.0 0:04.33 scsi_eh_1
1753 root 20 0 0 0 0 S 0.1 0.0 0:04.95 kondemand/0
2072 root 20 0 3840 1036 912 S 0.1 0.0 0:02.62 hald-addon-stor
3239 laiyu 15 -5 41848 9256 7540 S 0.1 0.2 0:00.42 notification-da
1 root 20 0 2880 1440 1212 S 0.0 0.0 0:01.23 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.12 migration/0
注:输入命令后,按数字键1,显示cpu核数0-N,再按1合并显示
说明>>统计信息区前五行是系统整体的统计信息
1.第一行是任务队列信息,和uptime命令的执行结果一样
[laiyu@localhost ~]$ uptime
04:56:15 up 4 min, 2 users, load average:0.00,0.02,0.00
注释:
04:56:15 当前时间
up 4 min 系统运行时间,格式为时:分
2 user 当前登录用户数
load average:0.00,0.02,0.00 系统负载,即任务队列的平均长度。三个数值分别为1分钟、5分钟、15分钟前到现在的平均值