The at command schedules a one-time job to run at a specific time in the future.
Click to reveal answer
beginner
How do you schedule a command to run at 3:30 PM today using at?
Run at 15:30, then enter the commands you want to run, and press Ctrl+D to save.
Click to reveal answer
beginner
How can you list all pending jobs scheduled with at?
Use the command atq to see all pending at jobs for the current user.
Click to reveal answer
beginner
How do you remove a scheduled at job?
Use atrm job_number where job_number is the ID from atq.
Click to reveal answer
intermediate
What happens if you schedule an at job but the system is off at the scheduled time?
The job will not run because at does not run missed jobs after reboot.
Click to reveal answer
Which command schedules a one-time job to run at 10:00 PM today?
Aat 22:00
Bcron 22:00
Cbatch 22:00
Dschedule 22:00
✗ Incorrect
The at command schedules one-time jobs; at 22:00 sets a job for 10 PM.
How do you view the list of pending at jobs?
Aatq
Bcrontab -l
Cjobs
Dls /etc/at.d
✗ Incorrect
atq lists pending at jobs for the current user.
What key combination do you press to finish entering commands in an at session?
ACtrl+C
BCtrl+X
CCtrl+D
DCtrl+Z
✗ Incorrect
Pressing Ctrl+D signals end-of-input to save the job.
If you want to cancel a scheduled at job, which command do you use?
Aatstop job_number
Batcancel job_number
Catdel job_number
Datrm job_number
✗ Incorrect
atrm job_number removes the scheduled at job.
Which of these is NOT true about the at command?
AIt schedules one-time jobs.
BIt runs missed jobs after reboot.
CIt uses a simple time format like 'now + 1 hour'.
DIt requires the <code>atd</code> daemon to be running.
✗ Incorrect
at does NOT run missed jobs after reboot; jobs are lost if the system is off.
Explain how to schedule a one-time job using the at command and how to check if it is scheduled.
Think about the steps from scheduling to verifying.
You got /4 concepts.
Describe how to remove a scheduled job with the at command and why you might want to do this.
Focus on job management commands.
You got /3 concepts.
Practice
(1/5)
1. What is the primary purpose of the at command in Linux?
easy
A. To list all running processes
B. To schedule a one-time job to run at a specific time
C. To monitor system resource usage continuously
D. To create a recurring job every day
Solution
Step 1: Understand the at command function
The at command is designed to schedule commands or scripts to run once at a specified future time.
Step 2: Compare with other options
Options A, C, and D describe other commands or functionalities unrelated to at. For example, listing processes is done by ps, monitoring resources by top, and recurring jobs by cron.
Final Answer:
To schedule a one-time job to run at a specific time -> Option B
Quick Check:
at schedules one-time jobs = B [OK]
Hint: Remember: at is for one-time future tasks [OK]
Common Mistakes:
Confusing at with cron for recurring jobs
Thinking at lists running processes
Assuming at monitors system resources
2. Which of the following is the correct syntax to schedule a job at 3:30 PM using the at command?
easy
A. at 3-30
B. at 3.30pm
C. at 15:30pm
D. at 3:30pm
Solution
Step 1: Identify valid time format for at
The at command accepts time in formats like HH:MMam or HH:MMpm. So 3:30pm is valid.
Step 2: Check other options for syntax errors
B: at 3.30pm uses dot instead of colon, invalid. C: at 15:30pm mixes 24-hour format with pm, invalid. D: at 3-30 uses dash instead of colon, invalid.
Final Answer:
at 3:30pm -> Option D
Quick Check:
Correct at time format = A [OK]
Hint: Use colon and am/pm for time with at [OK]
Common Mistakes:
Using dot or dash instead of colon in time
Omitting am/pm in 12-hour format
Confusing 24-hour and 12-hour formats
3. What will be the output of the following commands sequence?
echo "echo Hello World" | at now + 1 minute
sleep 70
atq
medium
A. No jobs listed because the job already ran
B. Shows an error because at cannot read from pipe
C. Lists the scheduled job with its job number
D. Prints 'Hello World' immediately
Solution
Step 1: Understand the job scheduling and timing
The command schedules a job to run 1 minute from now that prints 'Hello World'. Then the script waits 70 seconds (more than 1 minute), so the job runs during sleep.
Step 2: Check the atq output after sleep
Since the job already executed, atq will show no pending jobs.
Final Answer:
No jobs listed because the job already ran -> Option A
Quick Check:
Job runs after 1 min, sleep 70s, then atq empty = C [OK]
Hint: Wait past scheduled time, then atq shows no jobs [OK]
Common Mistakes:
Expecting atq to list completed jobs
Thinking at cannot read from pipe
Assuming immediate output from scheduled job
4. You tried to schedule a job with at 25:00 but got an error. What is the likely cause and how to fix it?
medium
A. You must run at as root user
B. Missing command after at; add a command
C. Invalid hour; use a valid 24-hour time like 23:00
D. The at daemon is not installed
Solution
Step 1: Identify the error cause
The hour 25 is invalid because valid 24-hour times range from 00 to 23.
Step 2: Correct the time format
Use a valid time like 23:00 or a 12-hour format with am/pm.
Final Answer:
Invalid hour; use a valid 24-hour time like 23:00 -> Option C
Quick Check:
Hour must be 0-23 in at time = A [OK]
Hint: Hours must be 0-23 in 24-hour format for at [OK]
Common Mistakes:
Using invalid hour values above 23
Assuming at needs root for scheduling
Confusing missing command error with time format error
5. You want to schedule a script /home/user/backup.sh to run once at 11:45 PM today and then remove it from the queue after scheduling. Which sequence of commands achieves this correctly?
hard
A. echo "/home/user/backup.sh" | at 11:45pm && atrm $(atq | awk '{print $1}')
B. at 11:45pm < /home/user/backup.sh && atrm $(atq | awk '{print $1}')
C. at 11:45pm <<< "/home/user/backup.sh" && atrm $(atq | awk '{print $1}')
D. echo "/home/user/backup.sh" | at 11:45pm && atq && atrm $(atq | awk '{print $1}')
Solution
Step 1: Schedule the script using echo piped to at
This schedules the command to run at 11:45pm by piping the script path as a command.
Step 2: Remove the job from the queue immediately after scheduling
Use atrm with the job number obtained from atq. echo "/home/user/backup.sh" | at 11:45pm && atrm $(atq | awk '{print $1}') correctly schedules and then removes the job.
Final Answer:
echo "/home/user/backup.sh" | at 11:45pm && atrm $(atq | awk '{print $1}') -> Option A
Quick Check:
Pipe command to at, then remove job = D [OK]
Hint: Pipe command to at, then remove job with atrm [OK]
Common Mistakes:
Using input redirection with script file instead of command
Removing job before it is scheduled
Confusing atq output format for job ID
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.