linux 下at命令详解
时间: 2023-07-03 19:11:21 浏览: 121
"at" 命令是在 Linux 操作系统中用于一次性运行指定命令或脚本的工具。它允许用户在指定的时间运行一次性任务,而不需要在任务执行前一直等待。以下是关于 "at" 命令更详细的说明:
1. 安装 "at" 命令
在大多数 Linux 发行版中, "at" 命令已经默认安装。如果你的系统上没有安装 "at" 命令,可以使用以下命令安装:
```
sudo apt-get install at
```
2. 使用 "at" 命令
a. 指定任务执行时间
"at" 命令需要指定任务执行时间,并且可以使用类似于 crontab 的语法来指定时间。例如,可以使用以下命令在 10 分钟后运行一个脚本:
```
at now + 10 minutes
```
b. 输入要执行的命令或脚本
然后在终端中输入要执行的命令或脚本,按下 Ctrl+D 键保存并退出即可。任务将在指定的时间运行。如果你想在任务执行前查看任务列表,可以使用以下命令:
```
atq
```
c. 删除任务
如果你想删除某个任务,可以使用以下命令,其中 "job_number" 是任务 ID:
```
atrm job_number
```
3. "at" 命令的其他用法
a. 指定执行时间的格式
"at" 命令支持多种时间格式,包括 "HH:MM"、"midnight"、"noon"、"teatime" 等等。例如,以下命令将在下午 3 点执行任务:
```
at 3pm
```
b. 指定任务输出
默认情况下,任务的输出将通过邮件发送给当前用户。如果你想将输出重定向到文件中,可以使用以下命令:
```
at -m -f script.sh now + 10 minutes > output.txt 2>&1
```
其中 "-m" 选项指定将输出发送到邮件中,"-f" 选项指定要运行的脚本文件,"> output.txt 2>&1" 语句将输出重定向到文件中。
c. 指定任务执行用户
默认情况下,任务将以当前用户的身份运行。如果你想指定其他用户运行任务,可以使用以下命令:
```
sudo at -f script.sh now + 10 minutes -m -l other_user
```
其中 "-l" 选项指定要运行任务的用户。
阅读全文