歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix資訊 >> Unix at命令知識講解

Unix at命令知識講解

日期:2017/3/6 11:39:08   编辑:Unix資訊

與cron不同,Unix at命令用於在一定的時間後或在一定的時刻執行設置好的命令。Unix at命令使用一個時間參數表示何時執行命令,然後就從標准輸入中讀入要執行的命令,此時就如同在shell下操作一樣輸入要執行的命令,最後使用^D 退出輸入命令的模式。

用戶不必擔心真正執行命令時是否能夠找到正確的程序,at會將當前shell的設置,包括環境變量,保留起來,以便在執行命令時創造一個與啟動at時完全相同的執行環境。

  1. $ at 1:00am +2days
  2. wgetftp://ftp.cdrom.com/pub/FreeBSD/packages/All/netscape.tgz
  3. ^D

上面命令將在兩天後的凌晨1:00時啟動進程下載文件,當然Unix at命令並不是十分精確,其執行時間只是表示大概時間,可能與標准時間存在一兩分鐘的差異。at也支持各種復雜的時間表示方法,可以使用hhmm,hh:mm,或者加上am或pm結尾的12小時制方式。還可以使用年月日,規定程序運行的日期:

  1. $ at 1:00am Mar 5
  2. echo Hello | mail root
  3. ^D
  4. Job 5 will be executed using /bin/sh
  5. $ atq
  6. Date Owner Queue Job#
  7. 01時00分00秒 00/03/05 root c 5
  8. $ atrm 5

用戶的at程序執行結果也被系統郵寄給該用戶,用戶可以使用mail來查看程序的輸出結果或執行錯誤。當用戶啟動at命令之後,可以使用atq命令來查看自己還沒有執行的Unix at命令,如果atq是由root執行,則將列出系統中所有沒有執行的Unix at命令。然後可以使用atrm命令根據atq輸出Job號來刪除at作業。

系統使用/var/at/at.allow和/var/at/at.deny文件來配置可以使用Unix at命令的用戶,和不可以使用at命令的用戶。其中at.allow的優先權更高,如果存在at.allow,就只允許這個文件中列出的用戶使用at,而不考慮任何不在這個文件中列出的用戶。

因此可以使用一個空at.allow文件禁止所有用戶使用at。當不存在at.allow文件的時候,那麼凡不在at.deny文件中列出的用戶都可以使用at。

Copyright © Linux教程網 All Rights Reserved