atq命令用于列出当前系统中所有已提交但尚未执行的at一次性任务,直接读取/var/spool/at/队列,支持按用户筛选(-u)、列对齐(column -t)和时间排序(sort -k2,3),权限受用户身份限制。

atq 命令用于列出当前系统中所有已提交但尚未执行的 at 一次性任务,它直接读取系统后台的 at 队列(通常位于 /var/spool/at/),无需额外参数即可快速查看。
基础用法:直接运行 atq
在终端中输入:
atq
输出示例:
12345 2024-05-20 14:30 a username12346 2024-05-21 09:00 a username
每行包含任务编号、执行时间、队列标识(通常是 a)和提交用户。这是最常用、最快速的方式。
按用户筛选任务列表
若只想查看某个用户的待执行任务(需有权限,普通用户只能看自己的,root 可看全部):
atq -u username
例如:atq -u alice 显示用户 alice 提交的所有排队任务。
结合其他命令增强可读性
默认输出时间格式较紧凑,可用以下方式提升可读性:
-
atq | column -t—— 对齐列,便于阅读 -
atq | sort -k2,3—— 按执行日期时间排序(第二、三列为年月日和时分)
注意权限与常见限制
atq 的可见范围取决于当前用户身份:
- 普通用户只能看到自己提交的任务
- root 用户可看到全部任务
- 若提示
at: no at jobs或无输出,说明当前无排队任务 - 某些系统可能禁用了 at 服务(检查
systemctl is-active atd)











