北京治疗白癜风哪间医院权威 http://baijiahao.baidu.com/s?id=1681150136625383418&wfr=spider&for=pc
AT简介
AT即Attention,AT指令集是从终端设备(TerminalEquipment,TE)或数据中断设备(DataTerminalEquipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(DataCircuitTerminalEquipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台(MobileStation,MS)的功能,与GSM网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。90年代初,AT指令仅被用于Modem操作。没有控制移动电话文本消息的先例,只开发了一种叫SMSBlockMode的协议,通过终端设备(TE)或电脑来完全控制SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT指令,其中就包括对SMS的控制。AT指令在此基础上演化并被加入GSM07.05标准以及现在的GSM07.07标准,完全标准化和比较健全的标准。如:对SMS的控制共有3种实现途径:最初的BlockMode;基于AT指令的TextMode;基于AT指令的PDUMode。到现在PDUMode已经取代BlockMode,后者逐渐淡出。GSM模块与计算机之间的通信协议是一些AT指令集,AT指令是以AT作首,字符结束的字符串,AT指令的响应数据包在中。每个指令执行成功与否都有相应的返回,其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
at命令格式:at[参数][时间]at命令参数:
-m当指定的任务被完成之后,将给用户发送邮件,即使没有标准输出
-1atq的别名
-datrm的别名
-v显示任务将被执行的时间
-c打印任务的内容到标准输出
-V显示版本信息
-q列队使用指定的列队
-f文件从指定文件读入任务而不是从标准输入读入
·-t时间参数以时间参数的形式提交要运行的任务
at安装#安装at
[root
peipei~]#yuminstall-yat#启动守护进程
[root
peipei~]#systemctlstartatd#查看是否开机启动
[root
peipei~]#systemctllist-unit-filesgrepatd
#设置开机启动
[root
peipei~]#systemctlenableatdat使用●如果不使用管道
或指定选项-f的话,at的执行将会是交互式的,需要在
at的提示符下输入命令:
1.#创建定时任务
2.[root
peipei/]#atnow+2minutes#执行at并指定执行时刻为现在时间的后两分钟
3.atechohelloworld/tmp/file#手动输入命令并回车
4.atEOT#ctrl+d结束输入
5.job3atWedMay:20:#显示任务号及执行时间
●选项-l或命令atq查询任务:
1.[root
peipei/]#atq2.3WedMay:20:aroot
●到达时间后任务被执行,生成一个新文件file并保存echo的输出内容:
1.[root
peipei/]#lltmp/2.总用量4
3.-rw-r--r--.1rootroot月:20file
4.drwx------.3rootroot月
:56systemd-private-
9b1eddddaba0be3fc-chronyd.service-hAmDBg
5.drwx------.2rootroot65月:56tmp.6EvK3t6xmq
6.drwx------.2rootroot64月:41tmp.HEQGHwD
7.drwx------.2rootroot65月:44tmp.VqttdTFfak
8.drwx------.2rootroot64月:41tmp.WDevelDATu
9.[root
peipei/]#cat/tmp/file10.helloworld
●选项-d或命令atrm表示删除任务:
1.[root
peipei/]#at-d3#删除3号任务(上例)2.[root
peipei/]#atq3.[root
peipei/]#●可以使用管道
或选项-f让at从标准输入或文件中获得任务:
1.[root
peipei/]#cattest.txt2.echohelloworld/root/temp/file
3.[root
peipei/]#at-ftest.txt5pm+2days4.job12atWedMay:20:
5.[root
peipei/]#cattest.txtat16:/23/18
6.job13atFriDec:20:
at时间格式·at指定时间的方法很丰富,可以是:
1.hh:mm小时:分钟(当天,如果时间已过,则在第二天执行);
2.midnight(深夜),noon(中午),teatime(下午茶时间,下午4点),today,tomorrow等;
3.12小时计时制,时间后加am(上午)或pm(下午);
4.指定具体执行日期:mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年);
5.相对计时法:now+nunits,now是现在时刻,n为数字,units是单位
(minutes、hours、days、weeks)。
·如明天下午2点20分执行创建一个目录:
1.[root
peipei/]#at02:20pmtomorrow2.atmkdir/root/temp/X
3.at,EOT
4.job4atWedMay:25:
at控制文件atd通过两个文件/etc/at.allow和/etc/at.deny来决定系统中哪些用户可以使用at设置定时任务,它首先检查/etc/at.allow,如果文件存在,则只有文件中列出的用户(每行一个用户名),才能使用at;如果不存在,则检查文件/etc/at.deny,不在此文件中的所有用户都可以使用at。如果/etc/at.deny是空文件,则表示系统中所有用户都可以使用at;如果/etc/at.deny文件也不存在,则只有超级用户(root)才能使用at。
at例子实例1:三天后的下午5点钟执行/bin/ls
·命令:
at5pm+3days
输出:
1.[root
localhost~]#at5pm+3days2.at/bin/ls
3.at,EOT
4.job7at-01-:00
5.[root
localhost~]#实例2:明天17点钟,输出时间到指定文件内
●命令:
at17:20tomorrow
●输出:
1.[root
localhost~]#at17:20tomorrow2.atdate/root/.log
3.ateOt
4.job8at-01-:20
5.[root
localhost~]#实例3:计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没
有执行工作任务
●命令:
atq
●输出:
1.[root
localhost~]#atq2.8-01-:20aroot
3.7-01-:00aroot
4.[root
localhost~]#实例4:删除已经设置的任务
●命令:
atrm7
●输出:
1.[root
localhost~]#atq2.8-01-:20aroot
3.7-01-:00aroot
4.[root
localhost~]#atrm75.[root
localhost~]#atq6.8-01-:20aroot
7.[root
localhost~]#实例5:显示已经设置的任务内容
●命令:
at-c8
●输出:
1.[root
localhost~]#at-c82.#!/bin/sh
3.#atrunuid=0gid=0
4.#mailroot0
5.umask22此处省略n个字符
6.date/root/.log
7.[root
localhost~]#