導航:首頁 > 程序命令 > 執行命令at

執行命令at

發布時間:2022-09-27 19:39:14

1. linux怎樣在某一特定時間執行命令(使用at」

簡介

at定時任務,指定一個時間執行一個任務,只能執行一次。需要安裝at服務,apt-get install at;

創建at任務

創建at任務方式有兩種,從文件輸入和從控制台輸入。以下分別用兩種方式創建1分鍾後將當前時間寫入 home/result 文件的命令

1、從文件輸入

附錄

1、at時間定義

at允許使用一套相當復雜的指定時間的方法。
1)能夠接受在當天的hh:mm(小時:分鍾)式的時間指定。假如該時間已過去,那麼就放在第二天執行。例如:04:00
2)能夠使用midnight(深夜),noon(中午),teatime(飲茶時間,一般是下午4點)等比較模糊的詞語來指定時間。
3)能夠採用12小時計時制,即在時間後面加上AM(上午)或PM(下午)來說明是上午還是下午。例如:12pm
4)能夠指定命令執行的具體日期,指定格式為month day(月 日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必須跟在指定時間的後面。例如:04:00 2009-03-1
5)能夠使用相對計時法。指定格式為:now + count time-units ,now就是當前時間,time-units是時間單位,這里能夠是minutes(分鍾)、hours(小時)、days(天)、weeks(星期)。count是時間的數量,幾天,幾小時。例如:now + 5 minutes 04pm + 3 days
6)能夠直接使用today(今天)、tomorrow(明天)來指定完成命令的時間。

2. 運行:at命令的用法

Windows中的計劃任務命令行用法:
At
列出在指定的時間和日期在計算機上運行的已計劃命令或計劃命令和程序。必須正在運行「計劃」服務才能使用 at 命令。
at [\\computername] [[id] [/delete] | /delete [/yes]]
at [\\computername] time [/interactive] [/every:date[,...]| /next:date[,...]] command
參數

如果在沒有參數的情況下使用,則 at 列出已計劃的命令。
\\computername
指定遠程計算機。如果省略該參數,命令將安排在本地計算機。
id
指定指派給已計劃命令的識別碼。
/delete
取消已計劃的命令。如果省略了 id,計算機中已計劃的命令將被全部取消。
/yes
當刪除已計劃的事件時,對系統的查詢強制進行肯定的回答。
time
指定運行命令的時間。將時間以 24 小時標記(00:00 [午夜] 到 23:59)的方式表示為小時:分鍾。
/interactive
允許作業與在作業運行時登錄用戶的桌面進行交互。
/every:date[,...]
在每個星期或月的指定日期(例如,每個星期四,或每月的第三天)運行命令。將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。用逗號分隔多個日期項。如果省略了 date,將假定為該月的當前日期。
/next:date[,...]
在重復出現下一天(例如,下個星期四)時,運行指定命令將 date 指定為星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的數字)。用逗號分隔多個日期項。如果省略了 date,將假定為該月的當前日期。
command
指定要運行的 Windows 2000 命令、程序(.exe 或 .com 文件)或批處理程序(.bat 或 .cmd 文件)。當命令需要路徑作為參數時,請使用絕對路徑,也就是從驅動器號開始的整個路徑。如果命令在遠程計算機上,請指定伺服器和共享名的 UNC 符號,而不是遠程驅動器號。如果命令不是可執行 (.exe) 文件,必須在命令前加上 cmd /c,例如:
cmd /c dir > c:\test.out

3. at指令怎麼使用

at命令使用詳解
AT命令是Windows
XP中內置的命令,它也可以媲美Windows中的「計劃任務」,而且在計劃的安排、任務的管理、工作事務的處理方面,AT命令具有更強大更神通的功能。AT命令可在指定時間和日期、在指定計算機上運行命令和程序。
我們可以在「開始→運行」中輸入AT命令,下面就來看看AT命令的一些實例分析。
1、定時關機
命令:at
21:00
ShutDown
–S
–T30
該命令運行後,到了21:00點,電腦會出現「系統關機」對話框,並默認30秒延時自動關機。
2、定時提醒
命令:at
12:00
Net
Send
10.10.36
.122與朋友約會的時間到了,快點准備出發吧!
其中Net
Send是Windows內部程序,可以發送消息到網路上的其他用戶、計算機。10.10.36.122是本機電腦的IP地址。這個功能在Windows中也稱作「信使服務」。
3、自動運行批處理文件
如果公司的數據佷重要,要求在指定的日期/時間進行備份,那麼運行:
命令:at
1:00AM
/Every:Saturday
My_BackUp.bat
這樣,在每個Saturday(周六)的早上1:00點,電腦定時啟動My_BackUp.bat批處理文件。My_BackUp.bat是一個你自行編制的批處理文件,它包含能對系統進行數據完全備份的多條命令。
4、取消已經安排的計劃
命令:at
5
/Delete
有時候,你已經安排好的計劃可能臨時變動,這樣你可以及時地用上述命令刪除該計劃(5為指派給已計劃命令的標識編號),當然,刪除該計劃後,可以重新安排。
AT命令是一個win2000/xp/nt當中的一個命令,然而在我們的入侵當中是一個不可缺少的一項服務,他可以讓程序中有一個程序在一定的時間里自動執行,從而操控計算機,
下面說一下他的用法!
AT
命令安排在特定日期和時間運行命令和程序。
要使用
AT
命令,計劃服務必須已在運行中。
?????????????????????????????
AT
[\\computername]
[
[id]
[/DELETE]
|
/DELETE
[/YES]]??????????
AT
[\\computername]
time
[/INTERACTIVE]
?
[
/EVERY:date[,...]
|
/NEXT:date[,...]]
"command"
\\computername???
指定遠程計算機。
如果省略這個參數,
??????????會計劃在本地計算機上運行命令。??????
id?????????
指定給已計劃命令的識別號。
/delete???????刪除某個已計劃的命令。如果省略
id,
??????????計算機上所有已計劃的命令都會被刪除。
/yes????????
不需要進一步確認時,跟刪除所有作業
??????????的命令一起使用。
time????????
指定運行命令的時間。
/interactive????
允許作業在運行時,與當時登錄的用戶
??????????桌面進行交互。
/every:date[,...]??每個月或每個星期在指定的日期運行命
??????????令。如果省略日期,則默認為在每月的
??????????本日運行。
/next:date[,...]??
指定在下一個指定日期(如,下周四)運
??????????行命令。如果省略日期,則默認為在每
??????????月的本日運行。
"command"??????准備運行的
Windows
NT
命令或批處理
??????????程序。
下面說一下他的幾個用法!!
(Viliosn.exe
是一個程序)
1,如果想讓啟動對方在指定時間里的某個程序,你可在命令行里打入:
At
\\127.0.0.1?23:00
c:\winnt\system32/viliosn.exe
提示:新加了一份作業,
作業id=1
2.讓對方的計算機在每周一和周二的23:00啟動某個程序.那麼你可以打入
At
\\127.0.0.1
23:00
/every:一,二
c:\winnt\system32\viliosn.exe
提示:新加了一份作業,
作業id=2
3.刪除對方計算機上作業id為1的任務
At
\\127.0.0.1
1
/delete
/yes
4.刪除所有的任務
At
\\127.0.0.1
/delete
提示:是否要刪除所有的操作?然後我們打
Y

4. at命令使用事例

l 波特率:115200 bps/s (默認)

l 數據位:8

l 停止位:1

l 奇偶校驗位:無

l 數據流控制:無

2.使用注意事項
l 使用本模塊時,要把外圍所有硬體(串口、電源)都連接上之後,方可上電使用;

l 上電前要把Power Switch 開關打到關閉,接通電源後在打到打開;

l 在關閉或者重起模塊之前,應先把超級終端的連接關閉,否則會有PC假死機現象出現。

3.測試的AT命令集
3.1 ATE
作 用:該命令用來決定DCE是否返回從DTE收到的字元。

value
Description

0
DCE 不返回字元給DTE(預設設置)

1
DCE返回字元給DTE

l 說明:模塊在上電初始化後,默認的是DCE 不返回字元給DTE,在超級終端觀察造成不便,故設定為DCE返回字元給DTE。

執行命令:ATE1<cr>

返 回:OK

3.2 AT+CSQ
作 用:用來讀取當前服務小區的信號強度。

執行命令:AT+CSQ<cr>

返 回:+CSQ: 24,99

OK

3.3 ATD 和 ATH
ATD:用來呼叫遠端用戶。

ATH:用來掛斷所有(可能一個或多個)正在建立的或已經建立的呼叫。

測試如下:

(事例為呼叫13201522550和主動掛斷的全過程)

執行命令:ATD13201522550<cr>

返 回:+SIND: 5,1

+SIND: 2

(此時已經撥通)

執行命令:ATH

返 回:OK

+SIND: 11

3.4 AT+CGATT
作 用:附著(Attach)或去附(detach)GPRS服務。

<state>
描述

0
去附了GPRS服務

1
附著了GPRS服務

執行命令:AT+CGATT=1<cr>

返 回:OK

+SIND: 11

檢測命令:AT+CGATT? <cr>

返 回:+CGATT: 1

OK

3.5 AT+CGDCONT
作 用:MT發送PDP上下文激活消息的時候使用這個命令配置PDP上下文參數。

參數說明:

l 目前我們只支持IP。

l 中國移動為Internet服務的APN為」cmnet」。

執行命令:AT+CGDCONT=1,"IP","CMNET"<cr>

返 回:OK

3.6 AT+SDATARXMD
作 用:接收數據是HEX碼字元串是ACSII碼字元串。

設置命令:AT+SDATARXMD=[<connect_id>,<state>,[<mode>]]

參 數:

<connect_id>:整數;范圍1~10,用於本地標識所建連接

<state>

<state>
描述

0(預設值)
接收數據為按照HEX碼字元串

1
接收數據為按照ACSII碼字元串

<mode>

<state>
描述

0(預設值)
接收UDP數據自動回顯,此時數據仍也可由AT+SDATAREAD讀出

1
接收UDP數據不自動回顯

執行命令:AT+SDATARXMD=1,1,0<cr>

返 回:OK

執行命令:AT+SDATARXMD=1,0,0<cr>

返 回:OK

3.7 AT+CGACT
作 用:激活(activate)或去活(deactive)指定的PDP上下文。

<state>
描述

0
PDP 上下文去活

1
PDP 上下文激活

執行命令:AT+CGACT=1,1<cr>

返 回:OK

3.8 AT+SDATACONF
作 用:設置基於GPRS上通過AT命令發送數據的配置參數。

參數說明:

l 目前支持」UDP」和」TCP」;

l 給定server的ip地址;

l 給定server的port埠號;

情況一:(SERVER關閉)

執行命令:AT+SDATACONF=

1,"TCP","61.185.152.193",2020<cr>

(與SERVER建立連接)

返 回:OK

執行命令:AT+SDATASTART=1,1<cr>

(激活TCP)

返 回:OK

執行命令:AT+SSTRSEND=

1,"FORM SPREADTRUM"<cr>

(發送數據)

返 回:+CME ERROR: 21(遠端伺服器沒有響應)

情況二:(SERVER打開)

執行命令:AT+SDATACONF=

1,"TCP","61.185.152.193",2020<cr>

(61.185.152.193 2020為SERVER的IP和PORT )

返 回:OK

執行命令:AT+SDATASTART=1,1<cr>

返 回:OK

執行命令:AT+SSTRSEND=1,"FROM SPREADTRUM"<cr>

返 回:OK

3.9 AT+SDATASTART
作 用:採用AT+SDATACONF命令配製完參數後啟動GPRS服務

設置命令:AT+SDATASTART=[<connect_id>,<state>]<cr>

<state>
描述

1
激活UDP/TCP連接

0
去活UDP/TCP連接

執行命令:AT+SDATASTART=1,1<cr>

返 回:OK

3.10 AT+SDATASEND
作 用:發送用戶指定的HEX字元串數據。

設置命令:AT+SDATASEND=[<connect_id>,<length><cr>

執行命令:AT+SDATASEND=1,6<cr>

返 回:〉12 34 56 78 90 21 32<ctrl+ Z>

OK

3.11 AT+SSTRSEND
作 用:發送用戶指定的字元串數據。

設置命令:AT+SSTRSEND=[<connect_id>,<data>]

執行命令:AT+SSTRSEND=1,」HELLO EVERYONE」<CR>

返 回:OK

3.12 AT+SDATAREAD
作 用:讀取伺服器發來的數據

設置命令:AT+SDATAREAD=[<connect_id>]

執行命令:AT+SDATAREAD=1<CR>

返 回:+SDATA:1,3,123122

執行命令:AT+SDATAREAD=1<CR>

返 回:+SSTR:1,abcdabcdabcdabcd

3.13 AT+CMGF
作 用:該命令用來讀取或設置短消息的格式.

設置命令:AT+CMGF=<mode><CR>

mode
描述

0
P 模式(預設設置)

1
Text 模式

執行命令:AT+CMGF=1<CR>

返 回:OK

3.14 AT+CMGL
作 用:用來列表不同狀態或所有的短消息。

設置命令:AT+CMGL=<state><CR>

執行命令:AT+CMGL=」ALL」<CR> (顯示所有短消息)

返 回:

+CMGL: 1,0,"REC READ","+8613572211745","05/05/20,20:40:30+00"

1234567890

+CMGL: 2,2,"REC READ","+8613201522550","05/05/21,16:44:10+00"

54C854C8

OK

3.15 AT+CMGR
作 用:用來讀取指定的某條短消息。

設置命令:AT+CMGR=<index><CR>

執行命令:AT+CMGR=1<CR>

返 回:

+CMGR: "REC READ",0,"+8613572211745","05

1234567890

OK

執行命令:AT+CMGR=2<CR>

返 回:

+CMGR: "REC UNREAD",2,"+8613201522550","05/05/21,16:44:10+00"

54C854C8

OK

3.16 AT+CMGS
作 用:用來發送短消息。

如果發送短消息的格式為text (AT+CMGF=1) 模式:

設置命令:AT+CMGS=<da>[,<moresms>]<CR>

> TEXT <ctrl+Z/ESC>

如果發送短消息的格式為PDU (AT+CMGF=0) 模式

設置命令:AT+CMGS=<length><CR>

> PDU <ctrl-z/ESC>

返回:+CMGS: <mr>

OK

執行命令:AT+CMGS=」13201520550」<CR>

返 回:>HELLO<ctrl-z/ESC>

+CMGS: 248

OK

3.17 AT+CSMP
作 用:該命令用來設置或讀取<vp>,<pid>,和<dcs>

設置命令:AT+CSMP=<fo>,<vp>,<pid>,<dcs>

執行命令:AT+CSMP=19,143,0,2<CR>

返 回:OK

3.17 AT+CMGD
作 用:用來刪除一條或所有短消息。

設置命令:AT+CMGD=<index>[, <DelFlag>]

執行命令:AT+CMGD=1

返 回:OK

4.一個完整的短消息接收、發送、刪除的示例
上電後具體操作如下:

(1) AT<CR>

OK

(2) ATE1<CR>

OK

(3) AT+CMGF=1<CR>

OK

(4) AT+CMGL=」ALL」<CR>

+CMGL: 1,0,"REC READ","+8613572211745","05/05/20,20:40:30+00"

1234567890

+CMGL: 2,2,"REC READ","+8613201522550","05/05/21,16:44:10+00"

54C854C8

OK

(5) AT+CMGR=1<CR>

+CMGR: "REC READ",0,"+8613572211745","05

1234567890

OK

(6) AT+CMGR=2<CR>

+CMGR: "REC UNREAD",2,"+8613201522550","05/05/21,16:44:10+00"

54C854C8

OK

(7) AT+CSMP=19,143,0,2<CR>

OK

(8) AT+CMGS="13201522550"<CR>

>HELLO<CR>

+CMGS: 248

OK

(9) AT+CMGD=1<CR>

OK

(10) AT+CMGD=1<CR>

OK

(11) AT+CMGL=」ALL」<CR>

OK

5.GPRS數據傳輸(發送和接收)的一個示例
(1) AT<CR>

OK

(2) ATE1<CR>

OK

(3) AT+CGATT=1<CR>

OK

(4) AT+CGDCONT=1,」IP」,」CMNET」 <CR>

OK

(5) AT+SDATACONF=

1,"TCP","61.185.152.193",2020<cr><CR>

(61.185.152.193 2020為SERVER的IP和PORT )

OK

(6) AT+SDTATSTART=1,1<CR>

OK

(7) AT+SDATARXMD=1,1,0<CR>

OK

(8) AT+SSTRSEND=1,"FROM SPREADTRUM"<CR>

OK

(9) AT+SDATAREAD=1<CR>

+SSTR:1,abcdabcdabcdabcd

OK

(10) AT+SDATARXMD=1,0,0<CR>

OK

(11) AT+SDATASEND=1,6<CR>

>12 34 56 78 90 21 32<ctrl+ Z>

OK

(12) AT+SDATAREAD=1

+SDATA:1,3,123122

OK

5. 詳細介紹下at命令怎麼用

AT命令集的描述

符號 * 表明該命令的設置可用AT&Wn命令存於兩個用戶方案中的一個

A/ 重執行命令

重執行前一AT命令行,主要用於連接時占線,無應答或號碼錯誤。這一命令必須單獨構成一命令行並由"/"字元結束,(<Enter> 不能用於結束命令)。

+++ 退出字元 預設:+

切換數據機從在線狀態到命令狀態,而不會中斷數據連接。可以通過改變S寄存器S2的值來改變這一字元。

AT=x 寫入被選的S寄存器

這一命令將數值x寫入當前被選的S寄存器,一個S寄存器可由ATSn命令選擇,若 x 是一個數字,所有S 寄存器將返回 OK 響應。

AT? 讀被選的S寄存器

這一命令讀並且顯示被選的S寄存器的內容。一個S寄存器可由ATSn命令選擇。

ATA 應答

它必須是命令行中的最後一條指令。數據機在應答方式下繼續執行連接程序。在與遠端數據機交換載波後進入連接狀態,如果在由寄存器S7規定的時間內(預設值=50秒)沒有檢測到載波, 數據機將掛機。在連接過程中,通過DTE輸入的任何一個字母都將中斷這一命令。

ATBn* 選擇ITU-T或Bell模式 預設=0

ATB0 選擇在1200和300bps速率下通訊的ITU-T V.22和V.21協議
ATB1 選擇在1200和300bps速率下通訊的Bell 212A和103協議

ATCn 載波控制預設=1

包含這一命令只是為了保證兼容性,執行號只是返回一結果碼而沒有其它作用。
ATC1 正常傳輸載波切換

ATDn 撥號

它必須是命令行中的最後一條指令, ATD命令使數據機摘機後, 根據輸入的參數撥號,以建立連接。
如果不帶參數,數據機摘機後,不撥號進入發起方式。

使用標點可使命令更易讀懂。圓括弧,連字元和空格符會被忽略。拔號命令行中如果出現了非法字元,則該字元及其後的內容將被忽略。數據機允許的撥號命令長度為36個字元。

參數:0-9 A B C D * # L P T R ! @ W , ; ^ S=n
0-9 DTMF 符號0到9
A-D DTMF 符號A,B,C和D。在一些國家中不使用這些符號
* "星"號(僅用於音頻撥號)
# "#"號(僅用於音頻撥號)
J 為本次呼叫執行在可提供的最高速率下的MNP10鏈路協商(可選)
K 使本次呼叫MNP10鏈路協商期間電源電平可調(可選)
L 重撥上一次撥過的號碼
P 脈沖撥號
T 雙音頻撥號
R 逆叫方式。允許數據機使用應答方式呼叫只能作為發起使用的調制解調 器, 必須作為命令行中的最後一個字元輸入。
! 使數據機按照S29中規定的值掛機一段時間再摘機。
@ 使數據機等待5秒鍾的無聲回答
w 按照寄存器S7中規定的時間,在撥號前等待撥號音。
, 在撥號過程中,按照寄存器S8中規定的時間,暫停
; 撥號後返回命令狀態
^ 打開呼叫音
() 被忽視,用於格式化號碼串
- 被忽視,用於格式化號碼串
<space> 被忽視,用於格式化號碼串
S=n 用AT&Zn 命令存在地址n處的號碼撥號

ATE* 命令回應 預設:1

ATE0 關閉命令回應
ATE1 打開 命令回應

ATHn 摘掛機控制 預設:0

ATH0 使數據機掛機
ATH1 當數據機處於掛機狀態,使數據機摘機,返回響 OK,等待進一步的命令。

ATIn 識別

I0 報告產品代碼
I1 報告ROM中預先計算的校驗和
I2 計算校驗和並與ROM中的校驗和比較,返回"OK"或"ERROR"結果碼
I3 報告固件修正
I4 報告OEM定義的識別串
I5 報告國家代碼參數
I6 報告固件修正
I7 報告數據機數據泵類型

ATLn* 揚聲器音量 預設:2

ATL0 揚聲器低音量
ATL1 揚聲器低音量
ATL2 揚聲器中音量
ATL3 揚聲器高音量

ATMn* 揚聲器控制 預設:1

ATM0 關閉揚聲器
ATM1 揚聲器在呼叫建立握手階段打開至檢測到來自於遠端數據機的載波後關閉
ATM2 揚聲器持續開
ATM3 揚聲器在應答期間打開。當檢測到來自於遠端的數據機的載波和撥號時關閉

ATNn* 調制握手 預設:1

ATN0 要求數據機S37選擇連接速率,若S37=0,則連接速率必須與發出的上一條AT命令的速率相匹配。如果所選擇的速率可用不止一個通訊標准實現(如Bell212A或ITU-T V.22 速率在 1200bps)數據機同時參考ATB 命令選擇。
ATN1 允許時使用雙方數據機都支持的任一速率握手,使能夠自動檢測。在這一方式下,ATB命令被忽視,數據機只用ITU-T方式連接。

ATOn 進入數據在現狀態 預設:0

ATO0 使數據機從命令在現狀態直接返回數據在線狀態,不經過自動均衡。
ATO1 使數據機從命令在現狀態返回數據在狀態,經過自動均衡。

ATP* 設脈沖撥號為預設

ATQn* 結果碼顯示 預設:0

ATQ0 數據機向DTE發送結果碼
ATQ1 禁止數據機向DTE發送結果碼
參閱數據機結果碼一節的詳細說明

ATSn 設S寄存器n為預設寄存器

ATSn? 讀S寄存器

讀S寄存器中的內容,所有的S寄存器都可以讀

ATSn=x 寫入S寄存器

將 x值寫入指定的S寄存器n

ATT* 設音頻拔號為預設

ATVn* 結束碼類型 (消息控制) 預設:1

ATV0 發送短型 (數字型) 結果碼
ATV1 發送長型 (字元型) 結果碼

ATWn* 協商進程報告 預設:0

ATW0 不報告糾錯呼叫進程
ATW1 報告糾錯呼叫進程
ATW2 不報告糾錯呼叫進程,CONNECT xxxx指示DCE速率。

ATXn* 擴展結果碼 預設:4

ATX0 數據機忽視撥號音和忙音。當由盲撥建立連接時,發送CONNECT信息。
ATX1 數據機忽視撥號音和忙音。當由盲撥建立連接時,CONNECT XXXX 反映的是比特速率

ATX2 數據機忽視忙音,但在撥號前等待撥號音,如果5秒鍾內檢測不到撥號音,則發送NO DIAL TONE 信息,連接建立後 發送 CONNECT xxxx反映比特速率。

ATX3 數據機忽視撥號音,若檢測到忙音,發送BUSY信息,當由盲撥建立起連接時, CONNECT XXXX 反映的是比特速率。

ATX4 如果5秒鍾內檢測不到撥號音,發送NO DIAL TONE 訊息,檢測到忙音, 發送BUSY信息。連接建立後發送CONNECT XXXX 反映比特速率。

6. AT指令是什麼

AT
即Attention,AT指令集是從終端設備(Terminal
Equipment,TE)或數據終端設備(Data
Terminal
Equipment,DTE)向終端適配器(Terminal
Adapter,
TA)或數據電路終端設備(Data
Circuit
Terminal
Equipment,DCE)發送的。通過TA,TE發送AT指令來控制移動台(Mobile
Station,MS)的功能,與GSM
網路業務進行交互。用戶可以通過AT指令進行呼叫、簡訊、電話本、數據業務、傳真等方面的控制。90年代初,AT指令僅被用於Modem操作。沒有控制行動電話文本消息的先例,只開發了一種叫SMS
BlockMode的協議,通過終端設備(TE)或電腦來完全控制

7. android怎麼在代碼中執行AT指令

AT指令集是從終端設備(Terminal Equipment,TE)或數據終端設備(Data Terminal Equipment,DTE)向終端適配器(Terminal Adapter,TA)或數據電路終端設備(Data Circuit Terminal Equipment,DCE)發送的。
其對所傳輸的數據包大小有定義:即對於AT指令的發送,除AT兩個字元外,最多可以接收1056個字元的長度(包括最後的空字元)。
每個AT命令行中只能包含一條AT指令;對於由終端設備主動向PC端報告的URC指示或者response響應,也要求一行最多有一個,不允許上報的一行中有多條指示或者響應。AT指令以回車作為結尾,響應或上報以回車換行為結尾。

8. linux命令詳解之at

Linux下,有兩個命令可以用來作為計劃任務而執行,

要使用一次性任務計劃,linux必須要有負責這個計劃任務的服務,那就是atd服務
但是並非所有的linux distribution都默認會打開,我們需要手動激活愛聽的任務

如果服務未安裝,則需要手動安裝
#:yum install - y at 或 #:apt-get install at

如果擔心啟動是否執行OK的話,可使用命令查看:
#:ps aux |grep atd
或者使用
systemctl status atd
# 查閱一下 atd 目前的狀態,Active 狀態應是 running

使用 at 這個指令來產生所要運行的工作,並 將這個工作以文本文件的方式寫入 /var/spool/cron/atjobs/ 目錄內,該工作便能等待 atd 這個服務的取用與執行了。 不過,因為安全的理由,並不是所有的人都可以進行 at 工作調度!
at 的使用限制是利用 /etc/at.allow 與 /etc/at.deny 這兩個文件來進行的! 加上這兩個文件後,at 的工作情況其實是這樣的:

在一般的 distributions 當中,由於假設系統上的所有用戶都是可信任的,因此系統通常會保留一個空的 /etc/at.deny 文件,意思是允 許所有人使用 at 指令的意思 (您可以自行檢查一下該文件)。 不過,萬一你不希望有某些 使用者使用 at 的話,將那個使用者的帳號寫入 /etc/at.deny 即可! 一個帳號寫一行。

單一工作調度的進行就使用 at 這個指令!這個指令的運行非常簡單!將 at 加上一個時間即可!基本的語法如下:

事實上,當我們使用 at 時會進入一個 at shell 的環境來讓使用者下達工作指令,此時,建議 你最好使用絕對路徑來下達你的指令,比較不會有問題!由於指令的下達與 PATH 變數有關, 同時與當時的工作目錄也有關連 (如果有牽涉到文件的話),因此使用絕對路徑來下達 指令,會是比較一勞永逸的方法。 舉例來說,你在 /tmp 下達 at now 然後輸入 mail -s "test" root < .bashrc , 問一下,那個 .bashrc 的文件會是在哪裡?答案是 /tmp/.bashrc !因為 at 在運行時,會跑到當時下達 at 指令的那個工作目錄運行!

要注意的是,如果在 at shell 內的指令並沒有任何的訊息輸出,那麼 at 默認不會發 email 給執行者的。 如果你想要讓 at 無論如何都發一封 email 告知你是否執行了指令,那麼 可以使用「 at -m 時間格式 」來下達指令! at 就會傳送一個訊息給執行者,而不論該指令執行有無訊息輸出了!

如果要在某某時刻,在我的終端機顯示出 Hello 的字樣,可以通過終端機的設備來處理!假如你在 tty1 登陸(在命令行裡面輸入 tty 可以查看),則可以使用 echo "Hello" > /dev/tty1 。

at 有另外一個很棒的優點, 由於 at 工作調度的使用上,系統會將該項 at 工作獨立出你的 bash 環境中, 直接交給系統的 atd 程序來接管,因此,當你下達了 at 的工作之後就可以立刻離線了, 剩下的工作就完全交 給 Linux 管理即可!所以如果有長時間的網路工作時,使用 at 可以讓你免除網路斷線後的困擾。

其實 batch 是利用 at 來進行指令的下達!只是加入一些控制參數而已。這個 batch 神奇的地方在於:他會在 CPU 的工作負載小於 0.8 的時候,才進行你所下達的工作任務啦!

那什麼是工作負載 0.8 呢?這個工作負載的意思是: CPU 在單一時間點所負責的工作數量。不是CPU 的使用率喔! 舉例來說,如果我有一隻程序他需要一直使用 CPU 的運算功能,那麼此 時 CPU 的使用率可能到達 100% , 但是 CPU 的工作負載則是趨近於「 1 」,因為 CPU 僅負責一個工作!如果同時執行這樣的程序兩支呢? CPU 的使用率還是 100% ,但是工作負載 則變成 2 了! 所以也就是說,當 CPU 的工作負載越大,代表 CPU 必須要在不同的工作之間進行頻繁的工 作切換。 因為一直切換 工作,所以會導致系統忙碌啊! 系統如果很忙碌,還要額外進行 at ,不太合理!所以才有 batch 指令的產生!

下面來實驗一下 batch 好了!為了產生 CPU 較高的工作負載,我們用了 計算 pi 的腳本,連續執行 4 次這只程序, 來模擬高負載,然後看看batch 的工作現象。

使用 uptime 可以觀察到 1, 5, 15 分鍾的「平均工作負載」量,因為是平均值,所以當我們如上 表刪除掉四個工作後,工作負載不會立即降低, 需要一小段時間讓這個 1 分鍾平均值慢慢回 復到接近 0 啊!當小於 0.8 之後的「整分鍾時間」時,atd 就會將 batch 的工作執行掉了!
什麼是「整分鍾時間」呢?不論是 at 還是 crontab,他們最小的時間單位是「分 鍾」,所以,基本上,他們的工作是「每分鍾檢查一次」來處理的! 就是整分 (秒為 0 的時候),同時,你會發現其實 batch 也是使用 atq/atrm 來管理的!

9. linux中at命令

at命令
at:計劃任務,在特定的時間執行某項工作,在特定的時間執行一次。
格式:at+時間
例1:date //查看系統當前時間
at 時間 //系統計劃啟動任務時間
at> date >/root/1.txt //date:系統計劃啟動任務時間執行date命令;/root/1.txt執行命令寫入位

置和文件
ctrl+d退出 //退出at命令
例2:date //查看系統當前時間
at 時間 //系統計劃啟動任務時間
at> init 0 /root/2.txt //init 0:系統計劃啟動任務時間執行init 0(關機)命令;/root/2.txt執

行命令寫入位置和文件

例3:在固定時間內添加一個用戶(這時建立的用戶沒有密碼)
#at 12:00(時間) //at命令設定12:00執行一項操作
at>useradd aaa //在at命令里設定添加用戶aaa
ctrl+d //退出at命令
tail -f /etc/passwd //查看/etc/passwd文件後十行是否增加了一個用戶aaa

計劃任務結束後,查看任務是否寫入文件中,可以用cat或vi命令查看。
格式:cat(vi)+(路徑)文件名
例1:cat(vi) 1.txt
日 2月 6 09:21:28 CST 2005
計劃任務設定後,在沒有執行之前我們可以用atq命令來查看系統沒有執行工作任務。
格式:atq
例:atq
1 2005-02-06 09:23 a root

啟動計劃任務後,如果不想啟動設定好的計劃任務可以使用atrm命令刪除。
格式:atrm+任務號
例:atrm 1 //刪除計劃任務1
atq //查看計劃任務是否刪除

還可以進入到/var/spool/at目錄里把計劃任務刪除,計劃任務的文件都保存在該目錄里,可以用rm -f

文件名來刪除(以文件的形式刪除計劃任務,因為計劃任務是以文件形式保存在該目錄中)
例:#cd /var/spool/at //進入到/var/spool/at目錄中
ls //顯示目錄中所有文件
rm -f a0000a0119b0df //刪除計劃任務

在通常情況下,超級用戶都可以使用這個命令。對於其他用戶來說,能否可以使用就取決於兩個文

件:/etc/at.allow和/etc/at.deny。
當「用戶名」寫入/etc/at.deny中,用戶不能執行at命令(管理員限制用戶使用at命令)。
例:useradd text //新建一個text用戶
ls /etc/at.deny //查看at.deny文件內容
vi /etc/at.deny //對at.deny文件進行編輯
text //對at.deny文件進行編輯,寫入text用戶名,進行at命令限制,然後wq(保存退出)
cat /etc/at.deny //顯示at.deny文件內容
su - text //切換到text用戶
at 12:00 //text用戶執行at命令,如果被限制則出現下面的提示。
You do not have permission to use at.你不允許使用at這個命令

at.allow比at.deny優先順序高
at.allow文件中有的用戶可以執行at,沒有則不能。
linux操作系統在執行用戶是否可以執行at命令時,先看at.allow文件沒有才看at.deny文件。
注意:linux操作系統默認沒有/etc/at.allow文件。
例:ls /etc/at.allow //查看是否已經建立at.allow文件
touch /etc/at.allow //建立/etc/at.allow文件
vi /etc/at.allow //對at.allow文件進行編輯
text //對at.allow文件進行編輯,寫入text用戶名,該用戶名可以執行at命令,然後wq(保存退出)。
su - text //切換到text用戶
at 12:00 //text用戶執行at命令,若不出現上面所說的提示就可以進行at命令設定了。

at命令格式
at HH:MM YYYY-MM-DD //HH(小時):MM(分鍾) YYYY(年)-MM(月份)-DD(日)
例:at 4:00 2004-11-27
HH[am pm]+D(天) days //HH(小時)[am(上午)pm(下午)]+days(天)
例:4pm + 3days :3天以後下午4:00執行at命令設定的計劃任務。

10. linux.at 命令怎麼用

一次性定時計劃任務的at命令的用法!
1.命令格式:
at[參數][時間]
2.命令功能:
在一個指定的時間執行一個指定任務,只能執行一次,且需要開啟atd進程(
ps -ef | grep atd查看, 開啟用/etc/init.d/atd start or restart; 開機即啟動則需要運行 chkconfig --level 2345 atd on)。
3.命令參數:
-m 當指定的任務被完成之後,將給用戶發送郵件,即使沒有標准輸出
-I atq的別名
-d atrm的別名
-v 顯示任務將被執行的時間
-c 列印任務的內容到標准輸出
-V 顯示版本信息
-q<列隊> 使用指定的列隊
-f<文件> 從指定文件讀入任務而不是從標准輸入讀入
-t<時間參數> 以時間參數的形式提交要運行的任務 《Linux就該這么學》
使用實例:
實例1:三天後的下午 5 點鍾執行 /bin/ls
命令:
at 5pm+3 days
輸出:
[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 7 at 2013-01-08 17:00
[root@localhost ~]#
說明:
實例2:明天17點鍾,輸出時間到指定文件內
命令:
at 17:20 tomorrow
輸出:
[root@localhost ~]# at 17:20 tomorrow
at> date >/root/2013.log
at> <EOT>
job 8 at 2013-01-06 17:20

閱讀全文

與執行命令at相關的資料

熱點內容
湛江中文編程數控系統代理 瀏覽:409
openglandroid書 瀏覽:170
奇妙組件安卓版叫什麼 瀏覽:729
微信授權什麼app權重最高 瀏覽:11
php循環數組foreach 瀏覽:78
zip和app有什麼區別 瀏覽:633
乖法快速演算法 瀏覽:871
日本程序員一年工資 瀏覽:199
出國做程序員怎麼樣 瀏覽:735
rar鎖定壓縮文件 瀏覽:871
安卓id號碼怎麼更換 瀏覽:524
db2如何連接伺服器資料庫 瀏覽:630
wordtopdf轉換 瀏覽:840
雲伺服器在哪設置ftp 瀏覽:622
黑客社會工程學攻擊pdf 瀏覽:998
專業中穎單片機程序開發 瀏覽:426
python多進程多線程實例 瀏覽:639
山東濟南生產伺服器雲主機 瀏覽:310
演算法員跳槽四年 瀏覽:730
秦九昭演算法v0怎麼求 瀏覽:384