LinuxAT命令干货分享,还不赶紧收

时间:2024/10/13 12:31:13 来源:os/2

北京治疗白癜风哪间医院权威 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-files

grepatd

#设置开机启动

[root

peipei~]#systemctlenableatd

at使用

●如果不使用管道

或指定选项-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/]#atq

2.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/file

10.helloworld

●选项-d或命令atrm表示删除任务:

1.[root

peipei/]#at-d3#删除3号任务(上例)

2.[root

peipei/]#atq

3.[root

peipei/]#

●可以使用管道

或选项-f让at从标准输入或文件中获得任务:

1.[root

peipei/]#cattest.txt

2.echohelloworld/root/temp/file

3.[root

peipei/]#at-ftest.txt5pm+2days

4.job12atWedMay:20:

5.[root

peipei/]#cattest.txt

at16:/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:20pmtomorrow

2.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+3days

2.at/bin/ls

3.at,EOT

4.job7at-01-:00

5.[root

localhost~]#

实例2:明天17点钟,输出时间到指定文件内

●命令:

at17:20tomorrow

●输出:

1.[root

localhost~]#at17:20tomorrow

2.atdate/root/.log

3.ateOt

4.job8at-01-:20

5.[root

localhost~]#

实例3:计划任务设定后,在没有执行之前我们可以用atq命令来查看系统没

有执行工作任务

●命令:

atq

●输出:

1.[root

localhost~]#atq

2.8-01-:20aroot

3.7-01-:00aroot

4.[root

localhost~]#

实例4:删除已经设置的任务

●命令:

atrm7

●输出:

1.[root

localhost~]#atq

2.8-01-:20aroot

3.7-01-:00aroot

4.[root

localhost~]#atrm7

5.[root

localhost~]#atq

6.8-01-:20aroot

7.[root

localhost~]#

实例5:显示已经设置的任务内容

●命令:

at-c8

●输出:

1.[root

localhost~]#at-c8

2.#!/bin/sh

3.#atrunuid=0gid=0

4.#mailroot0

5.umask22此处省略n个字符

6.date/root/.log

7.[root

localhost~]#

转载请注明:http://www.wsqwo.com/yfzl/13999.html
网站首页 | 网站地图 | 合作伙伴 | 广告合作 | 服务条款 | 发布优势 | 隐私保护 | 版权申明 | 返回顶部