Skip to content

sleep command in Linux

The Linux sleep command is used to pause the execution of a shell script for a specified amount of time. It is a handy utility for introducing delays in scripts or commands. By using the sleep command, you can schedule tasks, control the flow of a script, or wait for certain conditions to be met. The syntax is simple, specifying the number of seconds or another time format to sleep. This command is particularly useful in automation scripts, batch processing, and scheduling tasks.

Terminal window
sleep [OPTION] NUMBER[SUFFIX]...
OptionDescription
-sUse the specified time
—helpDisplay help for sleep command
ParameterDescription
NUMBERThe number of SUFFIXes to wait
SUFFIXOptional unit of time (s for seconds, m for minutes)
Terminal window
sleep 5

Pauses the execution for 5 seconds.

Terminal window
sleep 60

Delays the execution for 1 minute.

Terminal window
sleep 3h

Pauses the execution for 3 hours.

Terminal window
sleep 30m

Introduces a 30-minute delay in the execution.

Terminal window
sleep 10s

Pauses the script execution for 10 seconds.

Pause for a Custom Time: 2 Hours and 30 Minutes

Section titled “Pause for a Custom Time: 2 Hours and 30 Minutes”
Terminal window
sleep 2h30m

Waits for 2 hours and 30 minutes before proceeding.

Sleep Command in a For Loop for 1 Second Each Iteration

Section titled “Sleep Command in a For Loop for 1 Second Each Iteration”
Terminal window
for i in {1..5}; do echo "Iteration $i"; sleep 1; done

Uses the sleep command within a for loop to pause for 1 second on each iteration.

Combine Sleep Commands to Create a Sequence of Delays

Section titled “Combine Sleep Commands to Create a Sequence of Delays”
Terminal window
sleep 2 && echo "First message" && sleep 3 && echo "Second message"

Utilizes multiple sleep commands to create a sequence of delays between displaying messages.

To use the sleep command in Linux, execute the following command:

Terminal window
sleep <seconds>

What is the purpose of the sleep command in Linux?

Section titled “What is the purpose of the sleep command in Linux?”

The sleep command is used in Linux to delay the execution of the next command for a specified amount of time.

Can I use fractions of a second with the sleep command?

Section titled “Can I use fractions of a second with the sleep command?”

Yes, you can use fractions of a second with the sleep command by specifying a decimal value for the number of seconds.

Terminal window
sleep 0.5

How can I make a script pause for 2 minutes using the sleep command?

Section titled “How can I make a script pause for 2 minutes using the sleep command?”

To pause a script for 2 minutes (120 seconds), you can use the sleep command as follows:

Terminal window
sleep 120

Is it possible to combine multiple sleep commands in a script?

Section titled “Is it possible to combine multiple sleep commands in a script?”

Yes, you can combine multiple sleep commands in a script to introduce delays at different points.

Terminal window
sleep 5 && echo "Waited for 5 seconds" && sleep 3 && echo "Waited for additional 3 seconds"

Can I cancel a sleep command that is running?

Section titled “Can I cancel a sleep command that is running?”

If a sleep command is running, you can interrupt it by pressing Ctrl + C in the terminal where the command is executing.

How can I use the sleep command to increment a counter in a bash script?

Section titled “How can I use the sleep command to increment a counter in a bash script?”

You can use the sleep command along with a loop in a bash script to increment a counter at specified intervals.

Terminal window
count=0
while true; do
echo $count
count=$((count+1))
sleep 1
done

You can make the sleep command silent by redirecting the standard output (stdout) to /dev/null.

Terminal window
sleep 2 > /dev/null

How can I pause a script until a specific time using the sleep command?

Section titled “How can I pause a script until a specific time using the sleep command?”

To pause a script until a specific time, you can calculate the difference between the current time and the target time in seconds, and then use the sleep command with that value.

Terminal window
now=$(date +%s)
target=$(date -d '15:30' +%s)
sleep $((target-now))
  • Delay the execution of a script or command
  • Schedule tasks in a script
  • Control the timing of processes
  • Simulate slow processing or demonstrate time delays in shell scripts